Está en la página 1de 36

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos

para sistemas distribuidos Bibliograf a

Tema 2. Arquitecturas de Sistemas Operativos


Juan Piernas C anovas
Departamento de Ingenier a y Tecnolog a de Computadores Universidad de Murcia

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Indice
1 2 3 4

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach Sistemas operativos para sistemas distribuidos
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

N ucleos monol ticos


Todo el software y las estructuras de datos est an ubicados en un u nico m odulo l ogico, sin interfaces expl citas entre las partes del SO Pr acticamente, no hay ocultaci on de la informaci on: cualquier procedimiento puede ver a cualquier otro y acceder a cualquier estructura de datos Se utilizan porque: es dif cil particionar un SO debido a las muchas interrelaciones entre las partes suelen ser muy ecientes cuando son correctamente implementados tal vez sea la estructura m as sencilla para SSOO peque nos Inconvenientes: son dif ciles de mantener y de comprender
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

N ucleos monol ticos


Ejemplos: MS-DOS y UNIX Es importante observar que monol tico = software no estructurado Posible organizaci on:
Proc. principal: atiende las llamadas al sistema en 1a instancia Proc. de servicio: ejecutan la llamada al sistema Proc. auxiliares: apoyan a los proc. de servicio
Juan Piernas C anovas
Main procedure

Service procedures

Utility procedures

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Organizaci on modular

La funcionalidad se encuentra dividida entre componentes l ogicos independientes con interfaces bien denidas Un SO modular se implementa mediante diversos m odulos de programa y/o procesos Ventajas: f aciles de mantener y modicar debido a la encapsulaci on funcional y a la abstracci on de datos Inconveniente: potencial degradaci on del rendimiento Ejemplo: Choices, Linux (?),. . .

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Choices: un SO orientado a objetos (1987)


SO de investigaci on, experimental, construido con un lenguaje y un dise no orientados a objetos Objetivos: poder experimentar con diversas aproximaciones mediante el prototipado r apido y poder transportar f acilmente el sistema a nuevas m aquinas Organizaci on: Cualquier elemento del SO es un objeto Las clases base representan a los m odulos del SO La estructura del SO se captura en una jerarqu a de frameworks (marcos) de objetos: Un marco describe un conjunto de submarcos que se emplean como clases base Un marco dene las interacciones y relaciones gen ericas entre las clases base
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Choices: un SO orientado a objetos

Con esta organizaci on, cuando Choices se implementa en una nueva plataforma hardware:
las funciones de los m odulos, las interfaces y las interacciones est an ya denidas la implementaci on de un m odulo se hereda desde la clase base y despu es se rena para realizar la implementaci on sobre un hardware concreto Programaci on orientada a objetos (C++) a nivel de S.O.

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Choices: submarco del gestor de memoria

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Organizaciones estraticadas o por capas


La funcionalidad se divide en una jerarqu a de m aquinas abstractas donde las funciones de la capa i est an implementadas mediante las funciones proporcionadas por la capa i 1 Problema: cantidad, orden y contenido de las capas Ventajas:
Modularidad Ocultaci on de la informaci on Vericaci on capa a capa

Si todas las capas del SO en modo n ucleo SO monol tico? Ejemplo: THE, Venus, Windows Server (?), . . .
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Organizaciones estraticadas o por capas

Estructura estraticada de THE


Nivel Nivel Nivel Nivel Nivel Nivel 5 4 3 2 1 0 Programas de usuario Gesti on de E/S Consola del Operador Gesti on de memoria Planicaci on de la CPU y sincronizaci on Hardware

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Estructura de Windows NT
POSIX program Service process POSIX subsystem Win32 program Win32 subsystem OS/2 program OS/2 subsystem User mode Kernel mode

System interface (NT DLL.DLL)

System services I/O mgr File sys D Object Process Memory Security Cache mgr mgr mgr mgr mgr Kernel Hardware Abstraction layer (HAL) Hardware
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

PnP mgr

Power Config mgr mgr

LPC mgr

Win32 GDI Video driver

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Estructura de Windows 2003

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

N ucleos extensibles o micron ucleos


Organizaci on modular especializada pensada para sistemas de tiempo real, de tiempo compartido, multimedia, etc. Un micron ucleo es un peque no n ucleo del SO que proporciona las bases para ampliaciones modulares La idea: s olo las funciones absolutamente esenciales del n ucleo del SO deben permanecer en el micron ucleo Las aplicaciones y los servicios menos esenciales se construyen sobre el micron ucleo y se ejecutan en modo usuario. Por ejemplo: manejadores de dispositivo, sistemas de cheros, gestores de memoria virtual, etc. El micron ucleo es el nexo de uni on de los elementos que se ejecutan en el modo de usuario
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

N ucleos extensibles o micron ucleos


