Está en la página 1de 35

Sistemas Operativos Distribuidos

MsC. Galo Valverde

Sistemas de Tiempo Real


Tiempo real duro: Las tareas crticas se deben terminar a tiempo. Todos los retardos del sistema estn limitados, por lo tanto los datos se deben guardar en memoria rpida como ROM, adems carecen de la mayor parte de las funciones avanzadas de los sistemas operativos, como por ejemplo, memoria virtual. Tiempo real blando: Una tarea crtica tiene prioridad respecto a otras, y se deben evitar los retardos, pero no apoyan el cumplimiento estricto de plazos.

Computer System Memory


Operating System Software I/O Controller I/O Controller

I/O Devices
Printers, keyboards, digital camera, etc.

Programs and Data

I/O Controller

Processor

Processor Storage OS Programs Data

Figure 2.2 The Operating System as Resource Manager


3

1. Introduccin Sistemas Distribuidos Ventajas


Recursos compartidos: Un usuario de un sitio, puede aprovechar los recursos disponibles de otro. Hay mecanismos para compartir archivos en sitios remotos. Computacin ms rpida: Divide los clculos en subclculos y los distribuye entre los sitios para procesar concurrentemente (llamado carga compartida). Confiabilidad: Si un sitio falla, los dems pueden seguir funcionando. Comunicacin: Los usuarios pueden transferir archivos o comunicarse entre si por correo electrnico, y los programas pueden intercambiar datos con otros programas del mismo sistema..

1. Introduccin
Desventajas:

Software (Existe poco) Redes (Saturacin) Seguridad

1. Introduccin
Caracteristicas:

Transparencia Flexibilidad Confiabilidad (tolerancia a fallos) Desempeo (velocidad) Escalabilidad

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).

La emulacin del sistema operativo se lleva a cabo en el espacio del usuario.

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:

Procesadores de la pila. Terminales. Servidores especializados.

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

Context Process A Data Program (code) b Process B h

Context Data Program (code)

Figure 2.8 Typical Process Implementation

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

Main Memory Dispatcher

Program Counter
8000

5000

Process A
8000

Process B
12000

Process C

Figure 3.2 Snapshot of Example Execution (Figure 3.4) at Instruction Cycle 13

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.

Administracin de los procesos.


Proceso: espacio de direcciones y coleccin de hilos que se ejecutan en ese espacio de direcciones. Adems poseen puertos para la comunicacin:

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.

Administracin de los procesos.


Un hilo pertenece a un solo proceso. Los hilos poseen prioridades de 0 a 31 o de 0 a 127 y el 0 indica que el hilo tiene mayor prioridad. Se planifican mediante un array global con colas de hilos cada cola de una prioridad.

Administracin de los procesos.


Tambin existe un array local para cada procesador con los hilos que solo se ejecutan en ese procesador. Todas las colas del array local poseen ms prioridad que las colas del array global.

Tipos de procesos concurrentes


Independiente: No puede ser afectado ni afectar los dems procesos. No comparte datos con ningn otro proceso. Cooperativo: Puede afectar o ser afectado por otros procesos. Comparte datos con ellos.

Las razones para permitir la cooperacin son:

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.

Five-State Process Model

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

También podría gustarte