Preview only show first 10 pages with watermark. For full document please download

Cap 5 Procesos E Hilos So 2014 D

Descripción: Cap5 Procesos e hilos

   EMBED


Share

Transcript

Sistemas Operativos y Adm Procesos y Threads CAP 05 v1.0  Ing.Dr.  Ing.Dr. Henry I. Condori Alejo Alejo  [email protected] [email protected] © 2014HCA • Hilos: la propiedad y la ejecución de recursos • El multiprocesamiento simétrico (SMP). • microkernel • Estudios de caso de hilos y SMP:  – Windows  – Solaris  – Linux • Hilos: la propiedad y la ejecución de recursos • El multiprocesamiento simétrico (SMP). • microkernel • Estudios de caso de hilos y SMP:  – Windows  – Solaris  – Linux • Los procesos tienen dos características:  – Propiedad de recursos - proceso incluye un espacio de direcciones virtuales para mantener la imagen del proceso  – Programación / ejecución Scheduling/execution Scheduling/execution  sigue una ruta de ejecución que pueden ser intercalados con otros procesos • Estas dos características se tratan de forma independiente por el sistema operativo • • La unidad de despacho se conoce como un hilo thread  o proceso ligero La unidad de propiedad de los recursos se conoce como un proceso o tarea task  • La capacidad de un sistema operativo para soportar múltiples rutas de ejecución concurrentes, dentro de un solo proceso. • • MS-DOS soporta un solo proceso de usuario y un solo hilo. Algunos UNIX, soporte a múltiples procesos de usuario, pero sólo soporta un hilo por proceso • • El entorno de ejecución de  Java es un solo proceso con múltiples hilos Múltiples procesos e hilos se encuentran en Windows, Solaris, y muchas versiones modernas de UNIX • • Un espacio virtual de direcciones que contiene la imagen del proceso El acceso protegido a  – Procesadores,  – Otros procesos,  – Los archivos,  – E / S de los recursos • Cada hilo tiene  – Un estado de ejecución (ejecucion, listo, etc)  – Contexto del Hilo Guardado cuando no se está ejecutando  – Una pila de ejecución  – Algunos almacenamiento estático para cada Hilo para las variables locales  – El acceso a la memoria y los recursos de su proceso (todos los hilos de un proceso comparten este) • • Una forma de ver un hilo es como un contador de programa independiente que opera dentro de un proceso . • • • • Toma menos tiempo para crear un nuevo hilo de un proceso Menos tiempo para terminar un hilo que un proceso El cambio entre dos hilos toma menos tiempo que los procesos de conmutación Los hilos (threads) pueden comunicarse entre sí  – sin invocar el núcleo • Trabajo de primer plano y de fondo • El procesamiento asincrónico • Velocidad de ejecución • Estructura del programa modular • Varias de las medidas que afectan a todos los hilos en un proceso  – El sistema operativo debe gestionar estos en el nivel de proceso. • Ejemplos:  – La suspensión de un proceso implica la suspensión de todos los subprocesos del proceso  – La terminación de un proceso, termina todas las discusiones dentro del proceso • Los Hilos tienen estados de ejecución y pueden sincronizar entre sí.  – De manera similar a los procesos • Nos fijamos en estos dos aspectos de la funcionalidad de hilo a su vez.  – Unidos  – Sincronización • Estados asociados a un cambio en el estado del hilo  – Crear (otro hilo) • bloqueo  – Problema: Bloqueando un hilo se bloquea una secuencia de rosca otro, o todas, las discusiones  – desatascar  – Acabado (Hilo) • Desasignar Contexto registro y pilas • Considere lo siguiente:  – Un programa que realiza una llamada a procedimiento remoto (RPC)  – a dos hosts diferentes  – para obtener un resultado combinado. • User Level Thread (ULT) • Kernel level Thread (KLT) tambien llamado:  – kernel-supported threads  – lightweight processes (procesos livianos). • • Toda la gestión de hilos se realiza por la aplicación El kernel no tiene conocimiento de la existencia de hilos • Kernel mantiene la información de contexto para el proceso y los hilos  – No hay manejo de hilos realizado por la aplicación • • La planificación se realiza en una base de Hilos Windows es un ejemplo de este enfoque • • • El kernel puede planificar simultáneamente múltiples hilos de un mismo proceso en varios procesadores. Si un subproceso en un proceso se bloquea, el kernel puede planificar otro hilo del mismo proceso. Las rutinas del Kernel en sí pueden ser multihilo. • La transferencia del control de un subproceso a otro dentro del mismo proceso requiere un modo interruptor en el kernel • • • La creación de hilos se hace en el espacio de usuario A mayor parte de la programación y la sincronización de los hilos se hace por la aplicación Example is Solaris • Hilos: la propiedad y la ejecución de recursos • El multiprocesamiento simétrico (SMP). • microkernel • Estudios de caso de hilos y SMP:  – Windows  – Solaris  – Linux • Tracionalmente las computadoras se ha visto como una maquina secuencial.  – Un procesador ejecuta intrucciones una a una en secuencia en un tiempo determinado  – Cada instruccion es una secuencia de operaciones • Dos aproximaciones para proveer paralelismo  – Symmetric MultiProcessors (SMPs)  – Clusters • Single Instruction Single Data (SISD) stream  – Un procesador ejecuta una instruccion para operar en datos almacenados en una memoria • Single Instruction Multiple Data (SIMD) stream  – Cada instruccion es ejecutada en un conjunto diferente de datos por diferentes procesadores • Multiple Instruction Single Data (MISD) stream (Nunca implementador)  – Una secuencia de datos es transmitida a un conjunto de procesadores, cada uno ejecuta una secuencia de instrucciones diferente • Multiple Instruction Multiple Data (MIMD)  – Un conjunto de procesadores ejecutan simultaneamente diferentes secuencias de instrucciones en diferentes conjuntos de datos