Sei sulla pagina 1di 19

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

Conceptos de Sistemas Operativos. ..................................................................... 1-2


1.1

Caractersticas de un sistema operativo....................................................................1-3

1.2

Funciones de los Sistemas Operativos. ......................................................................1-3

1.3

Evolucin histrica de los Sistemas Operativos .......................................................1-4

1.4

MODOS DE EXPLOTACIN DEL SISTEMA OPERATIVO .............................1-7


1.4.1 Procesamiento por lotes.....................................................................................................1-7
1.4.2 Procesamiento en tiempo real............................................................................................1-8

1.5

Tipos de Sistemas Operativos. ...................................................................................1-8


1.5.1 Sistemas Operativos por su estructura (visin interna)......................................................1-9
Estructura Monoltica .......................................................................................................1-9
Estructura Jerrquica (Niveles) ........................................................................................1-9
Mquina Virtual .............................................................................................................1-11
Cliente Servidor..............................................................................................................1-12
1.5.2 Sistemas Operativos por los Servicios que ofrecen. ........................................................1-13
Por el nmero de usuarios ..............................................................................................1-14
Por el nmero de tareas ..................................................................................................1-14
Por el nmero de procesadores.......................................................................................1-15
1.5.3 Sistemas Operativos por la Forma de Ofrecer sus Servicios ...........................................1-16
Sistemas Operativos de Red. ..........................................................................................1-16
Sistemas Operativos distribuidos....................................................................................1-17
1.5.4 Por el tiempo de respuesta ...............................................................................................1-17
Procesamiento por lotes..................................................................................................1-17
Tiempo compartido ........................................................................................................1-17
Tiempo real ....................................................................................................................1-18
1.5.5 Por su disponibilidad .......................................................................................................1-19
PROPIETARIOS............................................................................................................1-19
LIBRES ..........................................................................................................................1-19

1-1

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

1 Conceptos de Sistemas Operativos.


El ordenador es un sistema programable formado por un conjunto de elementos hardware
que necesitan instrucciones que le indiquen cmo utilizar los recursos. El conjunto de
instrucciones o programas es lo que conocemos como soporte lgico o software. Un
ordenador, sin software que lo programe, es bsicamente un bloque de metal intil, pero
con el software puede almacenar, procesar y obtener informacin, editar textos, controlar el
entorno, etc.
Sin duda alguna, la utilizacin de los recursos mediante programas es muy complicada,
puesto que cada dispositivo es diferente y con gran cantidad de caractersticas a controlar.
Por ello, una de las primeras acciones a llevar a cabo es el diseo y codificacin del
software que nos facilite el manejo de estos recursos, evitando, en lo posible, que debamos
poseer profundos conocimientos del hardware, cedindole esta tarea a un reducido nmero
de profesionales que sern los que construyan dicho software. Una vez realizado este
esfuerzo de diseo, cabe pensar porqu no se completa un poco ms con el fin de dotar a
los usuarios de unas cuantas funciones adicionales, que no slo faciliten el uso de estos
recursos, sino que adems los potencien lo ms posible. Pues bien, este software as
diseado, cuya finalidad es gestionar adecuadamente los recursos para que realicen el
trabajo que se les ha encomendado, y que, adems, potencien las funciones de los
mismos, es lo que denominaremos sistema operativo, pudindolo definir como:
Un conjunto de programas de computadora diseados especialmente para cubrir los
siguientes objetivos:

Servir como interfaz entre el equipo fsico (hardware) de una computadora y el usuario,
con el fin de presentar una "cara" ms sencilla y amistosa al mismo, en el cual el
usuario pueda ejecutar programas. El objetivo principal de un sistema operativo es
lograr que el sistema de computacin se use de manera cmoda, y el objetivo
secundario es que el hardware del computador se emplee de manera eficiente y

Optimizar los recursos (tanto de software como de hardware) con que cuenta una
computadora y hacer utilizable sta ltima.

Desde el punto de vista del usuario, el sistema operativo consiste en una serie de
programas y funciones que ocultan los detalles del hardware, ofrecindole una va sencilla
y flexible de acceso al mismo, teniendo dos objetivos fundamentales:
Seguridad: El sistema operativo debe actuar contra cualquier manipulacin extraa, ya
sea accidental o premeditada que pudiera daar la informacin, perjudicar a otros usuarios
o provocar un funcionamiento indeseado del sistema. Por ejemplo, hay ciertas
instrucciones que pueden parar la mquina y otras que realizan operaciones directamente
sobre el hardware, que debemos evitar que se utilicen directamente por los programas.
Para ello, algunos sistemas proporcionan dos estados, llamados estado protegido (Sistema
o Kernel), en el cual se ejecuta el sistema operativo, y estado no protegido (Usuario o
User), que es el destinado a la ejecucin de los programas de usuario y de aplicacin. De
esta manera se impide que los programas de los usuarios puedan tener contacto directo
con el hardware, o puedan forzar un incorrecto funcionamiento del sistema.
Abstraccin: La tendencia actual del software y
de los lenguajes de programacin es ocultar lo
ms posible los detalles de ms bajo nivel,
intentando dar a los niveles superiores una visin
ms sencilla, global y abstracta, ofrecindoles
operaciones para manipular dichas estructuras
1-2

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