En una arquitectura micron ucleo podemos distinguir tipos de m odulos:
m odulos troncales, independientes de cualquier pol tica m odulos espec cos, depedientes de cierta pol tica

Los m odulos troncales implementan el micron ucleo:


No proporcionan una funcionalidad completa de SO Crean un entorno de trabajo able de prop osito general sobre el que se asientan los m odulos dependientes de la pol tica Proporcionan una m aquina virtual de bajo nivel con una gesti on b asica de procesos, memoria y dispositivos

Los m odulos espec cos:


denen el comportamiento nal del SO complementan al micron ucleo creando un SO completo se suelen implementar mediante procesos servidores
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

Ventajas de una organizaci on micron ucleo


1

2 3 4

Uniformidad de interfaces: los procesos solicitan cualquier servicio enviando un mensaje Extensibilidad: es f acil a nadir nuevos servicios Flexibilidad: el producto nal es totalmente congurable Transportabilidad: basta con cambiar algunas partes del micron ucleo Fiabilidad: un peque no micron ucleo puede probarse de un modo muy riguroso Soporte para sistemas distribuidos: los mensajes se pueden enviar entre procesos locales y remotos Soporte para SSOO orientados a objetos: mediante alg un modelo de componentes
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

Rendimiento de los micron ucleos


El rendimiento es el caballo de batalla Caracter sticas de la 1a generaci on (Mach, Chorus,. . . )
IPC lento respecto a las llamadas al sistema Gran n umero de cambios de modo usuario/n ucleo y de espacios de direcciones Micron ucleos grandes ( 300 KB): muchos servicios dentro del n ucleo Interfaces complejas ( 140 llamadas al sistema)

Caracter sticas de la 2a generaci on (L4, exokernels,. . . )


IPC muy r apido, tanto o m as que una llamada al sistema Micron ucleos peque nos ( 12 KB) Interfaces peque nas ( 7 llamadas al sistema)
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

Dise no de micron ucleos


Un micron ucleo debe incluir aquellas funciones b asicas que dependen directamente del hardware y que dan soporte a las aplicaciones y los servidores: gesti on de procesos y de memoria de bajo nivel, IPC y gesti on de interrupciones y E/S Gesti on de procesos
Micron ucleo: cambio de contexto Servidor: algoritmo de planicaci on

Gesti on de la memoria de bajo nivel


Micron ucleo: trata los fallos de p agina (parcialmente) y establece las asociaciones p aginamarco Servidor: algoritmo de reemplazo de p aginas y pol tica de protecci on/compartici on de los espacios de direcciones
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

Dise no de micron ucleos


Comunicaci on entre procesos
Micron ucleo: gesti on de mensajes, puertos y capacidades Servidor: mensajes entre sistemas remotos

Gesti on de interrupciones y E/S


Micron ucleo: convierte int. en mensajes y proyecta puertos de E/S en memoria Servidor: atiende mensajes (int.) y gestiona dispositivos Ejemplo de un hilo de manejador:
do esperaPor(msg, emisor); if (emisor == mi interrupcion hardware) { leer/escribir puertos de E/S; reiniciar interrupcion hardware; } else ... while (true);
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

Tipos de micron ucleos

Los n ucleos extensibles o micron ucleos los podemos clasicar, a grandes rasgos, en 3 tipos:
m aquinas virtuales exokernels modelos cliente-servidor

Se diferencian, principalmente, en los servicios proporcionados por el micron ucleo

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

M aquinas virtuales
El monitor de m aquina virtual (el micron ucleo) se ejecuta sobre el HW directamente, realiza la multiprogramaci on y proporciona varias m aquinas virtuales a la capa superior El SO no a nade funcionalidad nueva Las m aquinas virtuales son copias exactas del HW Es posible ejecutar varios SSOO a la vez Ejemplo: VM/370 de IBM con CMS (ojo: a nos 70)
Virtual 370s

System calls here I/O instructions here Trap here CMS CMS VM/370 370 Bare hardware CMS Trap here

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

M aquinas virtuales
Ejemplo: el modo 8086 virtual de los procesadores 386
En este modo, el procesador act ua como un 8086 Instrucciones normales: se ejecutan en el HW directamente Interrupciones y operaciones protegidas de E/S: salto (trap ) al monitor de la m aquina virtual Dos variantes (seg un qui en trate la llamada al sistema):
1

MS-DOS (u otro SO) se ejecuta en el 8086 virtual y las llamadas al sistema se rebotan al SO El monitor atiende las llamadas al sistema (necesario un monitor espec co)

En cualquier caso, la E/S siempre la atiende el monitor haciendo uso del SO antri on

Otros ejemplos: VMWARE, VirtualBox, JVM, QEMU, . . .


Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

