Download Hilos, SMP y Micronúcleos Edgar A. Mendieta 1 Tarea 3 Hilos 1

Document related concepts

Hilo de ejecución wikipedia , lookup

Núcleo (informática) wikipedia , lookup

L4 (micronúcleo) wikipedia , lookup

Proceso (informática) wikipedia , lookup

Arquitectura de Windows NT wikipedia , lookup

Transcript
1
Tarea 3
Hilos
1. Cuales bloques de control de proceso deberían pertenecer a un bloque
de control de hilo y cuáles a un bloque de control de proceso en un
sistema multihilo?
Para modelos monohilo deben prevalecer;
•
Pila de Usuario
•
Pila del Núcleo.
En los modelos multihilo debe haber los siguientes bloques de control;
•
Bloque de control de hilo.
•
Pila de usuario.
•
Pila de núcleo.
2. Indique razonablemente por qué un cambio de modo entre hilos puede
ser menos costoso que un cambio de modo entre procesos.
a. Se tarda mucho menos tiempo en crear un nuevo hilo en un proceso
existente que en crear un nuevo proceso.
b. Se tarda mucho menos tiempo en terminar un hilo que un proceso.
c. Se tarda mucho menos tiempo en cambiar entre dos hilos de un mismo
proceso.
d. Los hilos aumentan la eficiencia de la comunicación entre programas en
ejecución.
3. Cuáles son las dos características diferentes y potencialmente
independientes que expresa el concepto de proceso?
Estas características son.
•
Unidad de propiedad de los recursos. Un proceso incluye un espacio de
direcciones virtuales para mantener la imagen del proceso y, de cuando
en cuando el proceso se le puede asignar el control o la propiedad de
recursos tales como memoria principal, entre otros.
Hilos, SMP y Micronúcleos
Edgar A. Mendieta
2
•
Unidad de Expedición. La ejecución de un proceso sigue un camino de
ejecución (traza) a través de uno o más programas.
En la mayoría de los sistemas operativos, estas dos características son, de
hecho, la esencia de un proceso. Para distinguir estas dos características, la
unidad de expedición se conoce como hilo o proceso ligero, mientras que la
unidad de propiedad de los recursos se le suele llamar proceso o tarea.
4. Indique cuatro ejemplos generales del uso de hilos en un sistema
monousuario multiprogramado.
•
Trabajo Interactivo y en Segundo Plano. Algunos hilos de un proceso
pueden estar visualizando menús o opciones de una aplicación y otros
pueden estar leyendo la entrada del usuario.
•
Procesamiento Asíncrono. Los elementos asíncronos del programa se
pueden implementar como hilos.
•
Aceleración de la Ejecución. Un proceso con hilos múltiples puede
computar un lote de datos mientras lee el lote siguiente de un dispositivo.
•
Estructuración modular de los programas. Los programas que realizan
una variedad de actividades o varios orígenes y destinos de entrada y
salida pueden hacerse más fáciles de diseñar e implementar mediante
hilos.
5. Qué recursos comparten, normalmente, los hilos de un proceso?
Todos los hilos de un proceso comparten el estado y los recursos del proceso.
Residen en el mismo espacio de direcciones y tienen acceso a los mismos
datos. Si un hilo abre un dato en la memoria, los otros hilos utilizan el resultado
cuando acceden al dato. Si un hilo abre un archivo con permisos de lectura, el
resto de lectura, el resto de los hilos del mismo proceso también puede leer de
él.
6. Enumere tres ventajas de los ULT frente a los KLT.
Hilos, SMP y Micronúcleos
Edgar A. Mendieta
3
a. El intercambio de hilos no necesita los privilegios del modo de núcleo,
porque todas las estructuras de datos de gestión de hilos están en el
espacio de direcciones de usuario de un mismo proceso. Por lo tanto, el
proceso no debe cambiar a modo de núcleo para gestionar hilos.
b. Se puede realizar una planificación específica. Para una aplicación puede
ser mejor la planificación mediante turno rotatorio mientras que para otra
puede ser mejor la planificación por prioridades.
c. Los ULT (hilos a nivel de usuario) pueden ejecutar en cualquier sistema
operativo. Para dar soporte a los ULT no es necesario realizar cambios en
el núcleo subyacente.
7. Enumere dos desventajas de los ULT frente a los KLT.
a. En un sistema operativo, la mayoría de las llamadas al sistema son
bloqueadoras. Así, pues cuando un ULT ejecuta una llamada al sistema
no solo se bloquea ese hilo, sino todos los hilos del proceso.
b. En una estrategia ULT pura, una aplicación multihilo no puede aprovechar
las ventajas de los multiprocesadores.
8. Defina Recubrimiento.
Convertir llamadas bloqueadoras del sistema en no bloqueadoras. Ejemplo; en
vez de llamar directamente a una función del sistema para E/S, un hilo llama a
una función de recubrimiento de E/S de aplicación.
9. Defina brevemente las distintas arquitecturas SMP (Simetric Multi
Processing).
a. Flujo de Instrucción simple/dato simple (SISD). Un único procesador
ejecuta un único flujo de instrucciones para operar sobre los datos
almacenados en una única memoria.
b. Flujos de instrucción simple/datos múltiples (SIMD). Una única instrucción
de máquina controla la ejecución simultánea de varios elementos de
proceso según una secuencia de bloqueos.
Hilos, SMP y Micronúcleos
Edgar A. Mendieta
4
c. Flujo de instrucción múltiple/dato simple (MISD). Se transmite una
secuencia de datos a un conjunto de procesadores, cada uno de los
cuales ejecuta una instrucción de la secuencia.
d. Flujo de instrucción múltiple/datos múltiples (MIMD). Un conjunto de
procesadores
ejecuta
simultáneamente
varias
secuencias
de
instrucciones sobre distintos conjuntos de datos.
10. Enumere los elementos claves para un Sistema Operativo SMP.
a. Procesos o Hilos Concurrentes. Es necesario que las funciones del
núcleo sean reentrantes, para permitir que varios procesadores ejecuten el
mismo código del núcleo al mismo tiempo.
b. Planificación. Se deben evitar los conflictos ya que la planificación se
puede realizar en cualquier procesador.
c. Sincronización. Cuando varios procesos activos pueden acceder a
espacios de memoria o recursos compartidos, es necesario tomar precauciones
para ofrecer una sincronización eficaz.
d. Gestión de Memoria. La gestión de memoria en un multiprocesador
debe solucionar todos los problemas encontrados en los monoprocesadores.
e. Fiabilidad y Tolerancia a los fallos. El sistema operativo debe realizar
una degradación proporcional en caso de fallo de un procesador.
11. Ejemplos de funciones y servicios de un sistema operativo monolítico
convencional que pueden ser subsistemas externos en un sistema
operativo con micro núcleo.
Se pueden mencionar; controladores de dispositivos, los sistemas de archivos,
los gestores de memoria virtual, los sistemas de ventanas y los servicios de
seguridad.
12. Enumere y explique brevemente siete ventajas potenciales de un
diseño con micro núcleo frente a un diseño monolítico.
Hilos, SMP y Micronúcleos
Edgar A. Mendieta
5
•
Interfaz uniforme; los sistemas de micro núcleo implementan una interfaz
uniforme para las solicitudes realizadas por los procesos.
•
Extensibilidad; permiten añadir nuevos servicios al conjunto de servicios
ya existentes en algunas de las áreas funcionales.
•
Flexibilidad; no solo se pueden agregar características al sistema
operativo, también se pueden reducir las características actuales para
dar lugar a una implementación más pequeña y más eficiente.
•
Portabilidad; en los sistemas con micro núcleo, la gran mayoría del
código especifico del procesador esta en el micro núcleo. Por lo que los
cambios del sistema a nuevos procesadores serán menores.
•
Fiabilidad; el uso de pequeño numero de Interfaces de Programa de
Aplicación aumenta la probabilidad de producir código de calidad para los
servicios del sistema operativo externo al núcleo.
•
Soporte a sistemas distribuidos; cuando un cliente envía un mensaje a un
proceso servidor, el mensaje debe incluir un identificador del servicio
solicitado. Si el sistema distribuido está configurado para que todos los
procesos y servicios tengan un identificador único, en realidad hay una
sola imagen del sistema a nivel de micro núcleo.
•
Sistema operativo orientado a objetos; un enfoque orientados a objetos
puede aportar una disciplina al diseño del micronúcleo y al desarrollo de
las extensiones modulares del sistema operativo.
13. Explique la desventaja potencial del rendimiento de un sistema
operativo con micronucleo.
Una desventaja potencial, citada con frecuencia, de los micronucleos es su
rendimiento. Consume más tiempo construir y enviar un mensaje, o aceptar y
descodificar la respuesta, a través del micronucleo que mediante una simple
llamada al sistema.
14. Enumere tres funciones que esperaría encontrar incluso en un sistema
operativo con un micronúcleo mínimo.
Hilos, SMP y Micronúcleos
Edgar A. Mendieta
6
a. Gestión de Memoria a bajo nivel. El micronúcleo tiene el control del
concepto hardware de espacio de direcciones, para permitir implementar
la protección en el proceso. La paginación y soporte a memoria externa
es dada por:
1. Cesión. El propietario de un espacio de direcciones puede ceder
varias de sus paginas a otro proceso.
2. Asociación. Un proceso puede asociar cualquiera de sus paginas
al espacio de direcciones de otro, de forma que ambos procesos
tienen acceso a estas paginas.
3. Rellenado. Un proceso puede reclamar cualquier pagina concedida
o asociada a otro.
b. Comunicación entre procesos. Los mensajes son el mecanismo básico de
comunicación entre procesos o hilos en un sistema operativo con
micronucleos.
c. Gestión de Interrupciones E/S. En una arquitectura micronucleo, es
posible gestionar las interrupciones de hardware como mensajes e incluir
los puertos de E/S en espacios de direcciones.
15. Cuál es la forma básica de comunicación entre procesos o hilos en un
sistema operativo con micronúcleo?
Los mensajes son el mecanismo básico de comunicación entre procesos o hilos
en un sistema operativo con micronucleos. Un mensaje incluye una cabecera,
que identifica a los procesos emisor y receptor, y un cuerpo, que contiene
directamente los datos, un puntero a un bloque de datos o alguna información de
control sobre el proceso.
Hilos, SMP y Micronúcleos
Edgar A. Mendieta