ocultas, desconociendo por completo la gestin interna de las mismas. Sobre estas
estructuras se construyen otras que abstraen a las anteriores, y as sucesivamente.
Gracias a la abstraccin, los sistemas operativos enmascaran los recursos fsicos,
permitiendo su manejo con funciones ms generales que ocultan las bsicas,
constituyendo verdaderos recursos ficticios o virtuales, que mejoran y son ms potentes
que los fsicos. Desde el punto de vista de un programa o usuario, la mquina fsica se
convierte, gracias al sistema operativo, en una mquina virtual, tambin conocida como
mquina extendida, que presenta la ventaja respecto a la fsica de ofrecer ms funciones
de las que normalmente soportara esta ltima. Desde el punto de vista del usuario, el
sistema operativo proporciona servicios que no estn presentes en la mquina subyacente.
Estos servicios incluyen las facilidades de carga y ejecucin de programas, interaccin
entre el usuario y los programas, permitiendo que se ejecuten varios al mismo tiempo,
gestin de la contabilidad para facturar los servicios y almacenamiento de datos y
programas.
Como resumen, podemos decir que el sistema operativo persigue alcanzar la mayor
eficiencia posible del hardware y facilitar el uso del mismo a los usuarios y a las
aplicaciones.

1.1 CARACTERSTICAS DE UN SISTEMA OPERATIVO


Las caractersticas deseables ms importantes de un sistema operativo son:

Permitir la concurrencia de procesos, traslapndose el tiempo de entrada/salida (E/S)


con el de clculo y ocupando la memoria con varios programas.

Posibilitar la ejecucin de cualquier proceso en el momento que se solicite siempre y


cuando haya suficientes recursos libres para l.

Ser eficiente en cuanto a reducir: el tiempo medio que ocupa cada trabajo, el tiempo que
no se usa la CPU, el tiempo de respuesta en sistemas multiacceso y el plazo entre dos
asignaciones de CPU a un mismo programa.

Ser eficiente en cuanto a aumentar la utilizacin de recursos en general, tales como


memoria, procesadores, dispositivos de E/S, discos magnticos, datos, etc.

Ser fiable, es decir, un sistema operativo no debe tener errores y debe prever todas las
posibles situaciones.

Ser de tamao pequeo.

Posibilitar y facilitar en lo posible el "dilogo" entre computadora y usuario de la misma.

Permitir compartir entre varios usuarios los recursos de hardware con que cuenta una
computadora.

Permitir a los usuarios compartir datos entre ellos, en caso necesario.

Facilitar la E/S de los diferentes dispositivos conectados a una computadora.

1.2 FUNCIONES DE LOS SISTEMAS OPERATIVOS.


Las funciones de los sistemas operativos son diversas y han ido evolucionando de acuerdo
1-3

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

con los progresos que la tcnica y la informtica han experimentado. Como principales
funciones, podramos enumerar las siguientes:
Gestin de procesos. Hay que diferenciar entre los conceptos programa y proceso. Un
programa es un ente pasivo, que cuando se carga en memoria y comienza a ejecutarse,
puede originar una gran cantidad de procesos.
Gestin de la memoria. La gestin de memoria, suele ir asociada a la gestin de
procesos. Para ejecutar un proceso es necesario asignarle unas direcciones de memoria
exclusivas para l y cargarlo en ellas, cuando el proceso finalice su ejecucin es necesario
liberar las direcciones de memoria que estaba usando.
Gestin de ficheros. Un fichero es una abstraccin para definir una coleccin de
informacin no voltil. Su objetivo es proporcionar un modelo de trabajo sencillo con la
informacin almacenada en los dispositivos de almacenamiento. Estos ficheros deben
tener espacio asignado en los dispositivos, deben estar protegidos entre ellos, deben
organizarse segn unos determinados esquemas todo esto es la gestin de ficheros.
Gestin de los dispositivos de E/S. La gestin de la E/S tiene como objetivo proporcionar
una interfaz de alto nivel de los dispositivos de E/S sencilla de utilizar. En algunos sistemas
esta interfaz es semejante a la de los ficheros (Linux).
Gestin de la red. El sistema operativo es el encargado de gestionar los distintos niveles
de red, los drivers (manejadores) de los dispositivos involucrados en la red, los protocolos
de comunicacin, las aplicaciones de red, etc.
Proteccin y seguridad. Mecanismos para permitir o denegar el acceso a los usuarios y a
sus procesos a determinados recursos (ficheros, dispositivos de E/S, red, etc.).
Para comprender mejor porqu existen dichas funciones y cules son sus objetivos, las
iremos estudiando mientras hacemos un breve recorrido a travs de la meterica historia
de los ordenadores y la informtica. Los objetivos fundamentales de los sistemas
operativos respecto a conseguir la mayor eficiencia y facilidad de uso posibles, no son
siempre compatibles, ya que cualquier sistema que deba ser eficiente, normalmente no
ser fcil de usar, mientras que si es fcil de usar, se deber ofrecer a los usuarios muchas
facilidades y ayudas, incluyendo muchos pasos e informacin que para un usuario experto
no seran necesarias, lo que implica, obviamente, una prdida de eficiencia.

1.3 EVOLUCIN HISTRICA DE LOS SISTEMAS OPERATIVOS