Exokernels
Presentan una copia exacta de la m aquina real pero con un subconjunto de los recursos de la misma Caracter sticas de un exokernel: Se ejecuta en la capa m as baja, en modo n ucleo Asigna recursos a las m aquinas virtuales, las cuales son conscientes de qu e recursos se les han asignado Controla los intentos de uso de los recursos, evitando interferencias entre las m aquinas virtuales Cada m aquina virtual puede ejecutar su propio SO, que estar a limitado a los recursos asignados Son m as r apidos al eliminar un nivel de traducci on o correspondencia (no hay discos duros virtuales, etc.) Tambi en separa la multiprogramaci on (en el exokernel) y el c odigo del SO del usuario (en el espacio de usuario)
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

Modelos cliente-servidor
No simulan una m aquina Tratan de subir c odigo del SO a capas superiores (en espacio de usuario) dejando un micron ucleo m nimo Dos tipos de procesos: proceso cliente (solicita un servicio) y proceso servidor (proporciona un servicio) El n ucleo maneja la comunicaci on entre clientes y servidores, la cual se realiza, habitualmente, intercambiando mensajes:
Client process Client process Process server Terminal server Microkernel Client obtains service by sending messages to server processes File server Memory server User mode Kernel mode

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

Modelos cliente-servidor
Al dividir el SO en partes (servidores), este es m as f acil de implementar, depurar y extender Los servidores se ejecutan en espacio de usuario el fallo de un servidor no tiene por qu e afectar a todo el sistema Problema: algunos servidores necesitan acceder al hardware. Dos soluciones: Algunos servidores dentro del n ucleo Mensajes especiales que el kernel reconoce y trata El modelo cliente-servidor es f acilmente adaptable a sistemas distribuidos (Mach, Chorus, etc.):
Machine 1 Client Kernel Machine 2 File server Kernel Machine 3 Process server Kernel Machine 4 Terminal server Kernel

Network Message from client to server

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

El Sistema Operativo Mach (1986)


Objetivos:
Carnegie Mellon University investigaci on en organizaciones de SSOO que soporten de para entornos forma eciente el paso de mensajes Util distribuidos investigaci on en nuevos dise nos de memoria virtual para espacios de direcciones grandes y dispersos investigaci on sobre hilos soporte de comunicaciones seguras y transparencia de red exploraci on de las implicaciones pr acticas de la implementaci on de sistemas con un n ucleo extensible compatibilidad con la versi on 4.3 de UNIX BSD Ojo: 1986 (qu e habr a hecho que no triunfen?)
Base de los n ucleos m as modernos L4
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

El Sistema Operativo Mach

El micron ucleo de Mach proporciona mecanismos para la gesti on de procesos, memoria y dispositivos Puede crearse un SO deniendo un servidor que use el micron ucleo para implementar la interfaz deseada de SO El servidor de SO implementa el gestor de cheros y varios m odulos de pol tica para los mecanismos implementados en el micron ucleo

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

El Sistema Operativo Mach (gesti on de procesos)


Mach soporta tareas (procesos) e hilos. Los hilos son entidades del n ucleo que operan dentro de una tarea El gestor de procesos de Mach proporciona dos niveles de primitivas: uno para la gesti on de tareas y otro para la gesti on de hilos. La planicaci on de la CPU se hace en base a hilos Cuando hay varios procesadores, cada procesador y cada hilo se asigna a un conjunto procesador El planicador de cada conjunto procesador asigna hilos listos a los procesadores libres del conjunto El planicador es una cola multinivel con prioridades que favorece a los hilos que menos consumen CPU Hay hilos que s olo se pueden ejecutar en una CPU Puede haber procesadores que posean una cola local de planicaci on
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

El Sistema Operativo Mach (paso de mensajes)


Mach permite comunicaciones entre procesos (IPC) mediante mensajes y puertos Un puerto es una cola de mensajes tipados asociada a un proceso. Dicha cola posee un u nico punto de entrada (para escritura) y un u nico punto de salida (para lectura) Los puertos asociados a una tarea son compartidos por todos los hilos de la tarea. Un hilo puede leer de cualquier puerto de la tarea a la que pertenece Un hilo puede escribir en uno de los puertos de cualquier otro hilo (local o remoto) siempre que tenga permiso para ello Para el env o de mensajes a trav es de la red, cada m aquina posee un servidor de mensajes de red en el espacio de usuario. Conjuntamente, estos servidores permiten el intercambio de mensajes entre hilos remotos de forma transparente
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Caracter sticas de los micron ucleos M aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach

El Sistema Operativo Mach (gesti on de memoria)


