Sistemas operativos 05 2010
-
Upload
elkin-navas -
Category
Documents
-
view
239 -
download
0
Transcript of Sistemas operativos 05 2010
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
CURSO DE SISTEMAS OPERACIONALES
HILOS, SMP y MICRONUCLEOS
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
CONCEPTOS
Un proceso posee dos características :
[1] Propiedad de Recursos : un proceso incluye espacio de direcciones virtuales para
el manejo de la imagen del mismo. La imagen es la unión del programa, datos, pila y
los atributos del bloque de control.
[2] Planificación/Ejecución : la ejecución de un proceso sigue una ruta de ejecución a
través de uno o mas programas. Esta ejecución puede ser intercalada con otros
procesos, de esta manera un proceso tiene un estado de ejecución y una prioridad de
activación.
En la actualidad para distinguir estas dos propiedades , la unidad que se activa [2] se
suele llamar hilo o proceso ligero, mientras que la recurso [1] se suele llamar proceso o
tarea.
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
CONCEPTOS
Multihilo : Capacidad del sistema operativo de dar soporte a multiples hilos en la
ejecución de un solo proceso. Se habla de estrategias monohilo (DOS , algunos SO
UNIX) y multihilo (Windos, Solaris, OS/2, LINUX y JAVA).
Un proceso , un Hilo
Múltiples procesos, un Hilo por proceso
Un proceso , múltiples Hilos
Múltiples procesos, múltiples hilos por proceso
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
CONCEPTOS
En un entorno multihilo , un proceso se define como la unidad de asignación de
recursos y la unidad de protección. A los procesos se asocia lo siguiente:
• Un espacio de direcciones virtuales que soporta la imagen del proceso
• Acceso protegido a los procesadores, otros procesos, archivos y recursos E/S.
Dentro de un procesos puede haber uno o mas hilos, cada uno tiene :
• Un estado de ejecución por hilo.
• Un contexto del hilo que se almacena cuando no esta en ejecucion.
• Una pila de ejecución.
• Por cada hilo, espacio de almacenamiento para variables locales.
• Acceso a la memoria y recuros del un proceso (compartido con todos los hilos de
sus mismo proceso)
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
CONCEPTOS
DIFERENCIA ENTRE HILOS Y PROCESOS DESDE EL PUNTO DE VISTA DE
GESTION DE PROCESOS
Bloque de
control del proceso
Espacio de
direcciones de usuario
Modelo de proceso
con un único hilo
Pila de
usuario
Pila de
nucleo
Bloque de
control del proceso
Espacio de
direcciones de usuario
Modelo de proceso multihilo
Pila de
usuario
Pila de
nucleo
Pila de
usuario
Pila de
nucleo
Pila de
usuario
Pila de
nucleo
Bloque de
control del hilo
Bloque de
control del hilo
Bloque de
control del hilo
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
CONCEPTOS
Beneficios de la Utilización de hilos:
• Lleva mucho menos tiempo crear un nuevo hilo en un proceso existente que crear
un proceso totalmente nuevo. En UNIX, la creación de un hilo es 10 veces mas
rápida que la creación de un nuevo proceso.
• Lleva menos tiempo finalizar un hilo que un proceso.
• Lleva mucho menos tiempo cambiar entre dos hilos que entre dos procesos.
• Los hilos mejoran la eficiencia de comunicación entre los diferentes programas
que se estén ejecutando. [En la mayor parte de los SO la comunicación entre procesos
requiere la intervención del núcleo]
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
CONCEPTOS
UTILIZACION:
1. Sistemas Multiprocesamiento (Servidores de Archivos con
multiprocesadores)
2. Sistemas de un solo procesador :• Trabajo en primer plano y segundo plano : En un programa un hilo
puede encargarse de los menús y otro ejecutar los comandos del
usuario.
• Procesamiento Asíncrono : procesos que escriban información del
buffer a disco cada cierto tiempo.
• Velocidad de Ejecución : Hacer operaciones con varios datos
mientras lee otros tantos de un dispositivo.
• Estructura modular de programas: Implementar fácilmente
utilizando hilos.
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
FUNCIONALIDADES DE LOS HILOS
Al igual que los procesos, los hilos tienen estados de ejecución y se pueden sincronizar
entre ellos.
Estado de los hilos : Los principales estados de los hilos son : Ejecutando, listo y
Bloqueado. Existen cuatro (4) operaciones básicas asociadas a los cambios de estados
de un hilo:
• Creación : Cuando se crea un proceso, se crea un hilo para dicho proceso, un hilo puede crear
un nuevo hilo dentro del proceso proporcionado la información necesaria para el nuevo hilo al
proceso.
• Bloqueo : Cuando un hilo necesita esperar por un evento, se bloquea almacenando los registros
de usuario, contador de programa y punteros de pila.
• Desbloqueo : Cuando sucede el evento que el hilo estaba esperando. El hilo para a la cola de
listos.
• Finalizacion : Cuando se completa un hilo.
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
FUNCIONALIDADES DE LOS HILOS
Proceso 1
Tiempo
SERVIDOR SERVIDOR
PETICIÓN RPC PETICIÓN RPC
SERVIDOR
SERVIDOR
PETICIÓN RPC
PETICIÓN RPC
Hilo A Proceso 1
Hilo B Proceso 1
Bloqueado
Bloqueado, esperando el procesador
que esta en uso por el hilo B
Ejecutando
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
SINCRONIZACION DE HILOS
Todos los hilos de un proceso comparten el mismo estado de direcciones y otros recursos,
cualquier alteración de un recurso por un hilo, altera a los demás, debido a esto es necesario
sincronizar los hilos para que no interfieran entre ellos y corrompan los datos de cada uno de
ellos. Para esto utilizan las mismas técnicas de sincronización de los procesos .
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
TIPO DE HILOS
Existen dos grandes categorías de hilo ,los ULT (user-level-threads) y los KLT
(Kernel-level-threads), los KLT también son conocidos como procesos
soportados por núcleo o procesos ligeros.
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
TIPO DE HILOS
ULT : en un entorno ULT puro, la aplicación gestiona todo el trabajo de los hilos y el núcleo no
conoce la existencia de los mismos. Cualquier aplicación puede programarse para ser multihilo a
través del uso de bibliotecas de hilos.
KLT : en un entorno KLT puro, el núcleo gestiona todo el trabajo de gestión de los hilos. No
existe código en la aplicación para el manejo de los hilos, solamente un API (Ejemplo Windows).
Entorno Combinado: Algunos SO operativos proporciona ULT y KLT combinados (Solaris). En
estos sistemas la creacion de hilos se realiza pro completo en el espacio del usuario. Los hilos
ULT se asocian a los hilos KLT.
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
TIPO DE HILOS
P
Biblioteca de Hilos
P P P
Biblioteca de Hilos
ESPACIO DE USUARIO ESPACIO DE NUCLEO
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
TIPO DE HILOS
OPERACIÓN ULT KLT PROCESOS
Crear un proceso Nulo 34 948 11300
Señalizar- Esperar 37 441 1840
Latencia de la operaciones en hilos y procesos
[1] Tiempo para crear, planificar, ejecutar y complementar un proceso/hilo que llama a un
procedimiento nulo(Crear un proceso hilo/proceso).
[2] Tiempo que lleva a un proceso/hilo que esta esperando y a continuación esperar una
condición (Sincronización)
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
RELACION ENTRE HILOS Y PROCESOS
Hilos : Procesos Descripción SO
1 : 1 Cada hilo de ejecución es un único proceso
con su propio espacio de direcciones y
recursos
Implementaciones tradicionales
de UNIX
M : 1 Un proceso define un espacio de direcciones y
pertenencia dinámica de recursos. Se pueden
crear y ejecutar múltiples hilos de este proceso
Windows NT, Solaris, Linux,
OS/2.
1 : M Un hilo puede migar de un proceso a otro, esto
permite a los hilos moverse fácilmente entre
distintos sistemas
Clouds
M : N Combina los atributos de M:1 y 1 : M TRIX
Elkin Alfredo Albarracin Navas, Esp.
Universidad Pontificia Bolivariana – Seccional BucaramangaII Semestre Académico 2010
INVESTIGAR ARQUITECTURA SMP
(Symmetric Multiprocessor)
[ próximo Jueves]