Los primeros sistemas operativos se denominaron monolticos. Eran software bsico,
prcticamente imposible de modificar una vez creado e instalado en un sistema informtico.
Cuando los diseadores del propio sistema operativo, o los usuarios, por necesidades
especficas, queran introducir modificaciones en l, la labor era realmente complicada, ya
que era necesario volver a configurar todo el sistema operativo.
Actualmente, la mayora de los sistemas operativos son abiertos y segmentados. Esto
permite, en primer lugar, modificarlos fcilmente si fuera necesario, ya que el conjunto de
programas que lo componen estn divididos por bloques. Estn diseados de tal forma que
un bloque de programas controla los perifricos de entrada, por ejemplo; otro bloque los
perifricos de salida; otro los dispositivos de almacenamiento, otro las comunicaciones,
etctera.
De esta forma, si es necesario modificar, ampliar o cambiar el sistema operativo por la
aparicin de nuevos sistemas de almacenamiento, por ejemplo, solamente ser necesario
modificar el conjunto de programas destinados a tal fin y no modificar nada, o
1-4

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

prcticamente nada, del resto.


Los sistemas operativos actuales estn estructurados por niveles.
Cada nivel, o capa del sistema operativo, realiza una funcin. De esta forma, la
modificacin o ampliacin afectar a un nivel determinado, y no a todo el sistema operativo,
La ltima generacin de sistemas operativos la componen aquellos que se denominan
sistemas operativos de mquina virtual.
Estos sistemas operativos, a diferencia de los anteriores, tienen
un ncleo que permite
emular el hardware. De esta forma, cada proceso o programa que se inicia se ejecuta en
un espacio de memoria totalmente independiente. Adems, cada programa o proceso
iniciado dispone de una copia virtual del hardware. Es necesario tener muy presentes las
arquitecturas de los ordenadores, es decir, la evolucin del hardware sobre el que se
instalan,
Histricamente, se ha hablado de cuatro generaciones de ordenadores, y quedan definidas
las caractersticas de cada una de ellas, por los componentes hardware de los sistemas
informticos que los componen. Hardware y sistema operativo evolucionan el uno con el
otro, y nunca de forma independiente. Si se disean sistemas operativos ms eficaces, es
debido a que el hardware sobre el que van a funcionar tambin lo es, y a la inversa: se
disea hardware ms eficaz y rpido debido a que los sistemas operativos necesitan cada
vez mayores prestaciones hardware.
La primera computadora fue diseada por el matemtico ingls Charles Babbage, que ya
tena clara la secuencia a seguir para el tratamiento automtico de la informacin:
Entrada -> Procesamiento -> Salida
Posteriormente, George Bolee elabor la teora de la lgica matemtica y el lgebra que
lleva su nombre. Gracias a ste se pudo empezar a pensar en la elaboracin de procesos o
programas que dependiendo de unas condiciones u otras realizarn unos procesos u otros.
En general, es posible hablar de varias generaciones de computadoras, relacionndolas
con la evolucin de los sistemas operativos, como se ha comentado.

Primera generacin (1945-1955)


Se utilizaban las vlvulas de vaco (antiguas resistencias electrnicas). Estas
computadoras eran mquinas programadas en lenguaje mquina (lenguaje de bajo nivel),
de gran tamao, elevado consumo de energa y muy lentas a la hora de realizar
operaciones, que se reducan a simples clculos matemticos. Eran peores que las
actuales calculadoras de bolsillo: muchas menos funciones, mucho ms lentas, eran
mquinas carsimas, etc.
La forma de introducir los datos en estas computadores se hacia a modo de centralita de
telfonos antigua, pinchando clavijas en unos paneles enormes llenos de agujeros. Segn
se pinchaba la clavija en uno u otro lugar, se indicaba que nmeros se deseaba procesar y
qu operacin se quera realizar. Posteriormente, a principios de los aos cincuenta, para
introducir datos en la computadora se utilizaban las tarjetas perforadas. Permitan introducir
ms datos y de forma ms rpida aunque, lo ms importante era que se poda repetir el
mismo proceso sin tener que volver a introducir de nuevo todos los datos de forma manual.

Segunda generacin (1956-1965)


Se integran los transistores dentro de la arquitectura de las computadoras. Desaparecen
las vlvulas de vaco, por lo que las computadoras se hacen ms pequeas, econmicas y
de menor consumo. Las personas encargadas de la utilizacin del sistema informtico se
dividen en categoras: el perforador de tarjetas, el operador de consola, etctera.
1-5

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

En esta generacin aparece lo que se denomina procesamiento por lotes, que consiste en
que los datos se introducen en la computadora mediante un pequeo componente
hardware que previamente ha sido cargado con la informacin a procesar. Es evidente que
la carga de este pequeo componente hardware todava sigue siendo manual. El
procesamiento por lotes implica tres fases:

Introduccin de los datos a procesar en un componente hardware, que puede ser una
tarjeta perforada, un tambor magntico, etc. La introduccin de datos se realizaba en un
medio fsico distinto de la computadora que procesaba la informacin.

Introducir el soporte con los datos a la computadora. Se procesaba la informacin y, a


continuacin, se almacenaba en otro soporte diferente.

