1. La Tabla 3.5 enumera los elementos más habituales de un
bloque de control de proceso para un sistema operativo sin hilos. De ellos,
¿cuáles deberían pertenecer a un bloque de control de hilo y cuáles a un bloque
de control de proceso en un sistema multihilo?
R:. Estos se describen en las siguientes tablas:
|
Multi hilos |
Hilos |
|
Identificador de hilo |
Identificador de procesos |
|
Información
del estado del hilos |
Información del estado de procesos |
|
Puntero de pila |
Puntero de pila |
|
Estructura
de datos |
Información de planificación y estado |
|
Comunicación
entre procesos |
Comunicación entre procesos |
|
Privilegios
entre hilos |
Privilegios entre procesos |
|
|
Gestión de memoria |
|
|
Propiedad de los recursos de utilización |
2. Indique razonadamente por
qué un cambio de modo entre hilos puede ser menos costoso que un cambio de modo
entre procesos.
R:. Un cambio de hilos es más beneficioso ya que se tarda
mucho menos tiempo en crear un nuevo hilo en un proceso existente que en crear
un nuevo proceso; 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?
R:.
Características que expresan el concepto de
proceso:
a.
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, al proceso se le puede asignar el control o la
propiedad de recursos tales como la memoria principal, canales de E/S, etc.
b.
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.
4. Indique cuatro ejemplos
generales del uso de hilos en un sistema monousuario multiprogramado.
R:. Ejemplos del
uso de hilos en un sistema multiusuario:
¯ Trabajo interactivo y en segundo plano
¯ Procesamiento asíncrono
¯ Aceleración de la ejecución
¯ Estructuración modular de los programas
5. ¿Qué recursos comparten,
normalmente, los hilos de un proceso?
R:.
Normalmente, los hilos de un proceso comparten
los espacios de direcciones y los archivos abiertos.
6. Enumere tres ventajas de
los ULT frente a los KLT.
R:. Ventajas de los ULT frente a los KLT:
¯ El intercambio de hilos no necesita privilegios del
modo de núcleo
¯ Se puede realizar una planificación específica
¯ Los ULT pueden ejecutar en cualquier sistema operativo
7. Enumere dos desventajas de
los ULT frente a los KLT.
R:. Desventajas de los ULT frente a los KLT:
¯ Cuando un ULT ejecuta una llamada al sistema no sólo
se bloquea ese hilo, sino todos los hilos del proceso
¯ En una estrategia ULT pura, una aplicación multihilo no puede aprovechar las ventajas de los multiprocesadores.
8. Defina recubrimiento.
R:. Recubrimiento: es una técnica mediante la cual se
supera el problema del bloqueo en los hilos.
9. Defina brevemente las
distintas arquitecturas nombradas en la Figura 4.8
R:. Tipos de arquitecturas de procesadores paralelos
a.
SIMD: una única instrucción
de máquina controla la ejecución simultánea de varios elementos del proceso
según una secuencia de bloqueos.
b.
MIMD: un conjunto de
procesadores ejecuta simultáneamente varias secuencias de instrucciones sobre
distintos conjuntos de datos.
c.
SMP: el núcleo puede
ejecutar en cualquier procesador y, normalmente cada procesador se autoplanifica a partir de una cola de procesos o hilos
libres.
d.
Maestro/esclavo: el núcleo
del sistema operativo siempre ejecuta en un proceso determinado.
e.
Memoria compartida: los
procesadores comparten una memoria común, cada uno de ellos accede a programas
y datos almacenados en la memoria compartida y se comunican entre sí por medio
de esa memoria.
f.
Agrupación: cada procesador
tiene una memoria dedicada, cada elemento del proceso es un computador autocontenido.
10.
Enumere los elementos clave de diseño para un sistema
operativo SMP.
R:. Elementos clave de diseño para un sistema SMP:
¯ Procesos o hilos concurrentes
¯ Planificación
¯ Sincronización
¯ Gestión de memoria
¯ Fiabilidad y tolerancia a fallos
11.
Indique ejemplos de funciones y servicios de un
sistema operativo monolítico convencional que puedan ser subsistemas externos
en un sistema operativo con micro núcleo.
R:. Cuando estamos ejecutando un programa de usuario y hace
falta un servicio del Sistema Operativo, los pasos que se siguen son los
siguientes:
¯ Se hace una
llamada al SO, es decir, se ejecuta un extracódigo (Supervisor Call
SVC)
¯ El SO toma el
control, es decir, se pasa a modo
supervisor
¯ El SO averigua el
servicio requerido y direcciona a la rutina que da
servicio a esa petición
¯ La rutina inicia
el servicio, siempre y cuando le hayan pasado los parámetros necesarios
¯ La rutina
anterior puede llamar, a su vez, a otra rutina que sirva la petición, sobre
todo en aquellos servicios que llevan mucho tiempo
¯ Cuando se
completa el servicio requerido se devuelve el control al proceso, es decir, se
pasa a modo usuario
12.
Enumere y explique brevemente siete ventajas
potenciales de un diseño con micronúcleo frente a un
diseño monolítico.
R:. Ventajas potenciales de un diseño con micronúcleo:
a.
Uniformidad de interfaces:
los procesos no necesitan diferenciar entre servicios de usuario y de núcleo,
ya que todos se utilizan por medio de mensajes.
b.
Extensibilidad: permite
añadir nuevos servicios al ya existente.
c.
Flexibilidad: permite
reducir las características actuales.
d.
Portabilidad: portar el
sistema a un nuevo procesador.
e.
Fiabilidad: que tenga un
código de calidad.
f.
Soporte a sistemas
distribuidos: incluye agrupaciones controladas por un sistema operativo
distribuido.
g.
Soporte para sistemas
operativos orientados a objetos: enfoque orientado a objetos.
13.
Explique la desventaja potencial del rendimiento de un
sistema operativo con micronúcleo.
R:. Es el
rendimiento, ya que consume más tiempo construir y enviar un mensaje, o aceptar
y descodificar la respuesta a través del micronúcleo
que mediante una llamada al sistema.
14.
Enumere tres funciones que esperaría encontrar incluso
en un sistema operativo con un micronúcleo mínimo.
R:. Gestión de memoria a bajo nivel, comunicación entre
procesos (IPC) y gestión de interrupciones y E/S.
15.
¿Cuál es la forma básica de comunicación entre
procesos o hilos en un sistema operativo con micronúcleo?
R:. La forma básica de comunicación entre procesos en un S.
O con micro núcleo son los mensajes.