Cap 5 Procesos e Hilos So 2014 d

June 5, 2018 | Author: Dante García | Category: Thread (Computing), Process (Computing), Central Processing Unit, Computer Hardware, Digital Technology
Report this link


Description

Sistemas Operativos y AdmProcesos y Threads CAP 05 v1.0 Ing.Dr. Henry I. Condori Alejo [email protected] [email protected] © 2014HCA Roadmap • • • • 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 Procesos e Hilos • 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 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 Procesos e Hilos • 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 . . dentro de un solo proceso.Multihilos Multithreading • La capacidad de un sistema operativo para soportar múltiples rutas de ejecución concurrentes. Aproximaciones: Hilos simples • MS-DOS soporta un solo proceso de usuario y un solo hilo. soporte a múltiples procesos de usuario. • Algunos UNIX. pero sólo soporta un hilo por proceso . y muchas versiones modernas de UNIX . Solaris.Multihilos • El entorno de ejecución de Java es un solo proceso con múltiples hilos • Múltiples procesos e hilos se encuentran en Windows. Procesos • Un espacio virtual de direcciones que contiene la imagen del proceso • El acceso protegido a – – – – Procesadores. E / S de los recursos . Los archivos. Otros procesos. 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) .Uno o más hilos en Proceso • Cada hilo tiene – Un estado de ejecución (ejecucion. listo. .Un punto de vista… • Una forma de ver un hilo es como un contador de programa independiente que opera dentro de un proceso • . Hilos Vs Procesos . Beneficios de los Hilos • 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 . Uso de hilos en sistemas de un solo usuario • • • • Trabajo de primer plano y de fondo El procesamiento asincrónico Velocidad de ejecución Estructura del programa modular . termina todas las discusiones dentro del proceso .Hilos Threads • 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. – Unidos – Sincronización . – De manera similar a los procesos • Nos fijamos en estos dos aspectos de la funcionalidad de hilo a su vez.Actividades Similares a Procesos • Los Hilos tienen estados de ejecución y pueden sincronizar entre sí. Hilo de estado de ejecució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 . Ejemplo: Remote Procedure Call • Considere lo siguiente: – Un programa que realiza una llamada a procedimiento remoto (RPC) – a dos hosts diferentes – para obtener un resultado combinado. . RPC Usando un solo HIlo . RPC Usando Un Hilo por servidor . Multithreading En monoprocesador . Adobe PageMaker . .Categorias de Implementacion de Threads • User Level Thread (ULT) • Kernel level Thread (KLT) tambien llamado: – kernel-supported threads – lightweight processes (procesos livianos). Threads de nivel usuario • Toda la gestión de hilos se realiza por la aplicación • El kernel no tiene conocimiento de la existencia de hilos . Relacin entre ULT Hilos y Estados de Proceso . Kernel-Level Threads • 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 . Ventajas del KLT • El kernel puede planificar simultáneamente múltiples hilos de un mismo proceso en varios procesadores. el kernel puede planificar otro hilo del mismo proceso. . • Las rutinas del Kernel en sí pueden ser multihilo. • Si un subproceso en un proceso se bloquea. Desventajas del KLT • La transferencia del control de un subproceso a otro dentro del mismo proceso requiere un modo interruptor en el kernel . Enfoques combinados • 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 . Relaciones entre Hilos y Procesos . Roadmap • • • • 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 . – 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 .Vision Tradicional • Tracionalmente las computadoras se ha visto como una maquina secuencial. Categorias de los Sistemas Computacionales • 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 . Categorias de los Sistemas Computacionales • 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 . Arquitectura de Procesadores en Paralelo .


Comments

Copyright © 2024 UPDOCS Inc.