sistemas operativos mod8
DESCRIPTION
Material didáctico usado en la asignatura Ingeniería Técnica de telecomunicación especialidad Telemática. U.O.CTRANSCRIPT
-
El estado del artede los sistemasoperativos actualesTeodor Jov Lagunas
P05/75097/00811Mdulo 8
-
FUOC P05/75097/00811 Mdulo 8 2 El estado del arte de los sistemas operativos actuales
-
FUOC P05/75097/00811 Mdulo 8 El estado del arte de los sistemas operativos actuales
ndice
Introduccin............................................................................................. 5
Objetivos .................................................................................................... 6
1. Conceptos generales........................................................................... 7
1.1. El modelo cliente/servidor............................................................... 7
1.2. Los procesos multiflujo (multi-thread) ............................................. 9
2. Los sistemas operativos de tiempo real ........................................ 11
3. Los sistemas operativos multiprocesador .................................... 14
3.1. Las arquitecturas multiprocesador .................................................. 14
3.2. Las ventajas de los sistemas multiprocesador ................................. 15
3.3. Tipos de sistemas operativos multiprocesador................................ 16
4. Los sistemas operativos en red y los sistemas
operativos distribuidos..................................................................... 19
4.1. El entorno distribuido ..................................................................... 19
4.2. Definicin y evolucin de los sistemas operativos en red .............. 20
4.3. Tipos de sistemas operativos distribuidos ....................................... 24
Resumen..................................................................................................... 27
Actividades................................................................................................ 29
Glosario ...................................................................................................... 29
Bibliografa............................................................................................... 30
-
FUOC P05/75097/00811 Mdulo 8 5 El estado del arte de los sistemas operativos actuales
Introduccin
En este mdulo didctico trataremos diferentes aspectos relacionados con los
sistemas operativos actuales.
Comenzaremos haciendo una breve introduccin a los siguientes conceptos:
El modelo cliente/servidor como paradigma que permite construir y or-
ganizar, entre otros, los servicios del sistema operativo (SO).
El flujo de ejecucin como evolucin lgica del concepto de proceso.
A continuacin analizaremos las caractersticas ms importantes de tres tipos
de sistemas operativos:
a) Los sistemas operativos de tiempo real, que se centran en las aplicaciones
que presentan fuertes restricciones temporales.
b) Los sistemas operativos multiporcesador y los sistemas operativos dis-
tribuidos, que se orientan ms hacia el hardware que tienen que administrar
y a las posibilidades y condicionamientos que ste comporta que hacia el tipo
de servicio que tienen que ofrecer.
-
FUOC P05/75097/00811 Mdulo 8 6 El estado del arte de los sistemas operativos actuales
Objetivos
En los materiales didcticos que contiene el presente mdulo encontraris las
herramientas necesarias para alcanzar estos objetivos:
1. Conocer el modelo cliente/servidor.
2. Entender el concepto de flujo de ejecucin.
3. Conocer las principales caractersticas de los sistemas operativos de tiempo
real.
4. Identificar las particularidades de las arquitecturas multiprocesador y de
sus sistemas operativos.
5. Reconocer las caractersticas de los sistemas operativos en red y de los sis-
temas operativos distribuidos.
-
FUOC P05/75097/00811 Mdulo 8 7 El estado del arte de los sistemas operativos actuales
1. Conceptos generales
En este apartado nos disponemos a introducir dos conceptos que han influido
de manera decisiva en la evolucin de los sistemas operativos: el modelo clien-
te/servidor y los procesos multiflujo (multi-thread). Ambos se pueden aplicar a
cualquier tipo de SO, tanto si ste es de propsito general, como los que vere-
mos en este mdulo didctico, como si se orientase a objetivos ms especfi-
cos. Ahora bien, estos conceptos han incidido de una forma especial en los
sistemas distribuidos y en los sistemas multiprocesador.
1.1. El modelo cliente/servidor
La invocacin de un procedimiento, las llamadas al sistema y la solicitud de
ejecucin de una orden se pueden considerar como la peticin de un servicio
por parte de un cliente. Desde este punto de vista, en esta relacin podemos
distinguir los siguientes elementos:
El cliente, que es el ente que realiza la peticin del servicio.
El servidor, que es el ente que ofrece el servicio.
El servicio, que es la accin solicitada.
Clientes y servidores pueden ser de manera indistinta procesos o sistemas ope-
rativos directamente, y pueden estar ubicados dentro de la misma mquina o
en mquinas diferentes interconectadas mediante una red de transmisin de
datos. La figura 1 muestra la relacin que se establece entre cliente y servidor
en tres situaciones diferentes:
a) El cliente es un proceso y el servidor es su sistema operativo. Este primer
caso representa la ejecucin de una llamada al sistema.
b) El cliente y el servidor son procesos del SO. Este segundo caso utiliza las lla-
madas al sistema para poner en contacto al cliente y al servidor.
c) El cliente y el servidor son procesos de sistemas operativos diferentes. Este
ltimo caso utiliza las llamadas al sistema de acceso a la red para comunicar
procesos de mquinas diferentes.
El ltimo caso es el ms importante al permitir que los servicios se puedan
ofrecer desde cualquier punto de una red. Esta idea es la base de los sistemas
abiertos, que permiten ofrecer servicios a procesos remotos y/o acceder a ser-
-
FUOC P05/75097/00811 Mdulo 8 8 El estado del arte de los sistemas operativos actuales
vicios externos a la mquina local. Adems de las tres situaciones menciona-
das, se pueden considerar casos particulares a partir de uno ms general. A
partir de ahora nos centraremos en esta posibilidad.
Los mecanismos de comunicacin utilizan las herramientas ms elementales
como base para construir las ms complejas. Estos mecanismos, que se utilizan
para poner en contacto a un cliente y a un servidor, se pueden clasificar en
funcin de su nivel semntico. As, tenemos los siguientes tipos:
1) El paso de mensajes. El caso ms elemental de comunicacin entre cliente
y servidor se basa en el uso de las operaciones de paso de mensajes. En este
caso, cliente y servidor tienen que ser conscientes de la ubicacin de cada uno
de ellos, y tienen que transferir y presentar de manera explcita los parmetros
y la respuesta de la solicitud.
2) Los procedimientos remotos (RPC*). Aqu el cliente considera el servicio
como un procedimiento ms de la librera. La librera y el SO son los encargados
de esconder al usuario las particularidades del mecanismo de comunicacin.
3) Los objetos distribuidos. Otro paso consiste en adoptar la semntica de la
programacin orientada a objetos. En este caso, el usuario ve el servicio como la
llamada de un mtodo del objeto al que quiere acceder. Igual que antes, la libre-
ra y el sistema operativo se encargan de esconder al cliente y el servidor las par-
ticularidades del mecanismo de comunicacin.
Figura1
Podis ver el paso de mensajes en el apartado 7 del mdulo didctico La concurrencia y la comunicacin.
* RPC es la sigla del trmino ingls Remote Procedure Call.
-
FUOC P05/75097/00811 Mdulo 8 9 El estado del arte de los sistemas operativos actuales
En torno a la relacin cliente/servidor surge un gran nmero de cuestiones,
problemas y posibilidades que no existan o son triviales en el entorno de un
proceso o de un SO aislados como los que hemos estudiado. Por ejemplo, uno
de estos problemas es la localizacin del servidor o servidores de un servicio
concreto; otro es la recuperacin de errores en caso de que falle algn elemen-
to de los que intervienen*. Para solucionarlos, podemos optar por alguna de
las siguientes posibilidades:
a) Una posibilidad consiste en tener ms de un servidor repartido en mqui-
nas diferentes para implementar polticas tolerantes a fallos, o bien para ser
ms eficientes.
b) Otras posibilidades se centran en la estructura del propio servidor, como si
por ejemplo el servidor puede servir a ms de un cliente a la vez o no, o si el
servicio se tiene que realizar de manera sncrona con la ejecucin del cliente
(como haramos con la ejecucin de un procedimiento) o de manera asncro-
na, dejando que el cliente contine su ejecucin en paralelo con la realizacin
del servicio.
1.2. Los procesos multiflujo (multi-thread)
Un proceso es un entorno de ejecucin. Otra manera de considerar un proceso
es como una mquina virtual completa: con memoria, dispositivos de entra-
da/salida y un procesador asociado. Hasta ahora hemos supuesto que esta m-
quina virtual que configuran los procesos tena que ser monoprocesador, es
decir, que en cada momento slo poda alojar la ejecucin de una secuencia
de instrucciones (thread). Esta restriccin es puramente lgica y se ha hecho
por analoga con la mquina real sobre la cual se han construido los primeros
sistemas operativos.
La posibilidad de multiplexar el procesador y la existencia de mquinas mul-
tiprocesador ha planteado la necesidad de tener ms de un flujo de ejecucin
por proceso. En otras palabras, se ha pasado de mquina virtual monoproce-
sada a una multiprocesada (multi-thread).
Si analizamos las necesidades actuales de las aplicaciones, vemos que el hecho
de tener ms de un flujo por proceso es una evolucin natural del concepto de
proceso. Podemos darnos cuenta de esta necesidad simplemente mediante el
anlisis de las rutinas de servicio de las seales de software. En este caso pode-
mos ver el proceso como un entorno multiflujo: nos encontramos con un flu-
jo para la ejecucin normal, y otro para atender de manera asncrona las
seales que puedan llegar.
Un paso ms es la necesidad de ejecutar aplicaciones paralelas. Lo ms natural
es que esta aplicacin utilice el paradigma de la memoria compartida para co-
* Los elementos que intervienen en la invocacin de un proceso son
el cliente, el servidor y la red.
Podis ver el concepto de mquina virtual en el apartado 1 del mdulo didctico El sistema operativo:una mquina virtual.
Podis ver las rutinas de servicio de las seales de software en el apartado 3 del mdulo didcticoLa concurrencia y la comunicacin.
-
FUOC P05/75097/00811 Mdulo 8 10 El estado del arte de los sistemas operativos actuales
municar y sincronizar las diferentes secuencias paralelas. Con el concepto tra-
dicional de proceso deberamos tener tantos procesos como secuencias, y se
tendran que reservar recursos para cada proceso. En cada cambio de contexto,
el sistema debera guardar todo el proceso y activar el nuevo. En definitiva, el
uso de procesos con un solo flujo provoca un aumento del uso de recursos y
tiempo de gestin del sistema.
Un ejemplo de aplicacin paralela son los servidores que debern tener la po-
sibilidad de atender a ms de un cliente al mismo tiempo. En un sistema mul-
tiflujo podramos contar con un flujo que atendiese la llegada de nuevas
peticiones. Para cada nueva peticin tendra que crear un nuevo flujo que
atendiese a la peticin, y que se destruira al finalizar el servicio. El coste de
este servidor es menor que el de un servicio construido de acuerdo con proce-
sos. ste es el caso de UNIX, en el que un proceso atendera las peticiones de
servicio, y para cada nueva peticin creara, mediante la llamada fork, un
nuevo proceso para atenderla.
Para que el sistema pueda gestionar ms de un flujo por proceso slo tenemos
que aumentar los elementos que lo configuran, los cuales estn apuntados en
el bloque de control de procesos (PCB). En concreto, para cada flujo de ejecu-
cin el sistema tiene que proporcionar los siguientes elementos: un conjunto
de registros, una pila y un contador de programa.
Estos elementos, agrupados en un identificador de flujo, reflejarn en cada
instante el estado en que se encuentra la ejecucin del proceso.
Podis ver el PCB en el subapartado 1.1. del mdulo didcticoLa gestin de procesos.
-
FUOC P05/75097/00811 Mdulo 8 11 El estado del arte de los sistemas operativos actuales
2. Los sistemas operativos de tiempo real
Las aplicaciones que se gestionan con sistemas operativos de tiempo real tie-
nen que dar respuesta a acontecimientos externos, en general asociados a in-
terrupciones. Si la respuesta no se da en un tiempo concreto, la ejecucin de
la aplicacin carece de sentido.
Gestin de una presa hidrulica
En una presa hidrulica, desde el momento en que se detecta una riada hasta que se abrenlas compuertas para dejar salir el sobrante de agua, no puede pasar ms de un tiempo de-terminado. Si no se acta dentro de este margen de tiempo, la presa revienta y ya no tienesentido dar la orden de abrir. En este ejemplo interviene, adems, el tiempo del procesode apertura de las compuertas, que tendr que ser concreto y conocido. A la hora de ini-ciar la apertura de las compuertas no slo se tiene que garantizar que todava no ha re-ventado la presa, sino que estamos a tiempo de evitarlo. Si no pudiese hacerlo, el sistematendra que dedicar sus recursos a una accin ms prioritaria: avisar a la poblacin y eva-cuar al personal.
En general, los sistemas de tiempo real tienen que garantizar que la ejecucin
de las aplicaciones se inicie antes de un cierto intervalo de tiempo, y que debe
haber finalizado antes de que la accin que llevan a cabo deje de tener sentido.
As pues, un sistema de tiempo real, a diferencia de los sistemas interactivos o
de los de procesamientos por lotes, no slo tiene el objetivo de finalizar los tra-
bajos en un tiempo ms o menos razonable, sino que lo tiene que hacer con
unas restricciones temporales. Para conseguirlo, la gestin que realizan tanto
el sistema como la mquina virtual que presenta los procesos tiene que ser, en
este caso concreto, diferente de la que hemos visto en los mdulos anteriores,
y prever los siguientes puntos:
Hay que evitar, en la medida de lo posible, los mecanismos de gestin que
no pueden ofrecer servicio en un intervalo de tiempo conocido o que lo ha-
cen con un coste de tiempo excesivo.
Hay que proporcionar herramientas que permitan ordenar los procesos en
funcin de su urgencia.
Hay que facilitar mecanismos de comunicacin rpidos y flexibles que per-
mitan cubrir todas las necesidades de las aplicaciones.
Los sistemas operativos de tiempo real son sistemas que tienen que ofre-
cer servicio con unas restricciones temporales bien definidas: tienen
que dar una respuesta a determinados acontecimientos en un tiempo li-
mitado y dentro de un periodo de tiempo concreto.
Como ejemplos de entornos de trabajo...
... que utilizan sistemas operati-vos de tiempo real podemos en-contrar: el control de procesos industriales, los simuladores de tiempo real, los equipos de tele-fona, el control de electrodo-msticos, sistemas dedicados a aplicaciones militares, etc.
-
FUOC P05/75097/00811 Mdulo 8 12 El estado del arte de los sistemas operativos actuales
As pues, los principales puntos de accin de los sistemas operativos de tiempo
real son:
1) Gestin de procesos. La planificacin del procesador es expropiativa y se
basa en la determinacin de prioridades para los diferentes procesos. En este
modelo de planificacin del procesador, a cada proceso se le asocia una prio-
ridad. El procesador se asigna siempre al proceso ms prioritario de todos los
que se encuentran preparados, y el sistema proporciona mecanismos para de-
finir y modificar la prioridad de los procesos.
2) Gestin de la memoria. En la ejecucin de procesos crticos puede resultar
necesario prever con exactitud el tiempo de ejecucin y, en caso de no poder cal-
cularlo de manera exacta, se tiene que poder determinar cul puede ser el tiempo
mximo de ejecucin. El uso de mecanismos como la memoria virtual, que per-
miten que un proceso, en un instante concreto, pueda no residir totalmente en la
memoria, no son deseables, ya que introducen un grado tan elevado de variabili-
dad que impiden efectuar a priori el clculo de tiempo de ejecucin. Por este mo-
tivo, los sistemas de tiempo real permiten definir qu procesos tienen que estar de
forma permanente residentes en la memoria y cules no.
3) Gestin de las entradas/salidas. El sistema proporciona herramientas
para que los usuarios puedan definir directamente los tratamientos de las in-
terrupciones de determinados dispositivos de entrada/salida y evitar, as, la
ejecucin de cdigo genrico del sistema.
4) Comunicacin entre procesos. En este punto incluimos tanto la comuni-
cacin entre procesos propiamente dicha, como la comunicacin con aconte-
cimientos asncronos producidos por los procesos o por los dispositivos de
entrada/salida:
a) Los mecanismos de seales, adems de permitir controlar ciertos mecanis-
mos de entrada/salida, tienen que ser lo bastante sensibles como para propor-
cionar un mecanismo de seales de software, tambin lo bastante amplio como
para ofrecer servicio a diferentes situaciones: con seales de prioridad definible
por el usuario, con la posibilidad de inhibir o permitir la recepcin de seales
de cierta prioridad, etc.
b) La comunicacin entre procesos mediante dispositivos provoca un incre-
mento variable del tiempo de ejecucin a causa de la gestin del sistema y del
uso del mismo dispositivo. Para evitarlo, los sistemas de tiempo real permiten
definir regiones de memoria compartidas con el fin de que los procesos las uti-
licen para comunicarse sin costes de tiempo. Este mecanismo tiene que ir acom-
paado de herramientas de sincronizacin como pueden ser semforos que
permitan acceder a stas, en caso de que sea necesario, en exclusin mutua.
5) Gestin del sistema de ficheros. Como ya hemos visto, para evitar la variabi-
lidad del tiempo de acceso a los dispositivos, los procesos crticos utilizan mayo-
ritariamente la memoria compartida en tanto que mecanismo de comunicacin.
Podis ver los mecanismos de seales en el apartado 3 del mdulo didctico La gestin de procesos.
Podis ver los semforos en el apartado 4 del mdulo didcticoLa concurrencia y la comunicacin.
-
FUOC P05/75097/00811 Mdulo 8 13 El estado del arte de los sistemas operativos actuales
Por el mismo motivo, se podra utilizar la memoria como dispositivo de almace-
namiento, pero puede ser necesario un dispositivo de mayor capacidad y no tan
voltil como la memoria principal. Para que esto resulte viable, los sistemas de
tiempo real ofrecen un sistema de ficheros que suele sacrificar la optimizacin del
espacio para hacer el tiempo de acceso ms ajustado y regulado.
En la actualidad encontramos los sistemas de tiempo real como sistemas con un
objetivo especfico orientados a tareas muy concretas. A pesar de todo, tambin
hay sistemas de propsito general con extensiones de tiempo real. Por ejemplo,
el sistema VMS de la marca Digital es de este tipo.
Ejemplo de aplicacin de tiempo real
Supongamos un sistema de radar de un aeropuerto que capta seales de varios radares,realiza una composicin y, en caso de detectar una posible colisin, avisa a los aparatosimplicados y a la torre de control. Si se produce la colisin, el sistema tiene que ofrecerla posibilidad de proporcionar todos los datos que ha reunido para facilitar las investiga-ciones. As pues, el sistema podra estar formado por los siguientes procesos:
Los procesos que captan las seales de los radares. El proceso que analiza las seales para determinar las posibles colisiones. Los procesos que avisan del peligro. El proceso que almacena la informacin.
Figura 2
La figura...
... muestra los procesos posi-bles y sus prioridades relativas, as como los mecanismos de comunicacin y sincronizacin que podran utilizar.
-
FUOC P05/75097/00811 Mdulo 8 14 El estado del arte de los sistemas operativos actuales
3. Los sistemas operativos multiprocesador
Cada vez son necesarios sistemas ms rpidos para soportar un volumen de
trabajo mayor o para abordar problemas ms costosos en tiempo de clculo.
La forma de conseguirlo se basa en la mejora del hardware mediante las si-
guientes posibilidades:
1) Soluciones tecnolgicas que permiten ir cada vez ms rpido.
2) Soluciones arquitectnicas que permiten llevar a cabo ejecuciones concurren-
tes o en paralelo. Dentro de dichas soluciones nos encontramos con estas dos:
a) Mejorar el diseo del procesador.
b) Combinar procesadores que ya se encuentran en un sistema multiprocesador.
La ltima opcin suele ser la ms econmica y permite construir sistemas con
un crecimiento escalado en funcin de las necesidades.
3.1. Las arquitecturas multiprocesador
Podemos clasificar las arquitecturas multiprocesador teniendo en cuenta la re-
lacin que se establece entre procesadores y memoria:
Figura 3
-
FUOC P05/75097/00811 Mdulo 8 15 El estado del arte de los sistemas operativos actuales
a) Multiprocesadores acoplados fuertemente, tambin conocidos como sis-
temas de memoria compartida. En este caso, cada procesador ve y, por lo tanto,
puede acceder de manera directa a la totalidad de la memoria.
b) Multiprocesadores acoplados dbilmente, tambin denominados sistemas
de memoria distribuida. Cada procesador slo puede acceder a una memoria priva-
da. Los procesadores se comunican entre s por medio de mecanismos de paso de
mensajes.
Los multiprocesadores tambin se pueden clasificar segn la tipologa y las ca-
ractersticas de acceso de la red de interconexin que une los procesadores y
los mdulos de memoria, o los procesadores entre s. Sin embargo, vamos a
dejar este anlisis para un estudio arquitectnico de los multiprocesadores,
tema que, por otra parte, no es el objeto de esta asignatura.
3.2. Las ventajas de los sistemas multiprocesador
Las principales ventajas de los sistemas multiprocesador con respecto a los
monoprocesador se pueden resumir en las siguientes:
1) La tolerancia a fallos: los sistemas multiprocesador se pueden haber dise-
ado para trabajar aunque slo funcionen algunos de los procesadores que los
integran. Esta caracterstica hace que, en caso de fallo de algn componente
del sistema, el usuario, a pesar de que aprecia la prdida lgica de rendimiento,
pueda continuar trabajando. Cada vez es ms habitual que ni siquiera se tenga
que detener el sistema para reemplazar alguno de los componentes, ya sea por-
que se han estropeado o porque se tienen que actualizar.
2) El rendimiento y la potencia de clculo: el hecho de disponer de varios
procesadores permite abordar en paralelo ms de una aplicacin o bien partir
las aplicaciones en tareas que se ejecutan en paralelo. De este modo, en un sis-
tema multiprocesador podemos abordar los dos tipos de problemas que pre-
sentamos a continuacin:
El aumento de la productividad del sistema, entendiendo por productivi-
dad el nmero de procesos ejecutados por unidad de tiempo.
El aumento de la velocidad con que se ejecutan las aplicaciones.
Este abanico de posibilidades nos permitir obtener un alto rendimiento del
sistema.
3) El crecimiento modular: cada sistema multiprocesador est diseado para
interconectar un nmero mximo de procesadores. Ahora bien, el sistema
tambin puede funcionar, tal y como hemos comentado con anterioridad,
con un nmero menor de procesadores. Esta circunstancia permite que cada
-
FUOC P05/75097/00811 Mdulo 8 16 El estado del arte de los sistemas operativos actuales
instalacin se dimensione en funcin del trabajo que tenga que soportar, y
que pueda crecer, con la incorporacin de nuevos procesadores, si las necesi-
dades lo requieren. De esta manera se evita la renovacin de todo el sistema,
que es lo que ocurrira con el sistema monoprocesador.
4) La especializacin funcional: los sistemas multiprocesador pueden ser he-
terogneos, es decir, los procesadores que los integran pueden ser diferentes
en funcin de las necesidades de cada instalacin.
5) La flexibilidad: todas las caractersticas anteriores hacen que estos sis-
temas presenten un grado de flexibilidad superior al de los sistemas monopro-
cesador.
3.3. Tipos de sistemas operativos multiprocesador
Los sistemas operativos multiprocesador, en funcin de los objetivos de rendi-
miento que se hayan fijado, pueden tener bsicamente dos apariencias externas:
En los sistemas orientados a aumentar la productividad, el usuario tiene
una visin idntica a la que tendra, por ejemplo, en un sistema monopro-
cesador de propsito general.
En los sistemas orientados a aumentar la velocidad, el usuario trabaja de
manera diferida. En este caso, el desarrollo de las aplicaciones y el trabajo in-
teractivo en general se efectan en un sistema previo al multiprocesador de-
nominado front-end, que se encarga de enviar a las colas de trabajo diferido los
procesos que se tienen que llevar a cabo, as como de recoger sus resultados.
Los sistemas operativos multiprocesador pueden clasificarse en funcin de su
estructura interna en los tres modelos bsicos siguientes:
1) El modelo de supervisores separados
Como todos los modelos de sistemas operativos multiprocesador que veremos,
este modelo se puede aplicar a cualquier tipo de multiprocesador y a cualquier
objetivo, aunque se suele encontrar en multiprocesadores de memoria distribui-
da. Su objetivo bsico suele ser aumentar la velocidad de ciertas aplicaciones,
para cuya consecucin se dividen las aplicaciones en tareas que se ejecutan en
En el modelo de supervisores separados cada procesador tiene un sistema
operativo independiente que funciona como un sistema casi aislado.
Para aprovechar la arquitectura multiprocesador, cada sistema operativo
(supervisor) dispone de algunos servicios como el de comunicacin entre
procesos de diferentes procesadores. No obstante, no suelen tener herra-
mientas eficientes para repartir la carga entre los diferentes procesadores.
-
FUOC P05/75097/00811 Mdulo 8 17 El estado del arte de los sistemas operativos actuales
paralelo en diferentes procesadores. Suelen trabajar en ejecucin diferida y de-
jan el trabajo interactivo para un sistema monoprocesador con menos presta-
ciones.
Los sistemas hipercubo constituyen un caso comn de sistemas supervisores.
Cada nodo de la red tiene un ncleo de SO que lleva a cabo la gestin de pro-
cesos y de la memoria e implementa los mecanismos de comunicacin me-
diante el paso de mensajes. La asignacin de procesadores a programas que se
tienen que ejecutar se suele hacer estrictamente a mano o con utilidades ex-
ternas al SO; despus, un cargador distribuye las diferentes tareas a cada pro-
cesador en funcin de la asignacin preestablecida.
2) El modelo maestro/esclavo
Este modelo permite gestionar mejor la asignacin de procesos a procesadores
que el modelo anterior. Su diseo es muy similar al de los sistemas monoprocesa-
dor, pero se diferencian bsicamente por el modelo de planificacin de los proce-
sadores, motivo por el cual su aplicacin resulta poco costosa. La ejecucin del
sistema se lleva a cabo, tal y como hemos dicho, sobre un nico procesador, de
manera que este modelo no es vlido para multiprocesadores con muchos proce-
sadores, ya que el acceso al maestro se puede convertir en un cuello de botella.
Este modelo, a pesar de que puede funcionar bien en cualquier caso, en gene-
ral gestiona multiprocesadores de memoria compartida con un nmero pe-
queo de procesadores. Su objetivo bsico es el aumento de la productividad
del sistema, y ofrece a sus usuarios una visin muy similar a la que proporcio-
nan los sistemas interactivos monoprocesador, con la ventaja aadida de que
permite ejecutar aplicaciones en paralelo
3) El modelo simtrico
En este modelo, un procesador, el maestro, se encarga de ejecutar el sis-
tema operativo mientras que el resto de los procesadores, los esclavos,
se dedican a ejecutar los procesos que el maestro les encarga. Los proce-
sadores esclavos tienen capacidad para ejecutar llamadas elementales al
sistema; a pesar de todo, la mayor parte de los servicios los realiza el
maestro directamente.
En un esquema simtrico, todos los procesadores tienen las mismas
competencias*. Lo ms usual es que los recursos de todo el sistema se
encuentren a disposicin de todos los procesos. En tal caso, a diferencia
de los dos casos anteriores, el sistema se ejecuta en paralelo, de modo
que constituye en s mismo una aplicacin concurrente y, como tal, ne-
cesita utilizar de manera interna herramientas de sincronizacin y ex-
clusin mutua para gestionar sus recursos sin conflictos.
Sistemas hipercubo
Los sistemas hipercubo son sis-temas de memoria distribuida con una topologa de red de interconexin en forma de hi-percubo.
* Todos los procesadores pueden ejecutar el sistema.
-
FUOC P05/75097/00811 Mdulo 8 18 El estado del arte de los sistemas operativos actuales
La forma ms simple de implementar un sistema de estas caractersticas es lo
que se conoce como maestro flotante. En este caso, el sistema constituye una
gran exclusin mutua, y slo un procesador puede ejecutar al mismo tiempo
el SO. Con esta idea, convertir en portable un sistema monoprocesador es re-
lativamente fcil.
Este modelo est especialmente indicado para sistemas de memoria comparti-
da, en los que el objetivo es la productividad.
-
FUOC P05/75097/00811 Mdulo 8 19 El estado del arte de los sistemas operativos actuales
4. Los sistemas operativos en red y los sistemasoperativos distribuidos
La aparicin de las redes de computadores es uno de los elementos que ms ha
transformado el mundo de los sistemas operativos. En poco tiempo se ha pasa-
do de los sistemas cerrados, sistemas aislados sin red, a los sistemas abiertos,
sistemas interconectados mediante una red. Hoy da, la evolucin de esta situa-
cin nos ha llevado hasta los sistemas distribuidos. En el transcurso de este apar-
tado analizaremos dicha evolucin y algunas de las ideas en que se basa.
4.1. El entorno distribuido
La comunicacin y la sincronizacin en este modelo se basan en el paso de
mensajes. Las caractersticas propias de la red, como pueden ser los retrasos en-
tre el momento en que se produce un mensaje y el momento de su recepcin,
hacen imposible que un nodo del sistema distribuido conozca, en un instante
concreto, el estado global del sistema. Por otra parte, la propia estructura abier-
ta de las redes de comunicaciones configura un entorno fcilmente vulnera-
ble. Todo esto hace que las tcnicas que se aplican habitualmente a sistemas
cerrados, sin red de interconexin, se tengan que revisar y/o redefinir.
Las principales ventajas de los entornos distribuidos son las siguientes:
1) La comparticin de recursos: la aparicin de las redes ha permitido renta-
bilizar los recursos mediante la comparticin. La existencia de la red hace que
todos sus usuarios puedan acceder a recursos caros*, independientemente de
su ubicacin.
2) La comunicacin y la comparticin de informacin: la red permite que pro-
cesos y usuarios intercambien y compartan informacin. Este hecho hace posible:
a) La cooperacin tanto de personas como de aplicaciones mediante herra-
mientas como, por ejemplo, la mensajera electrnica. Es muy probable que
Podramos definir el entorno distribuido como varios sistemas interco-
nectados con una red que tienen la capacidad de cooperar y comunicarse
gracias a esta red y al software que la gestiona. Estos sistemas presentan las
siguientes caractersticas:
No disponen de memoria compartida.
Tienen el estado del sistema repartido entre los diferentes componentes.
Tienen los condicionamientos propios de redes de interconexin:
retrasos y fragilidad en la seguridad.
* Recursos como algunos perifricos, procesadores especializados,
sistemas de ficheros, aplicaciones, etc.
-
FUOC P05/75097/00811 Mdulo 8 20 El estado del arte de los sistemas operativos actuales
este hecho sea el que mayor impacto y repercusin ha tenido entre los usua-
rios de las redes.
b) La ejecucin de aplicaciones en paralelo.
3) La fiabilidad, la disponibilidad y la tolerancia a fallos: la interconexin
de muchos equipos informticos mediante una red abre las puertas a una serie
de tcnicas que hasta ahora se haban estado reservando a equipos muy espe-
cializados y caros.
La coexistencia de diferentes equipos hace posible la implementacin de tc-
nicas que aumenten la fiabilidad, como la duplicacin de clculos en ms de
un equipo y por mtodos diferentes, entre otros. La disponibilidad de equipos
independientes hace que la cada de uno no paralice la totalidad del sistema,
como ocurrira con un gran sistema aislado. En este caso, los usuarios aprecian
una disminucin del rendimiento, pero pueden continuar trabajando.
Otro aspecto de este mismo punto es la posibilidad de duplicar las funciones
y servicios, puesto que, de esta manera, se puede garantizar el funcionamiento
del sistema aunque una parte de ste haya fallado.
4) El crecimiento progresivo: la flexibilidad con que la red permite conectar
de manera gradual nuevos elementos hace posible llevar a cabo una poltica
de actualizacin y adaptacin a las circunstancias que no es viable en un sis-
tema cerrado.
El crecimiento progresivo permite que, a medida que es necesario tener ms
potencia de clculo o una mayor capacidad de disco, se pueden ir incorporan-
do al sistema sin tener que desecharlo y comprarlo de nuevo.
5) El rendimiento: para finalizar, el conjunto de ventajas anteriores hace que
el rendimiento global del sistema pueda ser elevado, e incluso superior en al-
gunos puntos al que se obtendra con un sistema centralizado.
4.2. Definicin y evolucin de los sistemas operativos en red
As pues, un sistema operativo distribuido integra el conjunto de elementos
que contiene la red en un nico sistema y ofrece al usuario una mquina de
nivel ms alto que esconde las particularidades de su gestin. Cada usuario tie-
ne que ser nico para todo el sistema, debe tener los mismos derechos en cual-
quier punto de la red, no debe saber en qu nodo se ejecutan sus programas,
dnde residen sus ficheros, etc.
Denominamos sistema operativo distribuido el sistema operativo que
engloba y gestiona un entorno distribuido de manera transparente para
el usuario.
-
FUOC P05/75097/00811 Mdulo 8 21 El estado del arte de los sistemas operativos actuales
Figura 4
Ms adelante tendremos ocasin de ver que se produce una gradacin en el
nivel de transparencia e integracin que va desde sistemas independientes con
servicios sobre el entorno distribuido totalmente visibles para el usuario los
sistemas en red, hasta los sistemas propiamente distribuidos.
A continuacin veremos ejemplos de esta gradacin en los campos de los pro-
cesos, los sistemas de ficheros y la proteccin:
-
FUOC P05/75097/00811 Mdulo 8 22 El estado del arte de los sistemas operativos actuales
1) La ejecucin de procesos
Cuando se quiere ejecutar una aplicacin en un sistema cerrado no nos preocupa
desde dnde se ejecutar, ni cul o cmo ser el entorno de ejecucin. Esta situa-
cin que parece obvia no lo es tanto cuando en nuestro sistema tenemos una red.
Acto seguido veremos diferentes situaciones que podemos encontrar en funcin
del grado de distribucin que posea el sistema que utilicemos:
a) Desde el sistema local, para ejecutar una aplicacin sobre una mquina
concreta del sistema nos tenemos que conectar mediante una operacin del
tipo telnet que nos abre una sesin completa sobre la mquina remota. Esta
sesin comporta un cambio completo de entorno: desde el punto de vista del
usuario, la mquina local desaparece para ser sustituida por la remota.
b) Desde el sistema local se puede dar la orden de ejecutar una aplicacin con-
creta sobre una mquina remota, por ejemplo mediante la operacin de UNIX
rsh (remote shell). El entorno del usuario contina siendo el de la mquina lo-
cal, mientras que la mquina remota abre una sesin para ejecutar la aplica-
cin. La mquina remota tiene que poder acceder al ejecutable de la aplicacin
desde este nuevo entorno que configura la sesin. Ambos entornos, el de la
aplicacin y el del usuario, son diferentes y disyuntos.
c) Un paso ms en direccin a la distribucin lo constituye el hecho de que
el mismo sistema local tuviese una llamada al sistema crear_ proceso con un pa-
rmetro con el que poder especificar la mquina donde se quiere ejecutar la
aplicacin. Se podra suponer que esta llamada permite la transferencia de par-
te del entorno de ejecucin del usuario local a la mquina remota, como m-
nimo el ejecutable de la aplicacin. La diferencia principal con respecto de la
situacin anterior es que la distribucin la realiza directamente el SO, mientras
que en el caso anterior se haca mediante una aplicacin externa al SO.
d) Finalmente, en el sistema local nos encontramos la llamada al sistema
crear_ proceso, que localiza automticamente la mquina del sistema ms ade-
cuada para realizar la ejecucin y crea un proceso. El entorno de ejecucin es
el mismo que tendra si la ejecucin fuese local y el usuario desconoce qu m-
quina ha ejecutado finalmente la aplicacin.
2) El sistema de ficheros
Cuando se accede a un fichero no se piensa en qu disco est, si est en un
disco o en la memoria, etc. El sistema nos gestiona los ficheros y los discos para
ofrecernos, as, las mejores prestaciones. El hecho de tener la red nos permite
compartir ficheros entre los usuarios de la misma. Cuando trabajamos en red
no sabemos exactamente dnde est el fichero, si lo tenemos que copiar, si se
encuentra en el formato adecuado para poder ser ejecutado, etc.
Veamos qu niveles de servicio nos puede ofrecer el sistema:
a) Si se quiere compartir un fichero remoto del sistema, el usuario tiene que co-
piarlo de manera explcita dentro del sistema local de ficheros y, para hacerlo, se
-
FUOC P05/75097/00811 Mdulo 8 23 El estado del arte de los sistemas operativos actuales
utiliza una aplicacin especfica como puede ser ftp. En tal caso, los sistemas de
ficheros local y remoto son totalmente disyuntos. La responsabilidad de saber
dnde se encuentran los ficheros, mantener la coherencia entre las copias que se
realicen, hacer conversiones de tipos de datos, etc. pertenece al usuario.
b) El sistema operativo tiene un espacio de nombres que incluye el nmero
de la mquina remota. En este caso, el usuario contina teniendo las mismas
responsabilidades que en el caso anterior, pero no es necesario que ejecute una
aplicacin externa para llevar a cabo la transferencia de ficheros, ya que el SO
se encarga de esto desde las llamadas al sistema.
c) Otra posibilidad nos la ofrecen entornos como el del sistema de ficheros
NFS (Network File System) de UNIX. Ahora el sistema ofrecer al usuario un ni-
co espacio de nombres que integra los sistemas de ficheros de las mquinas de
la red. En este caso, el acceso a ficheros se realiza de manera remota, sin nece-
sidad de transferir una copia de los ficheros al sistema local. El usuario no sabe
dnde se ubican los ficheros y la reparticin de los ficheros entre las mquinas
se efecta en funcin del directorio en el que se crea cada fichero.
d) En un sistema distribuido, el usuario tiene la misma visin que en un sis-
tema aislado. Aqu el sistema se encarga de distribuir los ficheros entre los dis-
cos de la red, replicarlos o moverlos si conviene por motivos de seguridad o de
eficiencia en el acceso.
3) La proteccin
En un sistema cerrado, cada usuario tiene asociado un dominio de proteccin
que se activa cuando se inicia una sesin de trabajo y que le da los derechos
necesarios para llevar a cabo la tarea que tenga asignada. Una vez dentro del
sistema, ya no se tiene que preocupar del domino donde est trabajando y de
si tiene que cambiar o no de dominio.
El hecho de saber en qu dominio nos encontramos depender, como en los
casos que hemos visto hasta ahora, del grado de distribucin del sistema.
a) Una primera opcin es que las mquinas de un entorno distribuido tengan
dominios de proteccin totalmente separados. De este modo, cada mquina
tiene sus usuarios con sus derechos independientes de los del resto. Por ejem-
plo, en UNIX tendramos que hacer un telnet o un rlogin (remote login)para acceder a una mquina remota. En cada mquina podramos tener un
nombre de usuario, una contrasea, un UID y un GID diferentes.
Este hecho tiene una importancia especial si se consideran sistemas con un
cierto grado de distribucin, como un sistema de ficheros con NFS. En estos
tipos de entornos el administrador del sistema ser el encargado de mantener
coherentes los dominios en todas las mquinas del sistema.
b) Una opcin ms avanzada es que los sistemas posean tablas de conversin en-
tre dominios de mquinas diferentes. Cuando un usuario accede a un sistema
remoto no es necesario que se autentifique de nuevo, ya que el sistema local in-
Podis ver los dominios de proteccin en el subapartado 4.1. del mdulo didctico El sistema de ficheros.
Podis ver el UID y el GID en el apartado 4 del mdulo didcticoLa gestin de procesos.
Por ejemplo...
... los ficheros creados por un usuario en una mquina, con un UID y GID propietarios con-cretos, no los reconocera como suyos si accediese desde otra mquina. En el peor de los casos, podran acceder otros usuarios que tuviesen el mismo UID en otra mquina de la red.
-
FUOC P05/75097/00811 Mdulo 8 24 El estado del arte de los sistemas operativos actuales
forma al sistema remoto de qu usuario se trata y ste lo convierte automtica-
mente en un usuario reconocido por l. UNIX ofrece esta posibilidad mediante
los ficheros denominados hosts.equiv, que contienen las tablas de conversin.
c) Por ltimo, en un sistema distribuido los usuarios tienen un nico domi-
nio, independientemente de la mquina del sistema con que trabajen. UNIX,
mediante los paquetes YP (yellow pages), permite tener un UID y un GID ni-
cos asociados a un nombre de usuario y a una contrasea para todas las m-
quinas del sistema.
4.3. Tipos de sistemas operativos distribuidos
Desde el punto de vista externo, los sistemas operativos distribuidos pueden
ofrecer los mismos servicios que un sistema de propsito general, se pueden
orientar hacia el trabajo interactivo, la mejora de la productividad, la accesibi-
lidad y la tolerancia de fallos, etc.
Desde el punto de vista interno, su estructura se basa en el modelo cliente/servidor,
y utilizan paradigmas de comunicacin que van desde el paso de mensajes hasta
los objetos distribuidos, pasando por las llamadas a procedimientos remotos.
La forma como los sistemas agrupan y gestionan los diferentes servicios nos
permite establecer una clasificacin en los dos tipos siguientes:
1) El modelo monoltico
Podis ver el modelo cliente/servidor en el subapartado 1.1.de este mdulo didctico.
Figura 5
-
FUOC P05/75097/00811 Mdulo 8 25 El estado del arte de los sistemas operativos actuales
La principal ventaja del sistema monoltico es la integracin en un nico
espacio de todos los servicios, circunstancia que nos permitir llevarlos a cabo
con un coste reducido con respecto a los microncleos, ya que la mayora de
los servidores se encuentran en el mismo espacio que el ncleo, por lo que no
es necesario que se produzcan cambios de espacios de direcciones ni transfe-
rencias de informacin entre procesos.
2) Los modelos microncleo (-kernel)
En este modelo el SO se reduce a un ncleo que proporciona y gestiona los ob-
jetos ms bsicos: los procesos, la memoria y la comunicacin entre procesos.
El resto de los servicios viene proporcionado por servidores externos que se
Este modelo es el que han utilizado los sistemas operativos tradicional-
mente. Un sistema monoltico es un sistema en el que los servicios que
ofrece son gestionados por servidores que en su mayora forman parte
del ncleo del propio sistema y, por tanto, se encuentran dentro de su
espacio protegido. En cada nodo de la red se ejecuta el sistema comple-
to, e internamente los diferentes ncleos se coordinan para llevar a cabo
la gestin de los diferentes recursos.
Lecturas complementarias
Algunos sistemas monolticos son UNIX, Amoeba, Sprite, V kernel, etc. Encontraris ms informacin sobre estos sistemas en la bibliografa:
Milenkovic, M. (1994). Sistemas operativos, conceptos y diseo (2. ed.; trad. de A. Bautista). Madrid: McGraw-Hill.
Tanenbaum, A. (1993). Sistemas operativos modernos (trad. de O. Palmas). Mxico: Prentice Hall Hispanoamericana.
Figura 6
-
FUOC P05/75097/00811 Mdulo 8 26 El estado del arte de los sistemas operativos actuales
pueden crear y destruir de manera dinmica y que se pueden situar en cual-
quier nodo de la red. Para gestionar las entradas/salidas y proporcionar un me-
canismo de control de los traps y las llamadas al sistema, los microncleos
permiten, bajo el control del sistema de proteccin, que los servidores puedan
utilizar el espacio protegido del sistema. El usuario, en funcin del servidor
que utilice, puede ver diferentes interfaces o, lo que es los mismo, puede tener
la sensacin de trabajar con sistemas operativos diferentes o con subsistemas.
Las principales ventajas de los microncleos son las siguientes:
Son sistemas extraordinariamente abiertos que permiten al usuario adap-
tarse y evolucionar muy bien en entornos distribuidos.
Utilizan servidores externos, y esto les permite adaptarse con facilidad o
emular modelos de sistema para los que hay aplicaciones probadas; en con-
secuencia, permiten volver a aprovecharlas.
Tienen una dimensin reducida que hace posible desarrollarlos y depurar-
los con una mayor facilidad con respecto a los sistemas monolticos. Al
mismo tiempo, esto permite transportarlos a plataformas diferentes con
una mayor facilidad.
As pues, el microncleo es una capa de software que se encuentra en
todas las mquinas del sistema y que cubre el hardware y proporciona
un entorno bsico donde se ejecutan los servidores que configuran los
mencionados subsistemas.
Lectura complementaria
Los microncleos actuales ms conocidos son Mach y Chorus. Encontraris ms informacin sobre estos sistemas en la bibliografa:
Milenkovic, M. (1994). Sistemas operativos, conceptos y diseo (2. ed.; trad.de A. Bautista). Madrid: McGraw-Hill.
-
FUOC P05/75097/00811 Mdulo 8 27 El estado del arte de los sistemas operativos actuales
Resumen
A lo largo de este mdulo didctico hemos visto diferentes aspectos de los SO
actuales.
En primer lugar hemos introducido dos de los principales conceptos relacio-
nados con los sistemas operativos modernos:
a) El modelo cliente/servidor: este modelo es la base de los sistemas abiertos.
Como mecanismo de comunicacin entre cliente/servidor puede utilizar he-
rramientas de diferente nivel semntico: paso de mensajes, llamadas a proce-
dimientos remotos y objetos distribuidos.
b) Los procesos multiflujo.
En segundo lugar, hemos estudiado las principales caractersticas de los siste-
mas operativos que ahora mencionamos:
a) Los sistemas operativos de tiempo real, que son sistemas orientados a eje-
cutar aplicaciones con fuertes restricciones temporales. Su principal caracters-
tica es que pueden ofrecer mecanismos que permiten realizar una planificacin
en tiempo de las siguientes aplicaciones:
Los procesos con prioridad y residentes en la memoria fsica.
El acceso directo a los drivers de los dispositivos.
La comunicacin mediante memoria compartida.
La comunicacin y la sincronizacin con acontecimientos externos me-
diante mecanismos de seales.
El acceso a un sistema de ficheros optimizado en funcin del tiempo de ac-
ceso.
b) Los sistemas operativos multiprocesador, que son sistemas orientados a
conseguir los objetivos que presentamos a continuacin:
El aumento de la productividad del sistema, entendiendo por productivi-
dad el nmero de procesos ejecutados por unidad de tiempo.
El aumento de la velocidad con que se ejecutan las aplicaciones.
-
FUOC P05/75097/00811 Mdulo 8 28 El estado del arte de los sistemas operativos actuales
Dentro de estos sistemas podemos encontrar diferentes modelos:
El modelo de supervisores separados.
El modelo maestro/esclavo.
El modelo simtrico.
c) Los sistemas operativos distribuidos, que son una evolucin de los sis-
temas abiertos o sistemas en red. Como hemos visto, son sistemas que gestionan
de manera independiente todos los recursos de una red. Su flexibilidad y capa-
cidad de reconfiguracin y crecimiento escalonado, as como la facilidad para
aplicar tcnicas que permiten la tolerancia a fallos, los convierten en sistemas
muy atractivos. Por otra parte, sus principales inconvenientes son la dificultad
que presentan para gestionar el estado global del sistema y el hecho de que hay
que prever el proceso de recuperacin de las posibles cadas de la red.
Los principales modelos de sistema distribuido son los dos siguientes:
El modelo monoltico.
El modelo microncleo.
-
FUOC P05/75097/00811 Mdulo 8 29 El estado del arte de los sistemas operativos actuales
Actividades
1. Analizad las caractersticas de Windows 95 y de UNIX relacionadas con los tipos de siste-mas operativos que hemos estudiado.
2. Analizad qu servidores tiene en marcha la versin de UNIX que utilizis para las prcticas.
3. Observad las seales (signals) que ofrece UNIX y analizad si son adecuadas para un sistemaoperativo de tiempo real.
Glosario
entorno distribuidoConjunto de sistemas interconectados con una red que son capaces de cooperar y comuni-carse gracias a esta red y al software que la gestiona.
maestro/esclavoModelo de SO multiprocesador en el que un procesador, el maestro, se encarga de ejecutar elsistema operativo y el resto de los procesadores, los esclavos, se dedica a ejecutar los procesosque el maestro le encarga.
microncleoModelo de SO utilizado principalmente por sistemas operativos distribuidos. En este modelo,el SO se reduce a un ncleo que proporciona y gestiona los objetos ms bsicos: procesos,gestin de memoria y comunicacin entre procesos. El resto de los servicios los proporcionanservidores externos que se pueden crear y destruir de manera dinmica y que pueden estarsituados en cualquier nodo de la red.
modelo cliente/servidorParadigma de programacin en el que intervienen un cliente que solicita un servicio y el ser-vidor que lo proporciona. La comunicacin entre cliente y servidor se efecta mediante me-canismos basados en el paso de mensajes. Este modelo es la base de los sistemas abiertos ydistribuidos.
modelo simtricoModelo de SO multiprocesador en el que todos los procesadores tienen las mismas compe-tencias, todos pueden ejecutar el sistema.
procesos multiflujoProcesos con ms de una secuencia de ejecucin en los que cada flujo se caracteriza por unapila, unos registros del procesador y un contador de programa. El resto de los elementosque configuran el entorno de ejecucin son compartidos con el resto de los flujos del pro-pio proceso.
SO abiertoCaso contrario a un SO cerrado, es decir, en red. Ved SO en red.
SO cerradoEn el marco de este mdulo, sistema aislado sin red. En un sentido ms amplio de la palabraaislado, se podra decir que es un sistema que no utiliza aplicaciones, protocolos, etc., es de-cir, estndar y, por tanto, slo puede utilizar aplicaciones nativas de su sistema.
SO de tiempo realSistema que se orienta a ejecutar aplicaciones con fuertes restricciones temporales que puedeofrecer mecanismos que permitan realizar una planificacin en tiempo de las aplicaciones.
SO distribuidoSistema operativo que engloba y gestiona un entorno distribuido de manera transparentepara el usuario.
SO en redSistema operativo independiente con servicios sobre el entorno distribuido visibles para elusuario.
SO monolticoSistema operativo en el que los servicios que ofrece estn gestionados por servidores que ma-yoritariamente forman parte del ncleo del propio sistema y, en consecuencia, se encuentrandentro de su espacio protegido.
-
FUOC P05/75097/00811 Mdulo 8 30 El estado del arte de los sistemas operativos actuales
SO multiprocesadorSistema operativo que gestiona una arquitectura multiprocesador.
supervisores separadosModelo de SO multiprocesador en el que cada procesador tiene su sistema operativo inde-pendiente que funciona como un sistema casi aislado.
Bibliografa
Bibliografa bsica
Milenkovic, M. (1994). Sistemas operativos, conceptos y diseo (2. ed.; trad. de A. Bautista).Madrid: McGraw-Hill.
Silberschatz, A.; Peterson, J.; Galvin, P. (1994). Sistemas operativos, conceptos fundamen-tales (3. ed.; trad. de E. Morales). Wilmington: Addison-Wesley Iberoamericana.
Tanenbaum, A. (1993). Sistemas operativos modernos (trad. de O. Palmas). Mxico: PrenticeHall Hispanoamericana.
Bibliografa complementaria
Singhal, M.; Shivaratri, N. (1994). Advanced Concepts in Operating Systems, Distributed, Da-tabase and Multiprocessors Operating Systems. Nueva York: McGraw-Hill.
Couloris, G.; Dollimore, J.; Kindberg, T. (1995). Distributed Systems, Concepts and Design(2. ed.). Wokingham: Addison-Wesley.