You are on page 1of 31

Hilos, SMP y Microkernels

Unidad edit Click toIII Master subtitle style

Proceso

Propiedad del recurso - el proceso se le asigna un espacio de direcciones virtuales para mantener la imagen del proceso Planificacin/ejecucin - sigue una ruta de ejecucin que se pueden intercalar con otros procesos Estas dos caractersticas son tratados de forma independiente por el sistema operativo

Proceso

El envo se conoce como un hilo Recursos de la propiedad que se conoce como un proceso o tarea

Multihilos

El sistema operativo soporta mltiples hilos de ejecucin en un nico proceso MS-DOS soporta un solo hilo UNIX soporta mltiples procesos de los usuarios, pero slo es compatible con un hilo por proceso Windows 2000, Solaris, Linux, Mach, y OS / 2 soportan mltiples hilos

Proceso

Tener un espacio de direcciones virtuales que sostiene la imagen del proceso Acceso protegido a los procesadores, otros procesos, archivos y recursos de E / S

Hilo

Un estado de ejecucin (en ejecucin, listo, etc) Se guarda el contexto del hilo cuando no se ejecute Tiene una pila de ejecucin Algo de almacenamiento esttico por hilo variables locales El acceso a la memoria y los recursos de su proceso

El Acceso a la Memoria y los Recursos de su Proceso

Beneficios de los Hilos

Toma menos tiempo para crear un nuevo hilo que un proceso Menos tiempo para terminar un hilo que un proceso Menos tiempo para alternar entre dos hilos dentro del mismo proceso Dado que hilos dentro de la misma memoria y archivos compartida del proceso , ellos pueden comunicar entre s sin necesidad de invocar el kernel

Usos de los hilos en un sistema de multiprocesamiento de un solo usuario


De primer plano a un trabajo de fondo Procesamiento asincrnico velocidad de ejecucin Estructura del programa modular

Hilos

La suspensin de un proceso consiste en suspender todos los subprocesos del proceso ya que todos los hilos comparten el mismo espacio de direcciones La finalizacin de un proceso, termina todos los hilos dentro del proceso

Estados de Hilos

Estados asociado con un cambio en el estado de hilos

Engendrar

Engendrar otro hilo

Bloquear Desbloquear Finalizar

Cancelar la asignacin de registro de contexto y pilas

Llamada de Procedimiento remoto usa hilos

Llamada de Procedimiento remoto usa hilos

Hilos a nivel de usuario

Toda la administracin de hilos se realiza mediante la aplicacin El ncleo no es consciente de la existencia de hilos

Hilos a nivel de kernel

Windows y Linux son ejemplos de este enfoque El Kernel mantiene la informacin de contexto para el proceso y los hilos La planificacin se realiza sobre una base de hilos

Enfoques combinados

El ejemplo es Solaris La creacin del hilo es hecha en el espacio de usuario Mayor parte de la programacin y sincronizacin de hilos de es hecha en el espacio de usuario

Relacin entre hilos y procesos


Hilos: Proceso 1:1 Descripcin Cada hilo de ejecucin es un proceso nico con su propia Direccin del espacio y los recursos. Un proceso define una direccin espacio y de recursos dinmicos propiedad. varios subprocesos puede ser creado y ejecutado dentro de ese proceso. Sistemas de ejemplo Implementacin Tradicional de UNIX

M:1

Windows NT, Solaris, OS/2, OS/390, MACH

Relacin entre hilos y procesos


Hilos: Proceso 1:M Descripcin Un hilo puede emigrar de un proceso para el medio ambiente otro. Esto permite que un hilo que se pueden mover fcilmente entre los sistemas distintos. Combina los atributos de los casos M: 1 y 1: M Sistemas de ejemplo Ra (Clouds), Emerald

M:M

TRIX

Categoras de los sistemas informticos

Datos individuales nica instruccin (SISD)

nico procesador ejecuta una secuencia de instruccin nica para operar sobre los datos almacenados en una memoria nica cada instruccin se ejecuta en un conjunto diferente de los datos por los diferentes procesadores

Datos Mltiples instruccin nica (SIMD)

Categoras de los sistemas informticos

Mltiples instrucciones dato nico (MISD)

una secuencia de datos se transmite a un conjunto de procesadores, cada uno de los cuales ejecuta una secuencia de instruccin diferente. Nunca se ha implementado

Datos mltiples instrucciones mltiples (MIMD)

un conjunto de procesadores simultneamente ejecutan diferentes secuencias de instrucciones en diferentes conjuntos de datos

Multiprocesamiento Simtrico

El Kernel puede ejecutar en cualquier procesador Tpicamente cada procesador se autoprograma para formar el grupo de procesos, o hilos disponibles

Consideraciones de diseo sobre el sistema operativo multiprocesador

Simultneos procesos concurrentes o hilos Programacin Sincronizacin Gestin de la memoria Fiabilidad y tolerancia a fallos

Microkernels

Pequeo ncleo del sistema operativo Contiene slo las funciones esenciales de sistemas operativos Muchos de los servicios tradicionalmente incluidos en el sistema operativo son ahora subsistemas externos

los controladores de dispositivo los sistemas de archivos administrador de memoria virtual sistema de ventanas los servicios de seguridad

Beneficios de un la organizacin de Microkernel

Interfaz uniforme sobre una solicitud presentada por un proceso

Todos los servicios son proporcionados por medio de paso de mensajes Permite la adicin de nuevos servicios Aade nuevas caractersticas Caractersticas existentes puede ser extraidas

Extensibilidad

Flexibilidad

Beneficios de un la organizacin de Microkernel

Portabilidad

Los cambios necesarios para portar el sistema a un nuevo procesador se cambia en el microkernel - no en los otros servicios Diseo modular Microkernel pequeo puede ser rigurosamente probado

Confiabilidad

Beneficios de un la organizacin de Microkernel

Soporte de sistema distribuido

Los mensajes se envan sin saber cual es el equipo de destino Los componentes son objetos con interfaces bien definidas que pueden ser interconectados para formar el software

Sistema operativo orientado a objetos

Diseo del Microkernel

Gestin de memoria de bajo nivel

asigna de cada pgina virtual de un marco a una pgina fsica

Comunicacin entre procesos E / S y gestin de interrupciones

You might also like