Download Diapositiva 1 - GEOCITIES.ws

Document related concepts

Núcleo (informática) wikipedia , lookup

GNU Hurd wikipedia , lookup

Núcleo monolítico wikipedia , lookup

Micronúcleo wikipedia , lookup

L4 (micronúcleo) wikipedia , lookup

Transcript
OMAR SANCHEZ ROBLES
HECTOR PEREZ GARCIA
Definición de Sistema
Distribuido
“Sistemas de cómputo compuesto por un
gran
número
de
CPU´s
conectados
mediante una red de alta velocidad”,
Tanenbaum.
“Sistema de cómputo que incluye una gran
número de CPU´s conectados entre sí y
usados para resolver un único problema”
(sistemas paralelos).
“Organización que resulta de la distribución
de un conjunto de tareas sobre un conjunto
de elementos de procesamiento que están
lógica o físicamente disjuntos” (sistemas
cooperativos), Fox.
Flexibilidad
La flexibilidad representa facilidades para
cambios posteriores al diseño
(retroalimentación). Los sistemas
distribuidos son nuevos; es importante,
por ende, que se puedan adaptar a
nuevas tecnologías y a nuevos avances
en el tema.
SOD debe ser adaptable:
– facilidad para incorporar cambios y extensiones
al sistema
Uso preferible de arquitectura microkernel
Importancia de sistemas abiertos:
– Sus interfaces y protocolos deberían ser
públicos.
– Contrario a ”tecnología propietaria”.
– Uso de estándares siempre que sea posible.
– Disponibilidad de su código fuente (libremente
o no).
– Regulación por parte de un colectivo (usuarios
u organizaciones) y no por particulares
(fabricantes).
Un proyecto en desarrollo como el diseño de un
sistema operativo distribuido debe estar abierto a
cambios y actualizaciones que mejoren el
funcionamiento del sistema. Esta necesidad ha
provocado una diferenciación entre las dos diferentes
arquitecturas del núcleo del sistema operativo: el
núcleo monolítico y el micronúcleo. Las diferencias
entre ambos son los servicios que ofrece el núcleo del
sistema operativo. Mientras el núcleo monolítico
ofrece todas las funciones básicas del sistema
integradas en el núcleo, el micronúcleo incorpora
solamente las fundamentales, que incluyen
únicamente el control de los procesos y la
comunicación entre ellos y la memoria. El resto de
servicios se cargan dinámicamente a partir de
servidores en el nivel de usuario.
Núcleo monolítico:
Cada máquina debe ejecutar un núcleo tradicional que
proporcione la mayoría de los servicios.
Micronúcleo (microkernel):
El núcleo debe proporcionar lo menos posible.
El grueso de los servicios del S. O. se debe obtener a
partir de los servidores al nivel usuario.
El núcleo monolítico es el S. O. centralizado
aumentado con:
-Capacidades de red.
-Integración de servicios remotos.
Con núcleo monolítico:
La mayoría de las llamadas al sistema se realizan
mediante señalamiento al núcleo:
-El núcleo realiza el trabajo.
-El núcleo regresa el resultado al proceso del
usuario.
La mayoría de las máquinas tiene discos y
administra sus propios sistemas locales de
archivos.
El micronúcleo es más flexible y proporciona
solo cuatro servicios mínimos:
-Un mecanismo de comunicación entre procesos.
-Cierta administración de la memoria.
-Una cantidad limitada de planificación y
administración de procesos de bajo nivel.
-Entrada / salida de bajo nivel.
Contrariamente al núcleo monolítico, el
micronúcleo no proporciona el sistema de
archivos, el sistema de directorios, toda la
administración de procesos o gran parte del
manejo de las llamadas al sistema.
El objetivo es mantener el micronúcleo
pequeño.
Todos los demás servicios del S. O. se implementan
generalmente como servidores a nivel usuario:
-Para obtener un servicio:
*El usuario envía un mensaje al servidor
apropiado.
*El servidor realiza el trabajo y regresa el
resultado.
Una importante ventaja de este método es su alta
modularidad:
-Existe una interfaz bien definida con cada servicio
(conjunto de mensajes que comprende el servidor).
-Cada servicio es igual de accesible para todos los
clientes, independientemente de la posición.