Descargar

Hebras, SMP y Microkernels (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

13 Hebras a nivel de usuario Ventajas Cambio de contexto no necesita privilegios del kernel y es más rápido Scheduling puede depender y ser específico a la aplicación Pueden ser implementadas en cualquier SO, y no requieren cambios al kernel Desventajas Cuando una hebra se boquea, el proceso entero se bloquea Aunque exista varios procesadores, la hebras no podrían hacer uso de ellos en forma paralela

edu.red

14 Hebras a nivel de kernel Toda la administración de hebras la realiza el kernel (sistema puro) Windows es un ejemplo de este modo El kernel mantiene información de contexto por el proceso y por la hebras del proceso Scheduling es al nivel de hebra Ventajas: Se puede explotar múltiples procesadores Si una hebra se bloquea, el control de la CPU puede pasar a otra hebra Desventaja: cambio de contexto entre hebras requiere la intervención del kernel

edu.red

15 VAX Running UNIX-Like Operating System

edu.red

16 Sistemas híbridos La creación de hebras se hace a nivel de usuario Parte de la sincronización y scheduling tambien se hace a nivel de usuario Ejemplo es Solaris La hebras a nivel de usuario se mapean (corren) sobre un número variable de hebras de kernel

edu.red

17 Otros modelos

edu.red

18 Multiprocesamiento simétrico (SMP)

edu.red

19 Modelos de computación Single Instruction Single Data (SISD) stream Un flujo simple de instrucciones operan sobre una sequencia simple de datos almacenados en memoria Single Instruction Multiple Data (SIMD) stream Un mismo flujo de instrucciones opera sobre conjuntos diferentes de datos por diferentes unidades de procesamiento (procesadores vectoriales) Multiple Instruction Single Data (MISD) stream Una secuencia de datos se transmite a un conjunto de procesadores, los cuales ejecutan un operación distinta sobre ellos (nunca implementada) Multiple Instruction Multiple Data (MIMD) stream Un conjunto de procesadores ejecutan instrucciones diferentes sobre conjuntos de datos diferentes simultáneamente

edu.red

20

edu.red

21 Modelos de asignación de procesos Maestro/esclavo : El kernel del SO siempre corre en un procesador dado (maestro). El maestro envia procesos usuarios a los esclavos Ventajas: simple, Desventajas: Si se cae el maestro, todo el sistema se cae. También, el maestro puede ser un cuello de botella

Simétrico (SMP): El kernel se puede ejecutar en cualquier procesador El kernel se puede construir como múltiples procesos o hebras Cada procesador puede planifica sus propios procesos desde un pool de procesos disponibles Desventaja: complicado

edu.red

22

edu.red

23 Consideraciones de diseño de SO SMP Ejecución simultánea de procesos o hebras El código del kernel debe ser reentrante Scheduling Cualquier procesador puede realizar su propio scheduling Sincronización Se debe controlar el acceso simultáneo a la memoria compartida y dispositivos de I/O compartidos Administración de memoria Además de todos los problemas típicos asociados con la administración de memoria, el SO debe explotar el paralelismo que el hardware le provee, como por ejemplo las memorias multipuerto Confiabilidad y tolerancia a fallas El SO debe estar preparado por si un procesador falla

edu.red

24 Microkernels Núcleo pequeño del sistema operativo que provee sólo las funciones escenciales Muchos servicios que tradicionalmente son incluidos en el SO son dejados fuera del microkernel Drivers de los dispositivos Sistemas de archivos Administrador de memoria virtual Sistema de ventanas Servicios de seguridad

edu.red

25 En un microkernel, los componentes externos a él son implementados como procesos servidores, los cuales se comunican con paso de mensajes a través del microkernel

edu.red

26 Beneficios de una organizacion microkernel Interface uniforme para pedir servicios por los procesos No hay distincion entre servicios a nivel de kernel o nivel de usuario Todos los servicios se proveen mediante paso de mensajes Extensibilidad Facilita la adición de nuevos servicios Sólo los servidores involucrados son modificados El microkernel no se modifica Flexibilidad Facilita la adición de nuevas características Facilita la eliminación características obsoletas Portabilidad Cambios para portar el SO a una nueva arquitectura se realizan sólo en el microkernel, no servicios Confiabilidad Diseño modular Es más facil depurar un microkernel pequeño que un gran SO monolítico

edu.red

27 Diseño de Microkernel Un microkernel debe incluir funciones: que dependen directamente del hardware de apoyo a los servidores operando en modo usuario Estas funciones caen en la siguientes categorias generales: Administración de bajo nivel de memoria Comunicación entre procesos I/O Administración de interrupciones

edu.red

28 Windows Processes Implemented as objects An executable process may contain one or more threads Both processes and thread objects have built-in synchronization capabilities

edu.red

29

edu.red

30 Windows Process Object

edu.red

31 Windows Thread Object

edu.red

32 Windows 2000Thread States Ready Standby Running Waiting Transition Terminated

edu.red

33

edu.red

34 Solaris Process includes the user’s address space, stack, and process control block User-level threads Lightweight processes (LWP) Kernel threads

edu.red

35

edu.red

36

edu.red

37 Solaris Lightweight Data Structure Identifier Priority Signal mask Saved values of user-level registers Kernel stack Resource usage and profiling data Pointer to the corresponding kernel thread Pointer to the process structure

edu.red

38

edu.red

39 Linux Task Data Structure State Scheduling information Identifiers Interprocess communication Links Times and timers File system Address space Processor-specific context

edu.red

40 Linux States of a Process Running Interruptable Uninterruptable Stopped Zombie

edu.red

41

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente