Tanembaun

Solo disponible en BuenasTareas
  • Páginas : 19 (4656 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de mayo de 2011
Leer documento completo
Vista previa del texto
 

 

 

Procesos y Procesadores en Sistemas Distribuidos
 

 
1. Introducción a los Hilos (Threads)
2. Uso de Hilos
3. Aspectos del Diseño de un Paquete de Hilos
4. Implantación de un Paquete de Hilos
5. Hilos y RPC
6. Modelos de Sistemas
7. El Modelo de Estación de Trabajo
8. Uso de Estaciones de Trabajo Inactivas
9. El Modelo de laPila de Procesadores
10. Asignación de Procesadores
11. Modelos de Asignación
12. Aspectos del Diseño de Algoritmos de Asignación de Procesadores
13. Aspectos de la Implantación de Algoritmos de Asignación de Procesadores
14. Ejemplos de Algoritmos de Asignación de Procesadores
1. Un Algoritmo Determinista Según la Teoría de Gráficas
2. Un AlgoritmoCentralizado
3. Un Algoritmo Jerárquico
4. Un Algoritmo Distribuido Heurístico (Eager)
5. Un Algoritmo de Remates
15. Planificación en Sistemas Distribuidos
16. Fin

Introducción a los Hilos (Threads)
Muchos S. O. distribuidos soportan múltiples hilos de control dentro de un proceso que [25, Tanenbaum]:
* Comparten un único espacio de direcciones.
* Seejecutan quasi - paralelamente como si fueran procesos independientes.
Ej.: servidor de archivos que debe bloquearse ocasionalmente en espera de acceso al disco:
* Si tiene varios hilos de control podría ejecutar un segundo hilo mientras el primero espera:
* El resultado sería mejor rendimiento y desempeño.
* No se logra esto con procesos servidores independientes puesto que debencompartir un buffer caché común y deben estar en el mismo espacio de direcciones.
En muchos sentidos los hilos son como miniprocesos:
* Cada hilo:
* Se ejecuta en forma estrictamente secuencial.
* Tiene su propio contador de programa y una pila para llevar un registro de su posición.
* Los hilos comparten la cpu de la misma forma que lo hacen los procesos:
*Secuencialmente, en tiempo compartido.
* Solo en un multiprocesador se pueden ejecutar realmente en paralelo.
* Los hilos pueden crear hilos hijos.
* Mientras un hilo está bloqueado se puede ejecutar otro hilo del mismo proceso.
Los distintos hilos de un proceso comparten un espacio de direcciones, el conjunto de archivos abiertos, los procesos hijos, cronómetros, señales, etc.Los hilos pueden tener distintos estados: en ejecución, bloqueado, listo, terminado.
Inicio:   Fin:
Uso de Hilos
Los hilos permiten la combinación del paralelismo con la ejecución secuencial y el bloqueo de las llamadas al sistema [25, Tanenbaum].
Consideramos el ejemplo del servidor de archivos con sus posibles organizaciones para muchos hilos de ejecución.
Iniciamos con el modeloservidor / trabajador:
* Un hilo, el servidor, lee las solicitudes de trabajo en el buzón del sistema.
* Elige a un hilo trabajador inactivo (bloqueado) y le envía la solicitud, despertándolo.
* El hilo trabajador verifica si puede satisfacer la solicitud por medio del bloque caché compartido, al que tienen acceso todos los hilos.
* Si no envía un mensaje al disco para obtener elbloque necesario y se duerme esperando el fin de la operación.
* Se llama:
* Al planificador y se inicializa otro hilo, que tal vez sea el servidor, para pedir más trabajo; o.
* A otro trabajador listo para realizar un trabajo.
Los hilos ganan un desempeño considerable pero cada uno de ellos se programa en forma secuencial.
Otro modelo es el de equipo:
* Todos los hilosson iguales y cada uno obtiene y procesa sus propias solicitudes.
* No hay servidor.
* Se utiliza una cola de trabajo que contiene todos los trabajos pendientes, que son trabajos que los hilos no han podido manejar.
* Un hilo debe verificar primero la cola de trabajo antes de buscar en el buzón del sistema.
Un tercer modelo es el de entubamiento:
* El primer hilo genera...
tracking img