El soporte donde se almacenan los resultados se lleva a otro dispositivo fsico distinto a
la computadora para realizar la generacin de resultados.

Aparece el concepto de perifrico. En la primera generacin todo era una misma cosa.

Tercera generacin (1966-1980)


Se reduce considerablemente el tamao y consumo de energa de las computadoras
gracias a la sustitucin de los transistores por los circuitos integrados. En esta generacin,
cabe destacar la computadora IBM 360 como mquina capaz de realizar cualquier tipo de
clculo, ya fuera aritmtico o lgico; el gran salto es el diseo de hardware y software
bsico que permite a una mquina o sistema informtico realizar varios procesos a la vez
(recordemos los SOMU).
Al principio, aunque se podan ejecutar varios programas, esto se haca en un orden
estricto de llegada. Pero tambin en esta generacin aparecen los SOMU, que permiten
ejecutar varios programas a la vez, no simultneamente, pero ofreciendo al usuario un
tiempo de espera medio mayor que si ejecutase el programa l solo.
El software bsico que se disea para gestionar estas computadoras tena que ser capaz
de controlar, gestionar y relacionar los diferentes componentes de un mismo ordenador.
1-6

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

Cuarta generacin (1981 hasta la actualidad)


Se utilizan complejas tcnicas de integracin y miniaturizacin de componentes
electrnicos. Aparecen las memorias de semiconductores, los dispositivos de
almacenamiento externo de pequeo tamao (discos duros actuales), los dispositivos
pticos, etc. Estos componentes son cada vez ms rpidos, ms econmicos y, sobre todo,
potencialmente utilizables por personas que no necesitan ser especialistas en informtica.
Aparecen sistemas operativos mucho ms intuitivos y fciles de utilizar para el usuario. La
comunicacin entre usuario y computadora se facilita e integra en el sistema operativo.
Estos nuevos sistemas operativos diseados para este nuevo hardware interactan con el
usuario a travs de interfaces sencillas. Nacen sistemas operativos como el DOS, sistemas
operativos en red y, actualmente, algunos como Microsoft Windows, en sus diferentes
versiones, que permiten un dilogo con la computadora basado en entornos grficos. Estos
sistemas operativos actuales son muy eficaces, sobre todo en la gestin de hardware y en
la utilizacin y distribucin de programas y datos en memoria. El sistema operativo UNIX se
afianza como SOMU, mejora con el tiempo y aparecen cada vez mejores versiones, con
menos errores, ms fciles de usar y en entorno grfico, X-Windows.

1.4 MODOS DE EXPLOTACIN DEL SISTEMA OPERATIVO


Se refiere a la forma en la que el usuario utiliza los recursos hardware y software que
componen el sistema informtico.
De esta forma, el usuario podr obtener determinadas respuestas de sus peticiones ante el
ordenador. La manera de obtener estas respuestas es lo que denominaremos explotacin
de un sistema operativo.
Hemos de tener en cuenta que no todos los programas que vamos a ejecutar dentro del
ordenador estn en la misma fase. Tendremos programas que se estn ejecutando en ese
momento, pero tambin aquellos que estn esperando ejecutarse; en ltimo lugar estarn
los que se encuentran en espera; es decir, los programas que para poder ejecutarse estn
esperando los datos necesarios. Si a todo esto aadimos las necesidades de los usuarios,
estaremos completando las diferentes formas de explotar un sistema informtico.
Concretamente, hemos de tener en cuenta el nmero de usuarios que pueden utilizar el
sistema. El sistema puede ser utilizado o explotado por un solo usuario o por varios.
Tambin tenemos que considerar los procesos que dicho sistema pueda realizar a la vez:
uno o varios. Igualmente, depender del nmero de procesadores con los que cuente el
ordenador. Por ltimo tendremos en cuenta el tiempo de respuesta del sistema.
Un Sistema Operativo se puede explotar de dos formas:

1.4.1 Procesamiento por lotes


Este sistema de explotacin se empez a utilizar en la segunda generacin de
ordenadores. El proceso que sigue es el siguiente: en primer lugar se carga el soporte de
almacenamiento externo con los datos que se desea procesar; a continuacin, stos se
llevan al ordenador que los procesar. Una vez procesada la informacin, los resultados se
vuelven a cargar en otro soporte de almacenamiento externo que, conectado al
correspondiente perifrico de salida, permite mostrar los resultados. En la figura siguiente

1-7

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

se ilustra el procesamiento de datos por lotes.

IBM 1401 IBM 7094:


a) los programadores llevan tarjetas
b) La 1401 lee un lote de tarjetas y los graba en la cinta
c) Un operador lleva la cinta a la 7094
d) La 7094 realiza los cmputos
e) Un operador lleva la cinta a una 1401
f)

La 1401 imprime las salidas

En este tipo de procesamiento, actualmente en desuso, el tratamiento de la informacin


atraviesa diferentes fases. En primer lugar, se carga toda la informacin en los soportes; a
continuacin, se procesa y, posteriormente, se muestra o imprime. Cada fase requiere un
tiempo determinado, existe la posibilidad de que se produzcan errores y, por tanto, es
posible que se interrumpa el tratamiento de la informacin si alguna de las fases no se
realiza correctamente.

1.4.2 Procesamiento en tiempo real