En Mach, la gesti on de memoria se reparte entre: el gestor de memoria, que es un servidor en el esp. de usuario el manejador de fallos, que se ejecuta dentro del micron ucleo El gestor de memoria implementa la pol tica de reemplazo de p aginas y controla la posici on de las p aginas en disco El manejador de fallos se ejecuta cuando se produce un fallo de p agina y su funci on es la de resolver el fallo haciendo uso de los servicios proporcionados por el gestor de memoria La unidad de gesti on de memoria en Mach es el objeto de memoria y puede ser: una p agina, un conjunto de p aginas, una pila o incluso un chero (memory-mapped ) Los objetos de memoria se pueden asociar al espacio de direcciones virtuales de un proceso y se pueden transferir de un proceso a otro mediante mensajes
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Sistemas operativos para sistemas distribuidos


2 enfoques:
Sistemas operativos de red, que han evolucionado desde los SSOO convencionales Sistemas operativos distribuidos, que presentan una nueva organizaci on

Principal caracter stica diferenciadora: la transparencia de red, aunque a veces la frontera es difusa Los sistemas operativos de red:
no hay transparencia de red (o es parcial) proporcionan distintos servicios y mecanismos de comunicaci on entre procesos: transferencia de cheros, interconexi on de terminales, sistemas de cheros remotos, IPC, RPC, . . .

Ejemplos de SSOO de red: cualquier versi on actual de UNIX, Linux y Windows Server
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Sistemas operativos para sistemas distribuidos


Los elementos que diferencian a los sistemas operativos distribuidos de los de red son:
Primitivas de comunicaci on entre procesos Nominaci on y protecci on de procesos de forma global Gesti on global de los recursos en la red (planicaci on, balanceo de carga, . . . ) Tolerancia a fallos Servicios proporcionados (ejecuci on remota, servidores de cheros y de impresi on, . . . )

En un SOD un proceso percibe el entorno de c omputo como un u nico sistema en lugar de como un conjunto de computadores individuales Ejemplos: Mach y CHORUS
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

El sistema operativo CHORUS (1988)


El micron ucleo proporciona actores (procesos), hilos, IPC basado en mensajes y puertos, identicadores globales u nicos y regiones (bloques peque nos de dirs. contiguas de memoria). El micron ucleo tambi en proporciona subsistemas para alojar servidores que implementan pol ticas de SO concretas (UNIX, COOL, RT-OS, etc.) El micron ucleo en s est a modularizado sobre:
un supervisor, dependiente de la m aquina, que gestiona interrupciones y traps un gestor de procesos, independiente de la m aquina un gestor de memoria, que controla la MMU y puede apoyarse en un servidor externo (como en Mach) un gestor de IPC, que proporciona servicios globales a trav es del mecanismo de mensajes
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

El sistema operativo CHORUS


Un sistema CHORUS consta de un conjunto de sitios (ordenador, tarjeta de CPU en un multiprocesador, etc.) interconectados por una red (red Ethernet, bus interno, etc.) Los identicadores globales u nicos (UI) implementan la transparencia de ubicaci on para los puertos. Cada puerto es referenciado mediante una habilitaci on y cada habilitaci on contiene un UI que identica al puerto El gestor de IPC es responsable de traducir los UIs adecuadamente CHORUS permite la multidifusi on de mensajes: es posible enviar un mismo mensaje a varios puertos a la vez Los mensajes son simples ujos de bytes
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

El sistema operativo CHORUS


La gesti on de la memoria de CHORUS se basa en segmentos Un segmento es un bloque l ogico de informaci on (chero, area de intercambio, . . . ) que se correlaciona con una regi on en el espacio de direcciones de un actor La correlaci on ((segmentoregion)) la establece el servidor de segmentos o mapeador del subsistema en ejecuci on La correlaci on ((regi onmarcos de p agina)) la establece el gestor de memoria del micron ucleo En un fallo de p agina: supervisor gestor de memoria mapeador (que obtiene la p agina desde una posici on arbitraria seg un su pol tica)
Juan Piernas C anovas Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Bibliograf a
Gary Nutt. ((Sistemas Operativos)), 3a edici on, cap tulo 19. Addison Wesley, 2004 Andrew Tanenbaum. ((Sistemas Operativos Modernos)), 2a edici on, cap tulo 1. Prentice Hall, 2003 William Stallings. ((Sistemas Operativos)), 4a edici on, cap tulo 4. Prentice Hall, 2001

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

N ucleos monol ticos Organizaci on modular Organizaciones estraticadas o por capas N ucleos extensibles o micron ucleos Sistemas operativos para sistemas distribuidos Bibliograf a

Bibliograf a

Jochen Liedtke. ((Toward Real Microkernels)). Communications of the ACM 39(9), pp. 7077, 1996 Abraham Silberschatz y Peter B. Galvin. ((Sistemas Operativos)), 5a edici on, cap tulo 3. Addison Wesley Longman, 1999

Juan Piernas C anovas

Tema 2. Arquitecturas de Sistemas Operativos

También podría gustarte