Documentos de Académico
Documentos de Profesional
Documentos de Cultura
I/O Devices
Printers, keyboards, digital camera, etc.
I/O Controller
Processor
1. Introduccin
Desventajas:
1. Introduccin
Caracteristicas:
Introduccin.
Est escrito en C. Posee un lenguaje para el cmputo distribuido y paralelo. No tiene el concepto de mquina de origen. El shell inicial se ejecuta en mquina arbitraria , pero los comandos tienen porqu ejecutarse en la misma mquina que el shell.
Introduccin.
Objetivos.
Base para la construccin de otros sistemas (UNIX). Espacio de direcciones de gran tamao. Acceso transparente a los recursos de la red. Paralelismo del sistema y las aplicaciones. Escalabilidad (transportar a un nmero ms grande de mquinas).
Arquitectura.
Pila de procesadores, cada uno con su memoria local (no es necesaria la memoria compartida). El sistema operativo se encarga de repartir el trabajo de los procesadores de forma dinmica. Terminales X, uno para cada usuario. Servidores especializados, que por eficiencia se encontrarn en ejecucin todo el tiempo y en mquinas dedicadas a ello.
Micro Ncleo.
Se ejecuta en todas las mquinas del sistema:
Micro Ncleo.
Posse las siguientes tareas:
Controlar los procesos e hilos. Proporcionar el soporte de la administracin de memoria de bajo nivel. (Segmentos) Soportar la comunicacin entre los procesos. Dos formas de comunicacin:
Puntual: Un cliente enva un mensaje a un servidor y se bloquea hasta que le conteste. De grupo: Envo de mensajes de una fuente a varios destinos.
Controlar la E/S de bajo nivel, mediante los controladores de dispositivos que existen en el ncleo que se comunican con los dispositivos.
Process
Main Memory
Process index PC Base Limit
b h
Processor Registers
i
i Process list j
Other registers
12
Micro Ncleo.
El ncleo se encarga de las siguientes tareas:
Administra los procesos. Administra la memoria. Controla la comunicacin. Controla los servicios de E/S.
La administracin de la memoria se basa en los llamados objetos de memoria. Son estructuras de datos asociadas con el espacio de direcciones de un proceso. Al producirse un fallo de pgina puede enviar un mensaje a un servidor a nivel de usuario La comunicacin entre los procesos se realiza entre puertos que tienen asignados. En el espacio de usuario se controlan el resto de caractersticas de un sistema operativo como los archivos, directorios y otras funciones
Uniprogramming
Processor must wait for I/O instruction to complete before preceding
14
Multiprogramming
When one job needs to wait for I/O, the processor can switch to the other job
15
Multiprogramming
16
Micro Ncleo.
Ventajas:
Mayor sencillez de cada parte. Independencia y portabilidad del sistema operativo. Ejecucin de varios sistemas operativos a la vez. Mayor seguridad (cada proceso tiene su propio sistema operativo. Difcil husmear ficheros del otro sistema.)
Servicios
Servidor de archivos: Los archivos son inmutables. Se crean, se leen y se eliminan, pero no se modifican, para favorecer la rplica automtica. Servidor de directorios: Ofrece los archivos, pero el manejo de stos se hace a travs del servidor de archivos. Mayor flexibilidad.
Servicios
Servidor de rplicas: Replicas retardadas. Cuando se crea algn objeto se hace una copia y cuando tenga tiempo la actualizar. Funciona mejor con objetos inmutables como los archivos. Servidor de ejecucin.
Objetos y Posibilidades.
Un objeto es un TDA y es controlado por un proceso. Las posibilidades identifican al objeto y lo dotan de proteccin.
Puerto del servidor (48) Objeto (24) Derechos (8) Verificacin (48)
Objetos y Posibilidades.
El campo puerto del servidor se usa para localizar la mquina en la que reside el servidor. El campo objeto lo usa el servidor para identificar al objeto. El campo derechos indica las operaciones permitidas al propietario de una posibilidad. (Independientemente de los derechos que tenga el objeto). El campo verificacin se usa para validar la posibilidad.
Administracin.
Procesos: Son objetos. Al crear uno nuevo el padre obtiene una posibilidad para el hijo. La administracin de la memoria posee una caracterstica fundamental: Los segmentos no se paginan ni se intercambian, por tanto un proceso debe estar contenido en la memoria por completo.
Administracin.
Desempeo: Mayor velocidad en la RPC. Todos los datos estn adyacentes en la memoria virtual y fsica. No se producen fallos de pgina. Sencillez: El no tener paginacin el ncleo ser mas controlable. Economa: al ser tan barata la memoria se podr usar memorias de cientos de Megabytes, con lo que se reduce la necesidad de paginacin.
Example Execution
Address
0 100
Program Counter
8000
5000
Process A
8000
Process B
12000
Process C
24
Trace of Processes
25
26
Tolerancia a fallos.
Para la tolerancia a fallos se usa el servidor de replicas. ste funciona mejor con objetos inmutables como los archivos, ya que trabaja en segundo plano.
Puerto de proceso: Comunicacin con el ncleo. Puerto de arranque: Para inicializar los parmetros del proceso. Puerto de excepcin: Lo usa el SO para informar de las excepciones. Puertos registrados: Para comunicacin con los servidores estndar del sistema.
Compartir informacin: Varios usuarios podran estar interesados en el mismo elemento de informacin (Ej.: un archivo). Aceleracin de los clculos: Divido las tareas en subtareas, y las ejecuto concurrentemente. Esta aceleracin slo puede lograrse en sistemas multiprocesador. Modularidad: Se puede seguir un patrn modular, dividiendo las funciones del sistema en procesos individuales. Comodidad: Un mismo usuario podra tener muchas tareas que realizar en un momento dado. Ej. Podra estar imprimiendo, compilando y editando al mismo tiempo.
32
Process States
33
Administracin de la memoria.
Separa las partes que dependen de la mquina de las que no dependen de ella. Aumenta la portabilidad. El cdigo se divide en 3 partes:
La primera: es dependiente de la mquina y se ejecuta en el ncleo. Captura todos los fallos de pgina. La segunda: es la parte independiente del ncleo. Procesa fallos de pgina, mapas de direcciones y reemplazo de pginas. La tercera: pertenece al espacio del usuario. Controla la parte lgica, principalmente la memoria virtual.
5. Bibliografa
Sistemas Operativos Distribuidos. http://www.gnu.org/software/hurd/hurd.html