Este tipo de explotacin del ordenador es similar al anterior. La diferencia radica en que el
usuario que introduce los datos es el que suele iniciar el programa para procesar tos datos
introducidos y generar el resultado, todo ello en un mismo sistema informtico y en un
tiempo relativamente corto. Las tres fases se realizan sin que fsicamente haya distintos
componentes, diferentes personas implicadas o varios sistemas informticos
especializados en cada una de las funciones.
El procesamiento en tiempo real es un modo de explotacin en el que la respuesta es
inmediata. Es necesario esperar lo que se tarde en introducir los datos, el tiempo en
procesarlos y el tiempo en mostrarlos o imprimirlos.
En la actualidad, la mayora de los ordenadores funcionan en tiempo real, dado que el
hardware que los componen est integrado fsicamente y conectado directamente a la
unidad central de proceso.
Los ordenadores que funcionan en tiempo real son ms rpidos que los que funcionan por
lotes.
Una vez descritas las dos formas generales de explotar un sistema informtico, y teniendo
en cuenta que normalmente se utiliza la explotacin en tiempo real, a continuacin se
clasifican los sistemas operativos en funcin de los siguientes parmetros:

1.5 TIPOS DE SISTEMAS OPERATIVOS.


En este punto vamos a describir las caractersticas que clasifican a los sistemas operativos,
bsicamente veremos cinco clasificaciones: por su estructura (visin interna), por los
servicios que ofrecen, por la forma en que ofrecen sus servicios (visin externa), por el
tiempo de respuesta, por la portabilidad del Software y respecto a su propsito.
1-8

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

1.5.1 Sistemas Operativos por su estructura (visin interna).


Si estudiamos los sistemas operativos atendiendo a su estructura interna, veremos que
existen dos tipos fundamentales, los sistemas de estructura monoltica y los sistemas de
estructura jerrquica.

Estructura Monoltica
Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un
solo programa, compuesto de un conjunto de rutinas (o procedimientos) entrelazadas de tal
forma que cada una puede llamar a cualquier otra. Las caractersticas fundamentales de
este tipo de estructura son:

Construccin del programa final a base de mdulos compilados separadamente que se


unen a travs del ligador.

Buena definicin de parmetros de enlace entre las distintas rutinas existentes, que
puede provocar mucho acoplamiento.

Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes


aspectos de los recursos de la computadora, como memoria, disco, etc.

Estos sistemas tienen la ventaja de ser muy rpidos en su ejecucin (solo hay que
ejecutar un programa) pero cuentan con el inconveniente de carecer de la flexibilidad
suficiente para soportar diferentes ambientes de trabajo o tipos de aplicaciones. Es por
esto que estos sistemas operativos suelen ser hechos a medida, para solucionar un
problema en concreto y no para trabajar de forma generalista.

Estructura Jerrquica (Niveles)


