SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas o por capas
N´ucleos extensibles o micron´ucleos
Sistemas operativos para sistemas distribuidos
Bibliograf´ıa
Arquitecturas de Sistemas Operativos
Tema 2. Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas o por capas
N´ucleos extensibles o micron´ucleos
Sistemas operativos para sistemas distribuidos
Bibliograf´ıa
´Indice
1 N´ucleos monol´ıticos
2 Organizaci´on modular
3 Organizaciones estratificadas o por capas
4 N´ucleos extensibles o micron´ucleos
Caracter´ısticas de los micron´ucleos
M´aquinas virtuales
Exokernels
Modelos cliente-servidor
El sistema operativo Mach
5 Sistemas operativos para sistemas distribuidos
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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
´unico 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 eficientes 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
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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
Main
procedure
Service
procedures
Utility
procedures
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 definidas
Un SO modular se implementa mediante diversos m´odulos de
programa y/o procesos
Ventajas: f´aciles de mantener y modificar debido a la
encapsulaci´on funcional y a la abstracci´on de datos
Inconveniente: potencial degradaci´on del rendimiento
Ejemplo: Choices, Linux (?),. . .
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 define las interacciones y relaciones gen´ericas
entre las clases base
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 definidas
la implementaci´on de un m´odulo se hereda desde la clase base
y despu´es se refina para realizar la implementaci´on sobre un
hardware concreto
Programaci´on orientada a objetos (C++) a nivel de S.O.
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas o por capas
N´ucleos extensibles o micron´ucleos
Sistemas operativos para sistemas distribuidos
Bibliograf´ıa
Choices: submarco del gestor de memoria
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas o por capas
N´ucleos extensibles o micron´ucleos
Sistemas operativos para sistemas distribuidos
Bibliograf´ıa
Organizaciones estratificadas 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
Verificaci´on capa a capa
Si todas las capas del SO en modo n´ucleo ⇒ ¿SO monol´ıtico?
Ejemplo: THE, Venus, Windows Server (?), . . .
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas o por capas
N´ucleos extensibles o micron´ucleos
Sistemas operativos para sistemas distribuidos
Bibliograf´ıa
Organizaciones estratificadas o por capas
Estructura estratificada de THE
Nivel 5 Programas de usuario
Nivel 4 Gesti´on de E/S
Nivel 3 Consola del Operador
Nivel 2 Gesti´on de memoria
Nivel 1 Planificaci´on de la CPU y sincronizaci´on
Nivel 0 Hardware
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas o por capas
N´ucleos extensibles o micron´ucleos
Sistemas operativos para sistemas distribuidos
Bibliograf´ıa
Estructura de Windows NT
POSIX program
POSIX subsystem
Win32 program
Win32 subsystem
OS/2 program
OS/2 subsystem
Service
process
System interface (NT DLL.DLL)
System services
Hardware
Hardware Abstraction layer (HAL)
Kernel
File sys
I/O mgr
Object
mgr
Process
mgr
Memory
mgr
Security
mgr
Cache
mgr
PnP
mgr
Power
mgr
Config
mgr
LPC
mgr
Win32
GDI
Video
driverD
KernelmodeUsermode
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas o por capas
N´ucleos extensibles o micron´ucleos
Sistemas operativos para sistemas distribuidos
Bibliograf´ıa
Estructura de Windows 2003
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 ficheros,
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
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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´ıficos, 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 fiable 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´ıficos:
definen el comportamiento final del SO
complementan al micron´ucleo creando un SO completo
se suelen implementar mediante procesos servidores
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 Uniformidad de interfaces: los procesos solicitan cualquier
servicio enviando un mensaje
2 Extensibilidad: es f´acil a˜nadir nuevos servicios
3 Flexibilidad: el producto final es totalmente configurable
4 Transportabilidad: basta con cambiar algunas partes del
micron´ucleo
5 Fiabilidad: un peque˜no micron´ucleo puede probarse de un
modo muy riguroso
6 Soporte para sistemas distribuidos: los mensajes se pueden
enviar entre procesos locales y remotos
7 Soporte para SSOO orientados a objetos: mediante alg´un
modelo de componentes
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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)
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 planificaci´on
Gesti´on de la memoria de bajo nivel
Micron´ucleo: trata los fallos de p´agina (parcialmente) y
establece las asociaciones p´agina–marco
Servidor: algoritmo de reemplazo de p´aginas y pol´ıtica de
protecci´on/compartici´on de los espacios de direcciones
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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);
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 clasificar,
a grandes rasgos, en 3 tipos:
m´aquinas virtuales
exokernels
modelos cliente-servidor
Se diferencian, principalmente, en los servicios proporcionados
por el micron´ucleo
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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)
I/O instructions here
Trap here
Trap here
System calls here
Virtual 370s
CMS CMS CMS
VM/370
370 Bare hardware
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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
2 El monitor atiende las llamadas al sistema (necesario un
monitor espec´ıfico)
En cualquier caso, la E/S siempre la atiende el monitor
haciendo uso del SO anfitri´on
Otros ejemplos: VMWARE, VirtualBox, JVM, QEMU, . . .
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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)
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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
File
server
Memory
server
Microkernel
User mode
Kernel mode
Client obtains
service by
sending messages
to server processes
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 Machine 2 Machine 3 Machine 4
Client
Kernel
File server
Kernel
Process server
Kernel
Terminal server
Kernel
Message from
client to server
Network
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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
forma eficiente el paso de mensajes ⇒ ´Util para entornos
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
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 definiendo un servidor que use el
micron´ucleo para implementar la interfaz deseada de SO
El servidor de SO implementa el gestor de ficheros y varios
m´odulos de pol´ıtica para los mecanismos implementados en el
micron´ucleo
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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
planificaci´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 planificador de cada conjunto procesador asigna hilos listos a los
procesadores libres del conjunto
El planificador 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 planificaci´on
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 ´unico punto de entrada (para escritura) y un
´unico 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
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 fichero (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
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 ficheros, interconexi´on de
terminales, sistemas de ficheros remotos, IPC, RPC, . . .
Ejemplos de SSOO de red: cualquier versi´on actual de UNIX,
Linux y Windows Server
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 (planificaci´on, balanceo
de carga, . . . )
Tolerancia a fallos
Servicios proporcionados (ejecuci´on remota, servidores de
ficheros y de impresi´on, . . . )
En un SOD un proceso percibe el entorno de c´omputo como
un ´unico sistema en lugar de como un conjunto de
computadores individuales
Ejemplos: Mach y CHORUS
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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, identificadores globales ´unicos
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
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 identificadores globales ´unicos (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 identifica 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 flujos de bytes
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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 (fichero, ´area
de intercambio, . . . ) que se correlaciona con una regi´on en el
espacio de direcciones de un actor
La correlaci´on ((segmento–region)) la establece el servidor de
segmentos o mapeador del subsistema en ejecuci´on
La correlaci´on ((regi´on–marcos 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)
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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
Arquitecturas de Sistemas Operativos
N´ucleos monol´ıticos
Organizaci´on modular
Organizaciones estratificadas 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. 70–77, 1996
Abraham Silberschatz y Peter B. Galvin.
((Sistemas Operativos)), 5a edici´on, cap´ıtulo 3.
Addison Wesley Longman, 1999
Arquitecturas de Sistemas Operativos

Más contenido relacionado

La actualidad más candente

Estructura de un sistema operativo.
Estructura de un sistema operativo.Estructura de un sistema operativo.
Estructura de un sistema operativo.Michelle Love
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronalesAngel G
 
Tema 9 fundamentos de los sistemas multiprocesadores
 Tema 9   fundamentos de los sistemas multiprocesadores Tema 9   fundamentos de los sistemas multiprocesadores
Tema 9 fundamentos de los sistemas multiprocesadoresAgustin Guerra Ferreira
 
Categorias de los sistemas operativos
Categorias de los sistemas operativosCategorias de los sistemas operativos
Categorias de los sistemas operativososcarvati
 
Sistemas neuronales
Sistemas neuronalesSistemas neuronales
Sistemas neuronalescenation993
 
Categotias de sistemas operativo
Categotias de sistemas operativoCategotias de sistemas operativo
Categotias de sistemas operativojaviercollantes
 
A152 w0i9 inteligenciaartificial
A152 w0i9 inteligenciaartificialA152 w0i9 inteligenciaartificial
A152 w0i9 inteligenciaartificialjcbp_peru
 
REDES NEURONALES
REDES NEURONALESREDES NEURONALES
REDES NEURONALESeduardop18
 
Estructura de los sistemas operativos
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativosOveimar Payares Ramos
 
Redes neuronales y sus aplicaciones
Redes neuronales y sus aplicacionesRedes neuronales y sus aplicaciones
Redes neuronales y sus aplicacionesAmbBixenman
 
PANORAMA GENERAL DE LOS SISTEMAS INTELIGENTES
PANORAMA GENERAL DE LOS SISTEMAS INTELIGENTESPANORAMA GENERAL DE LOS SISTEMAS INTELIGENTES
PANORAMA GENERAL DE LOS SISTEMAS INTELIGENTESESCOM
 

La actualidad más candente (16)

Estructura de un sistema operativo.
Estructura de un sistema operativo.Estructura de un sistema operativo.
Estructura de un sistema operativo.
 
Actividad 2-so-u2
Actividad 2-so-u2Actividad 2-so-u2
Actividad 2-so-u2
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Tema 9 fundamentos de los sistemas multiprocesadores
 Tema 9   fundamentos de los sistemas multiprocesadores Tema 9   fundamentos de los sistemas multiprocesadores
Tema 9 fundamentos de los sistemas multiprocesadores
 
Seti9 ocw
Seti9 ocwSeti9 ocw
Seti9 ocw
 
Categorias de los sistemas operativos
Categorias de los sistemas operativosCategorias de los sistemas operativos
Categorias de los sistemas operativos
 
Sistemas neuronales
Sistemas neuronalesSistemas neuronales
Sistemas neuronales
 
Categotias de sistemas operativo
Categotias de sistemas operativoCategotias de sistemas operativo
Categotias de sistemas operativo
 
Clase 3
Clase 3Clase 3
Clase 3
 
A152 w0i9 inteligenciaartificial
A152 w0i9 inteligenciaartificialA152 w0i9 inteligenciaartificial
A152 w0i9 inteligenciaartificial
 
REDES NEURONALES
REDES NEURONALESREDES NEURONALES
REDES NEURONALES
 
Estructura de los sistemas operativos
Estructura de los sistemas operativosEstructura de los sistemas operativos
Estructura de los sistemas operativos
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Redes neuronales y sus aplicaciones
Redes neuronales y sus aplicacionesRedes neuronales y sus aplicaciones
Redes neuronales y sus aplicaciones
 
PANORAMA GENERAL DE LOS SISTEMAS INTELIGENTES
PANORAMA GENERAL DE LOS SISTEMAS INTELIGENTESPANORAMA GENERAL DE LOS SISTEMAS INTELIGENTES
PANORAMA GENERAL DE LOS SISTEMAS INTELIGENTES
 

Similar a Sistema operativos

Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Daniela Velasquez
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativoshdavidpc199
 
Estructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativoEstructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativoYurley Ochoa
 
Victor milano sistema operativos distribuidos
Victor milano sistema operativos distribuidosVictor milano sistema operativos distribuidos
Victor milano sistema operativos distribuidosVictor Milano
 
Sistemas operativos distribuidos luis lozano ci 22840519
Sistemas operativos distribuidos   luis lozano ci 22840519Sistemas operativos distribuidos   luis lozano ci 22840519
Sistemas operativos distribuidos luis lozano ci 22840519lozanolc
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidoslozanolc
 
Exposicion Grupo 1 Sistemas Operativos
Exposicion Grupo 1 Sistemas OperativosExposicion Grupo 1 Sistemas Operativos
Exposicion Grupo 1 Sistemas Operativosjonathan
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativoIan Berzeker Tovar
 
Categorias de los sistemas operativos
Categorias de los sistemas operativosCategorias de los sistemas operativos
Categorias de los sistemas operativososcarvati
 
Sistemas distribuidos.ppsx
Sistemas distribuidos.ppsxSistemas distribuidos.ppsx
Sistemas distribuidos.ppsxssuser915b05
 
Inv Aplicada 3
Inv Aplicada 3Inv Aplicada 3
Inv Aplicada 3rgv127
 
Act_Apren1_CGP(Sistemas operativos).pptx
Act_Apren1_CGP(Sistemas operativos).pptxAct_Apren1_CGP(Sistemas operativos).pptx
Act_Apren1_CGP(Sistemas operativos).pptxCRISTOFERGUTIERREZPE
 
Un núcleo
Un núcleoUn núcleo
Un núcleozaial
 
Categorias sistemas operativos
Categorias sistemas operativosCategorias sistemas operativos
Categorias sistemas operativosPATRICIOSANTIAGO
 
Pic Sistemas Operativos I
Pic Sistemas Operativos IPic Sistemas Operativos I
Pic Sistemas Operativos Irauljide
 
Estructura jerarquica
Estructura jerarquicaEstructura jerarquica
Estructura jerarquicaAndrew King
 
2.estructuras de sistemas operativos (1)
2.estructuras de sistemas operativos (1)2.estructuras de sistemas operativos (1)
2.estructuras de sistemas operativos (1)ninguna
 
Conceptos y estructuras de los S. O.
Conceptos y estructuras de los S. O.Conceptos y estructuras de los S. O.
Conceptos y estructuras de los S. O.Javier Alvarez
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativoshdavidpc199
 

Similar a Sistema operativos (20)

Categorias de los s.o.
Categorias de los s.o.Categorias de los s.o.
Categorias de los s.o.
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Estructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativoEstructura jerarquica de un sistema operativo
Estructura jerarquica de un sistema operativo
 
Victor milano sistema operativos distribuidos
Victor milano sistema operativos distribuidosVictor milano sistema operativos distribuidos
Victor milano sistema operativos distribuidos
 
Sistemas operativos distribuidos luis lozano ci 22840519
Sistemas operativos distribuidos   luis lozano ci 22840519Sistemas operativos distribuidos   luis lozano ci 22840519
Sistemas operativos distribuidos luis lozano ci 22840519
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Exposicion Grupo 1 Sistemas Operativos
Exposicion Grupo 1 Sistemas OperativosExposicion Grupo 1 Sistemas Operativos
Exposicion Grupo 1 Sistemas Operativos
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
Categorias de los sistemas operativos
Categorias de los sistemas operativosCategorias de los sistemas operativos
Categorias de los sistemas operativos
 
Sistemas distribuidos.ppsx
Sistemas distribuidos.ppsxSistemas distribuidos.ppsx
Sistemas distribuidos.ppsx
 
Inv Aplicada 3
Inv Aplicada 3Inv Aplicada 3
Inv Aplicada 3
 
Act_Apren1_CGP(Sistemas operativos).pptx
Act_Apren1_CGP(Sistemas operativos).pptxAct_Apren1_CGP(Sistemas operativos).pptx
Act_Apren1_CGP(Sistemas operativos).pptx
 
Un núcleo
Un núcleoUn núcleo
Un núcleo
 
Categorias sistemas operativos
Categorias sistemas operativosCategorias sistemas operativos
Categorias sistemas operativos
 
Pic Sistemas Operativos I
Pic Sistemas Operativos IPic Sistemas Operativos I
Pic Sistemas Operativos I
 
Estructura jerarquica
Estructura jerarquicaEstructura jerarquica
Estructura jerarquica
 
2.estructuras de sistemas operativos (1)
2.estructuras de sistemas operativos (1)2.estructuras de sistemas operativos (1)
2.estructuras de sistemas operativos (1)
 
Conceptos y estructuras de los S. O.
Conceptos y estructuras de los S. O.Conceptos y estructuras de los S. O.
Conceptos y estructuras de los S. O.
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 

Más de menamigue

1.1 Fundamentos de TI
1.1 Fundamentos de TI1.1 Fundamentos de TI
1.1 Fundamentos de TImenamigue
 
SI para obtener ventaja estrategica
SI para obtener ventaja estrategicaSI para obtener ventaja estrategica
SI para obtener ventaja estrategicamenamigue
 
SI para apoyo a la toma de decisiones
SI para apoyo a la toma de decisionesSI para apoyo a la toma de decisiones
SI para apoyo a la toma de decisionesmenamigue
 
sistemas de informacion
sistemas de informacionsistemas de informacion
sistemas de informacionmenamigue
 
Planificación Estratégica de Sistemas de Información
Planificación Estratégica de Sistemas de InformaciónPlanificación Estratégica de Sistemas de Información
Planificación Estratégica de Sistemas de Informaciónmenamigue
 
Tecnicas UML
Tecnicas UMLTecnicas UML
Tecnicas UMLmenamigue
 
Emisor Receptor AM
Emisor Receptor AMEmisor Receptor AM
Emisor Receptor AMmenamigue
 
Grafos propuestos
Grafos propuestosGrafos propuestos
Grafos propuestosmenamigue
 
Grafos resueltos
Grafos resueltosGrafos resueltos
Grafos resueltosmenamigue
 
Analisis de Senales
Analisis de SenalesAnalisis de Senales
Analisis de Senalesmenamigue
 
Instructivo iupsm.gnomio.com
Instructivo iupsm.gnomio.comInstructivo iupsm.gnomio.com
Instructivo iupsm.gnomio.commenamigue
 
Notas electrotecnia
Notas electrotecniaNotas electrotecnia
Notas electrotecniamenamigue
 
Proyecto electrotecnia franyer velasquez
Proyecto electrotecnia franyer velasquezProyecto electrotecnia franyer velasquez
Proyecto electrotecnia franyer velasquezmenamigue
 
Proyecto electrotenia milay cala
Proyecto electrotenia milay calaProyecto electrotenia milay cala
Proyecto electrotenia milay calamenamigue
 
Organizacion y metodos
Organizacion y metodosOrganizacion y metodos
Organizacion y metodosmenamigue
 
Ejercicios C#
Ejercicios C#Ejercicios C#
Ejercicios C#menamigue
 
Enunciados de Sistemas de Información
Enunciados de Sistemas de InformaciónEnunciados de Sistemas de Información
Enunciados de Sistemas de Informaciónmenamigue
 

Más de menamigue (20)

1.1 Fundamentos de TI
1.1 Fundamentos de TI1.1 Fundamentos de TI
1.1 Fundamentos de TI
 
SI para obtener ventaja estrategica
SI para obtener ventaja estrategicaSI para obtener ventaja estrategica
SI para obtener ventaja estrategica
 
SI para apoyo a la toma de decisiones
SI para apoyo a la toma de decisionesSI para apoyo a la toma de decisiones
SI para apoyo a la toma de decisiones
 
sistemas de informacion
sistemas de informacionsistemas de informacion
sistemas de informacion
 
Planificación Estratégica de Sistemas de Información
Planificación Estratégica de Sistemas de InformaciónPlanificación Estratégica de Sistemas de Información
Planificación Estratégica de Sistemas de Información
 
Tecnicas UML
Tecnicas UMLTecnicas UML
Tecnicas UML
 
Emisor Receptor AM
Emisor Receptor AMEmisor Receptor AM
Emisor Receptor AM
 
Grafos propuestos
Grafos propuestosGrafos propuestos
Grafos propuestos
 
Grafos resueltos
Grafos resueltosGrafos resueltos
Grafos resueltos
 
Sql
SqlSql
Sql
 
Fourier
FourierFourier
Fourier
 
Analisis de Senales
Analisis de SenalesAnalisis de Senales
Analisis de Senales
 
Instructivo iupsm.gnomio.com
Instructivo iupsm.gnomio.comInstructivo iupsm.gnomio.com
Instructivo iupsm.gnomio.com
 
Notas electrotecnia
Notas electrotecniaNotas electrotecnia
Notas electrotecnia
 
Proyecto electrotecnia franyer velasquez
Proyecto electrotecnia franyer velasquezProyecto electrotecnia franyer velasquez
Proyecto electrotecnia franyer velasquez
 
Proyecto electrotenia milay cala
Proyecto electrotenia milay calaProyecto electrotenia milay cala
Proyecto electrotenia milay cala
 
Organizacion y metodos
Organizacion y metodosOrganizacion y metodos
Organizacion y metodos
 
Ejercicios C#
Ejercicios C#Ejercicios C#
Ejercicios C#
 
Satelites
SatelitesSatelites
Satelites
 
Enunciados de Sistemas de Información
Enunciados de Sistemas de InformaciónEnunciados de Sistemas de Información
Enunciados de Sistemas de Información
 

Último

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 

Último (20)

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 

Sistema operativos

  • 1. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas o por capas N´ucleos extensibles o micron´ucleos Sistemas operativos para sistemas distribuidos Bibliograf´ıa Arquitecturas de Sistemas Operativos Tema 2. Arquitecturas de Sistemas Operativos
  • 2. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas o por capas N´ucleos extensibles o micron´ucleos Sistemas operativos para sistemas distribuidos Bibliograf´ıa ´Indice 1 N´ucleos monol´ıticos 2 Organizaci´on modular 3 Organizaciones estratificadas o por capas 4 N´ucleos extensibles o micron´ucleos Caracter´ısticas de los micron´ucleos M´aquinas virtuales Exokernels Modelos cliente-servidor El sistema operativo Mach 5 Sistemas operativos para sistemas distribuidos Arquitecturas de Sistemas Operativos
  • 3. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 ´unico 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 eficientes 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 Arquitecturas de Sistemas Operativos
  • 4. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 Main procedure Service procedures Utility procedures Arquitecturas de Sistemas Operativos
  • 5. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 definidas Un SO modular se implementa mediante diversos m´odulos de programa y/o procesos Ventajas: f´aciles de mantener y modificar debido a la encapsulaci´on funcional y a la abstracci´on de datos Inconveniente: potencial degradaci´on del rendimiento Ejemplo: Choices, Linux (?),. . . Arquitecturas de Sistemas Operativos
  • 6. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 define las interacciones y relaciones gen´ericas entre las clases base Arquitecturas de Sistemas Operativos
  • 7. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 definidas la implementaci´on de un m´odulo se hereda desde la clase base y despu´es se refina para realizar la implementaci´on sobre un hardware concreto Programaci´on orientada a objetos (C++) a nivel de S.O. Arquitecturas de Sistemas Operativos
  • 8. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas o por capas N´ucleos extensibles o micron´ucleos Sistemas operativos para sistemas distribuidos Bibliograf´ıa Choices: submarco del gestor de memoria Arquitecturas de Sistemas Operativos
  • 9. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas o por capas N´ucleos extensibles o micron´ucleos Sistemas operativos para sistemas distribuidos Bibliograf´ıa Organizaciones estratificadas 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 Verificaci´on capa a capa Si todas las capas del SO en modo n´ucleo ⇒ ¿SO monol´ıtico? Ejemplo: THE, Venus, Windows Server (?), . . . Arquitecturas de Sistemas Operativos
  • 10. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas o por capas N´ucleos extensibles o micron´ucleos Sistemas operativos para sistemas distribuidos Bibliograf´ıa Organizaciones estratificadas o por capas Estructura estratificada de THE Nivel 5 Programas de usuario Nivel 4 Gesti´on de E/S Nivel 3 Consola del Operador Nivel 2 Gesti´on de memoria Nivel 1 Planificaci´on de la CPU y sincronizaci´on Nivel 0 Hardware Arquitecturas de Sistemas Operativos
  • 11. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas o por capas N´ucleos extensibles o micron´ucleos Sistemas operativos para sistemas distribuidos Bibliograf´ıa Estructura de Windows NT POSIX program POSIX subsystem Win32 program Win32 subsystem OS/2 program OS/2 subsystem Service process System interface (NT DLL.DLL) System services Hardware Hardware Abstraction layer (HAL) Kernel File sys I/O mgr Object mgr Process mgr Memory mgr Security mgr Cache mgr PnP mgr Power mgr Config mgr LPC mgr Win32 GDI Video driverD KernelmodeUsermode Arquitecturas de Sistemas Operativos
  • 12. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas o por capas N´ucleos extensibles o micron´ucleos Sistemas operativos para sistemas distribuidos Bibliograf´ıa Estructura de Windows 2003 Arquitecturas de Sistemas Operativos
  • 13. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 ficheros, 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 Arquitecturas de Sistemas Operativos
  • 14. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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´ıficos, 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 fiable 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´ıficos: definen el comportamiento final del SO complementan al micron´ucleo creando un SO completo se suelen implementar mediante procesos servidores Arquitecturas de Sistemas Operativos
  • 15. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 Uniformidad de interfaces: los procesos solicitan cualquier servicio enviando un mensaje 2 Extensibilidad: es f´acil a˜nadir nuevos servicios 3 Flexibilidad: el producto final es totalmente configurable 4 Transportabilidad: basta con cambiar algunas partes del micron´ucleo 5 Fiabilidad: un peque˜no micron´ucleo puede probarse de un modo muy riguroso 6 Soporte para sistemas distribuidos: los mensajes se pueden enviar entre procesos locales y remotos 7 Soporte para SSOO orientados a objetos: mediante alg´un modelo de componentes Arquitecturas de Sistemas Operativos
  • 16. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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) Arquitecturas de Sistemas Operativos
  • 17. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 planificaci´on Gesti´on de la memoria de bajo nivel Micron´ucleo: trata los fallos de p´agina (parcialmente) y establece las asociaciones p´agina–marco Servidor: algoritmo de reemplazo de p´aginas y pol´ıtica de protecci´on/compartici´on de los espacios de direcciones Arquitecturas de Sistemas Operativos
  • 18. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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); Arquitecturas de Sistemas Operativos
  • 19. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 clasificar, a grandes rasgos, en 3 tipos: m´aquinas virtuales exokernels modelos cliente-servidor Se diferencian, principalmente, en los servicios proporcionados por el micron´ucleo Arquitecturas de Sistemas Operativos
  • 20. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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) I/O instructions here Trap here Trap here System calls here Virtual 370s CMS CMS CMS VM/370 370 Bare hardware Arquitecturas de Sistemas Operativos
  • 21. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 2 El monitor atiende las llamadas al sistema (necesario un monitor espec´ıfico) En cualquier caso, la E/S siempre la atiende el monitor haciendo uso del SO anfitri´on Otros ejemplos: VMWARE, VirtualBox, JVM, QEMU, . . . Arquitecturas de Sistemas Operativos
  • 22. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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) Arquitecturas de Sistemas Operativos
  • 23. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 File server Memory server Microkernel User mode Kernel mode Client obtains service by sending messages to server processes Arquitecturas de Sistemas Operativos
  • 24. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 Machine 2 Machine 3 Machine 4 Client Kernel File server Kernel Process server Kernel Terminal server Kernel Message from client to server Network Arquitecturas de Sistemas Operativos
  • 25. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 forma eficiente el paso de mensajes ⇒ ´Util para entornos 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 Arquitecturas de Sistemas Operativos
  • 26. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 definiendo un servidor que use el micron´ucleo para implementar la interfaz deseada de SO El servidor de SO implementa el gestor de ficheros y varios m´odulos de pol´ıtica para los mecanismos implementados en el micron´ucleo Arquitecturas de Sistemas Operativos
  • 27. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 planificaci´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 planificador de cada conjunto procesador asigna hilos listos a los procesadores libres del conjunto El planificador 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 planificaci´on Arquitecturas de Sistemas Operativos
  • 28. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 ´unico punto de entrada (para escritura) y un ´unico 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 Arquitecturas de Sistemas Operativos
  • 29. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 fichero (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 Arquitecturas de Sistemas Operativos
  • 30. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 ficheros, interconexi´on de terminales, sistemas de ficheros remotos, IPC, RPC, . . . Ejemplos de SSOO de red: cualquier versi´on actual de UNIX, Linux y Windows Server Arquitecturas de Sistemas Operativos
  • 31. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 (planificaci´on, balanceo de carga, . . . ) Tolerancia a fallos Servicios proporcionados (ejecuci´on remota, servidores de ficheros y de impresi´on, . . . ) En un SOD un proceso percibe el entorno de c´omputo como un ´unico sistema en lugar de como un conjunto de computadores individuales Ejemplos: Mach y CHORUS Arquitecturas de Sistemas Operativos
  • 32. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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, identificadores globales ´unicos 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 Arquitecturas de Sistemas Operativos
  • 33. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 identificadores globales ´unicos (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 identifica 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 flujos de bytes Arquitecturas de Sistemas Operativos
  • 34. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 (fichero, ´area de intercambio, . . . ) que se correlaciona con una regi´on en el espacio de direcciones de un actor La correlaci´on ((segmento–region)) la establece el servidor de segmentos o mapeador del subsistema en ejecuci´on La correlaci´on ((regi´on–marcos 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) Arquitecturas de Sistemas Operativos
  • 35. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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 Arquitecturas de Sistemas Operativos
  • 36. N´ucleos monol´ıticos Organizaci´on modular Organizaciones estratificadas 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. 70–77, 1996 Abraham Silberschatz y Peter B. Galvin. ((Sistemas Operativos)), 5a edici´on, cap´ıtulo 3. Addison Wesley Longman, 1999 Arquitecturas de Sistemas Operativos