A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los
sistemas, se hizo necesaria una mayor organizacin del software, del sistema operativo,
donde una parte del sistema contena subpartes y esto organizado en forma de niveles. Se
dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas
estuviera perfectamente definida y con un claro interfase con el resto de elementos.
Se constituy una estructura jerrquica o de niveles en los sistemas operativos, el primero
de los cuales fue denominado THE, que se utiliz con fines didcticos. Se puede pensar
tambin en estos sistemas como si fueran `multicapa'.

1-9

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

En la estructura anterior se basan prcticamente la mayora de los sistemas operativos


actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concntricos o
"rings"

En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa
(trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las
zonas ms internas del sistema operativo o ncleo del sistema estarn ms protegidas de
accesos indeseados desde las capas ms externas. Las capas ms internas sern, por
tanto, ms privilegiadas que las externas.
Otra posible clasificacin de los niveles de los SO podra ser:

1-10

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

Mquina Virtual
En la actualidad la mayora de los sistemas operativos son multiusuario y multitarea, es
decir, pueden trabajar con varios usuarios y varios procesos a la vez. Para ello el ncleo de
estos sistemas operativos gestiona las denominadas mquinas virtuales.
Una mquina virtual es un archivo, o conjuntos de archivos, que reproducen y simulan, de
una forma exacta, el hardware real que gestiona el propio SO.
Estas mquinas virtuales son una rplica de la mquina real, de manera que en cada una
de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la
mquina extendida al usuario.

En este sistema se dispone de los niveles de ncleo, ejecutivo, supervisor y usuario, como
1-11

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

si fueran independientes, para cada usuario que lo utilice.


Este tipo de gestin, que realizan la mayora de los SO multiusuario y multitarea, confiere
gran estabilidad al sistema, ya que ante eventuales errores de una aplicacin, el hardware
no se bloquea; la aplicacin del usuario, y su correspondiente copia de hardware, es la que
deja de ejecutarse.
Por tanto, el resto de usuarios podrn seguir ejecutando sus programas si ms problemas.
Es decir, el bloqueo de un proceso que puede estar ejecutando un usuario no afecta al
resto de procesos, ya que cada uno de ellos, incluso para el mismo usuario, se ejecuta en
una mquina virtual diferente, por lo que el hardware de la mquina no se ve afectado.
Una vez que el usuario termina de ejecutar su aplicacin, se produce la interaccin real con
el hardware. El sistema operativo termina de ejecutar correctamente la aplicacin, el resto
de usuarios siguen trabajando con sus mquinas virtuales y, evidentemente el hardware
funciona sin problemas. Se descarga el contenido de los archivos que forman la mquina
virtual al hardware, momento en que se produce la operacin real de entrada y salida sobre
el perifrico o dispositivo de almacenamiento.
La figura siguiente muestra un esquema del funcionamiento de las mquinas virtuales
respecto de tres procesos iniciados por un mismo usuario.

Cliente Servidor
Una tendencia de los sistema operativos modernos es la de trasladar el cdigo a capas
superiores, y eliminar la mayor parte posible del sistema operativo para mantener un
ncleo mnimo. El punto de vista usual es el implantar la mayora de las funciones del
sistema operativo como procesos de usuario. Para solicitar un servicio, como la lectura de
un bloque de cierto fichero, un proceso de usuario (denominado en este caso proceso
cliente) enva la solicitud a un proceso servidor, que realiza el trabajo y devuelve la
respuesta.
El ncleo tiene como misin establecer y controlar la comunicacin entre los clientes y los
servidores. Al separar el sistema operativo en partes, cada una de ellas controla una faceta
del sistema, como el servicio a ficheros, servicio a procesos, servicio a terminales o servicio
a la memoria; cada parte es pequea y controlable. Por ejemplo, un programa de
aplicacin normal es un cliente que llama al servidor correspondiente para acceder a un
archivo o realizar una operacin de entrada/salida sobre un dispositivo concreto. Adems,
puesto que todos los servidores se ejecutan como procesos en modo usuario, y no en
modo ncleo, no tienen acceso directo al hardware. En consecuencia, si hay un error en el
servidor de ficheros ste puede fallar, pero esto no afectar en general a toda la mquina.

1-12

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptacin para su uso
en sistemas distribuidos (vase la figura 5.4). Si un cliente se comunica con un servidor
mediante mensajes, el cliente no necesita saber si el mensaje se gestiona de forma local,
en su mquina, o si se enva por medio de una red a un servidor en una mquina remota.
En lo que respecta al cliente, lo mismo ocurre en ambos casos: se envi una solicitud y se
recibi una respuesta.

1.5.2 Sistemas Operativos por los Servicios que ofrecen.


Esta clasificacin es la ms comnmente usada y conocida desde el punto de vista del
usuario final. Esta clasificacin se comprende fcilmente con el cuadro que a continuacin
se muestra

1-13

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

Por el nmero de usuarios


Monousuarios. Los sistemas operativos monousuarios son aqullos que soportan a un
usuario a la vez, sin importar el nmero de procesadores que tenga la computadora o el
nmero de procesos o tareas que el usuario pueda ejecutar en un mismo instante de
tiempo. Todos los dispositivos de hardware estn a disposicin de ese usuario y no pueden
ser utilizados por otros hasta que ste no finalice su uso.

Sistema operativo monousuario


Algunos ejemplos de sistema operativo monousuario son: DOS y Microsoft Windows 3.x,
9X, ME, NT 4.0 Workstation, 2000 Professional, XP Homs Edition y Professional. Las
computadoras personales tpicamente se han clasificado en esta seccin.
Multiusuarios. En este sistema, varios usuarios pueden utilizar los recursos del sistema
simultneamente. Pueden compartir, sobre todo, los dispositivos externos de
almacenamiento y los perifricos de salida como, por ejemplo, impresoras. Tambin
pueden compartir el acceso a una misma base de datos instalada en el ordenador principal,
etc. Los usuarios pueden utilizar el ordenador principal de la siguiente forma: mediante
terminales (teclado y monitor), o bien mediante ordenadores clientes conectados al
servidor.
No importa el nmero de procesadores en la mquina ni el nmero de procesos que cada
usuario puede ejecutar simultneamente.

Sistema operativo multiusuario.


Algunos ejemplos de sistema operativo multiusuario son: UNIX, Novell, Windows NT
Server, Windows 2000 Server, Windows Server 2003, VMS (Digital), MVS (grandes
equipos IBM), OS/400 (IBM AS/400), etctera.

Por el nmero de tareas


Monotarea. Este tipo de sistema operativo slo puede ejecutar un programa o proceso por
1-14

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

vez; por tanto, los recursos del sistema estarn dedicados al programa hasta que finalice
su ejecucin. El sistema operativo DOS o Windows 9X es monotarea, ya que, adems de
no saber utilizar ms de un procesador, el hardware que utilizan para ejecutar un programa
est a disposicin slo de ese programa.

Sistema operativo monotarea y monousuario.


Los sistemas monotarea son aquellos que slo permiten una tarea a la vez por usuario.
Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios
usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la
vez.
Un sistema operativo monotarea puede ser multiusuario, es decir, varios usuarios pueden
intentar ejecutar sus programas en el mismo ordenador de forma simultnea. De forma
secuencial, cada usuario esperar a que su proceso se ejecute despus de finalizar el
proceso anterior. Este tipo de sistema operativo, monotarea y multiusuario, no es habitual,
aunque algunos sistemas operativos antiguos s eran de este tipo. En este caso, el SO
debe disponer de colas o listas de procesos a ejecutar atendiendo a las prioridades
indicadas por el administrador del sistema, que utilizar los algoritmos de planificacin
indicando la prioridad asignada a cada programa o proceso.
Multitarea. Este tipo de sistema operativo puede ejecutar varios programas o procesos de
forma concurrente o simultnea. Para ello, la CPU comparte el tiempo de uso del
procesador entre los diferentes programas que se desean ejecutar.
As, todos los procesos tardarn individualmente ms tiempo en ejecutarse, pero,
comparndolo con la monotarea, el tiempo medio de espera ser mucho menor.
Algunos ejemplos de sistema operativo multitarea son: Windows NT 4.0, Windows 2000,
Windows XP Professional, Windows Server 2003, Unix, Novell, etc. Casi todos los SO
multiusuario son multitarea.
Para esta clasificacin de los sistemas operativos es independiente el nmero de
procesadores que tenga el ordenador o sistema informtico, si bien es necesario tener en
cuenta que la multitarea real slo se consigue cuando el equipo dispone de ms de un
procesador.

Por el nmero de procesadores


Uniproceso o Monoproceso. En este tipo de sistema operativo, el ordenador slo tiene un
procesador. Todos los trabajos a realizar pasarn por l. El ordenador que tenga instalado
este tipo de sistema operativo puede ser monousuario o multiusuario; monotarea o
multitarea.
En funcin de la clasificacin anterior, cualquier sistema operativo que se instale en un
ordenador con un solo procesador ser siempre monotarea. No obstante, el hecho de que
1-15

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

pueda ejecutar varios programas a la vez, le confiere la catalogacin de multitarea, aunque


en realidad slo atender a un proceso en un instante concreto.
Se ha dicho que si son varios los usuarios ejecutando sus programas en un ordenador con
un nico procesador, ste se puede catalogar como multitarea, teniendo en cuenta que los
ciclos de CPU se repartirn entre los diferentes procesos.
Algunos ejemplos de sistema operativo monoproceso son: DOS y todos los que se pueden
instalar en este tipo de sistemas informticos. El resto, aunque potencialmente puedan ser
multitarea (familia Windows NT, Unix, Linux, Novell) o pseudo multitarea (Windows 9X,
ME), si funcionan con un solo procesador se catalogan como monotarea.
Multiproceso. El ordenador cuenta con dos o ms procesadores. De esta forma,
determinados SO pueden aprovechar las ventajas de este tipo de hardware.
Todos los sistemas operativos multiusuario actuales son multitarea, a excepcin de los
cada vez ms en desuso Windows 9X y ME.
Algunos ejemplos de sistema operativo multiproceso son: Windows NT 4.0, Windows 2000,
Windows XP, Linux, Unix, etc. Evidentemente, DOS siempre es monotarea.
La forma de utilizar los diferentes procesadores por parte del SO puede ser de dos tipos:

Multiproceso simtrico (SMP, Symetrical MuttiProcessing).

El sistema operativo utilizar los procesadores por igual; es decir, alternar el uso de los
procesadores con los que cuente el sistema de forma simultnea.

Multiproceso asimtrico (AMP, Asymetrical MuttiProcessing).

El SO reparte las tareas que est realizando a los procesadores con los que cuenta el
sistema informtico. Determinados procesos los ejecutar siempre un procesador, y el otro
procesador slo se utilizar para realizar procesos o programas de usuario. En este caso,
es posible que un procesador est siempre trabajando y el otro, en ocasiones, sin
actividad.
Mediante estas dos tcnicas, lo que se consigue es que el tiempo de respuesta de la
ejecucin de varios programas en un mismo ordenador sea similar para todos ellos.

1.5.3 Sistemas Operativos por la Forma de Ofrecer sus Servicios


Esta clasificacin tambin se refiere a una visin externa, que en este caso se refiere a la
del usuario, el cmo se accede a los servicios. Bajo esta clasificacin se pueden detectar
dos tipos principales: sistemas operativos de red y sistemas operativos distribuidos.

Sistemas Operativos de Red.


Los sistemas operativos de red se definen como aquellos que tiene la capacidad de
interactuar con sistemas operativos en otras computadoras por medio de un medio de
transmisin con el objeto de intercambiar informacin, transferir archivos, ejecutar
comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es
que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema
para ejecutar estas operaciones, adems de la ubicacin de los recursos a los que desea
acceder. Por ejemplo, si un usuario en la computadora TIERRA necesita el archivo
MATRIZ.C que se localiza en el directorio /software/cdigo en la computadora SOL bajo el
sistema operativo UNIX, dicho usuario podra copiarlo a travs de la red con los comandos
siguientes: RCP SOL:/software/cdigo/MATRIZ.C Si en vez de trabajar con el sistema
operativo de red UNIX, trabajramos con el sistema operativo WINDOWS 2000 la orden
1-16

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

seria: COPY \\SOL\software\codigo\matriz.c . En este caso, el comando rcp que significa


"remote copy" trae el archivo indicado de la computadora SOL y lo coloca en el directorio
donde se ejecut el mencionado comando. Lo importante es hacer ver que el usuario
puede acceder y compartir muchos recursos.
Lo importante es hacer ver que el usuario puede acceder a la informacin no solo de su
maquina, sino a la de cualquier maquina de la red, y esto se consigue gracias a que utiliza
un sistema operativo de red.

Sistemas Operativos distribuidos.


Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar
recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de
proceso) en una sola mquina virtual que el usuario usa de forma transparente. Es decir,
ahora el usuario ya no necesita saber la ubicacin de los recursos, sino que los conoce por
su nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo
habitual. Pero es muy complicado distribuir los procesos en varias unidades de
procesamiento, reintegrar resultados parciales, resolver problemas de concurrencia y
paralelismo, recuperarse de fallos de algunos recursos distribuidos y consolidar la
proteccin y seguridad entre los diferentes componentes del sistema y los usuarios. Estos
sistemas operativos, aunque existen desde hace ya varios aos, no se muestran
especialmente fiables, debido a la complejidad antes mencionada, y a problemas internos
de arquitectura. Sin embargo, algunos aspectos de la gestin distribuida si se estn usando
ampliamente hoy en da.

1.5.4 Por el tiempo de respuesta


Procesamiento por lotes
Ya comentado anteriormente

Tiempo compartido
Permiten la simulacin de que el sistema y sus recursos son todos para cada usuario. El
usuario hace una peticin a la computadora, esta la procesa tan pronto como le es posible,
y la respuesta aparecer en la terminal del usuario.
1-17

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son
continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusin de
que tiene el sistema dedicado para s mismo. Esto trae como consecuencia una gran carga
de trabajo al Sistema Operativo, principalmente en la administracin de memoria principal y
secundaria.
Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.
Caractersticas de los Sistemas Operativos de tiempo compartido:

Populares representantes de sistemas multiprogramados multiusuario, ej: sistemas de


diseo asistido por computador, procesamiento de texto, etc.

Dan la ilusin de que cada usuario tiene una mquina para s.

Mayora utilizan algoritmo de reparto circular.

Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y


disminuye despus de concedido el servicio.

Evitan monopolizacin del sistema asignando tiempos de procesador (time slot).

Gestin de memoria proporciona proteccin a programas residentes.

Gestin de archivo debe proporcionar proteccin y control de acceso debido a que


pueden existir mltiples usuarios accediendo a un mismo archivo.

Tiempo real
Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el
usuario, sino los procesos. Por lo general, estn subutilizados sus recursos con la finalidad
de prestar atencin a los procesos en el momento que lo requieran. Se utilizan en entornos
donde son procesados un gran nmero de sucesos o eventos, as como, dispositivos de
control en aplicaciones especializadas.
Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy
especficas como control de trfico areo, bolsas de valores, control de refineras, control
de laminadores. Tambin en el ramo automovilstico y de la electrnica de consumo, las
aplicaciones de tiempo real estn creciendo muy rpidamente. Otros campos de aplicacin
de los Sistemas Operativos de tiempo real son los siguientes:

Control de trenes.

Telecomunicaciones.

Sistemas de fabricacin integrada.

Produccin y distribucin de energa elctrica.

Control de edificios.

Sistemas multimedia.

Comparado con un PC, un ordenador de este tipo es menor, gasta menos energa y disipa
menos calor. La propiedad ms importante es que pueden trabajar en ambientes hostiles.
Los Sistemas Operativos de tiempo real, cuentan con las siguientes caractersticas:

Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de


sucesos, la mayora externos al sistema computacional, en breve tiempo o dentro de
ciertos plazos.

Se utilizan en control industrial, conmutacin telefnica, control de vuelo, simulaciones


1-18

CARACTERIZACIN DE LOS SISTEMAS OPERATIVOS

en tiempo real., aplicaciones militares, etc.

Objetivo es proporcionar rpidos tiempos de respuesta.

Procesa rfagas de miles de interrupciones por segundo sin perder un solo suceso.

Proceso se activa tras ocurrencia de suceso, mediante interrupcin.

Proceso de mayor prioridad expropia recursos.

Por tanto generalmente se utiliza planificacin expropiativa basada en prioridades.

Gestin de memoria menos exigente que tiempo compartido, usualmente procesos son
residentes permanentes en memoria.

Poblacin de procesos esttica en gran medida.

Poco movimiento de programas entre almacenamiento secundario y memoria.

Gestin de archivos se orienta ms a velocidad de acceso que a utilizacin eficiente del


recurso.

Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y
Spectra.

1.5.5 Por su disponibilidad


Dentro de esta clasificacin tendremos:

PROPIETARIOS
Los sistemas operativos propietarios son aquellos que son propiedad de alguna empresa.
Caractersticas

Se necesitan licencias de uso.

No se dispone de acceso a su cdigo fuente para modificarlo ni distribuirlo. Ejem Windows.

LIBRES
Los sistemas operativos libres son aquellos que garantizan las libertades de:

Usar el programa.

Estudiar cmo funciona el programa y modificarlo, adaptndolo a las necesidades


que tuviera el usuario (software de cdigo abierto).

Distribuir copias del programa, con lo que se puede ayudar a otros usuarios.

Mejorar el programa y hacer pblicas dichas mejoras, de modo que todos los
usuarios se beneficien de ello.

El software libre suele estar disponible gratuitamente o al precio de coste de la distribucin;


sin embargo no es obligatorio que sea as, por lo tanto, no hay que asociar software libre a
software gratuito, ya que, conservando su carcter de libre, podr ser distribuido
comercialmente (software comercial).

1-19

Potrebbero piacerti anche