Tarea 3


HILOS




4.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?

Elementos de la tabla 3.5 para:

 

Bloque de control de hilo:

 

Bloque de control de proceso en un sistema multihilo:

 

*      Espacio de memoria

 

*      Espacio de direcciones virtuales, que contiene la imagen del proceso.

 

*      Procesos hijos

 

*      Acceso protegido a los procesadores, otros procesos (para la comunicación entre procesos), archivos y recursos de E/S (dispositivos y canales).

 

*      Temporizadores

 

*      El contexto del procesador, que se salva cuando no está ejecutando; una forma de ver el hilo es como un contador de programa independiente operando dentro de un proceso.

 

*      Señales y semáforos

 

*      Una pila de ejecución.

 

*      Contabilidad

 

*      Almacenamiento estático para las variables locales.

 

*      Variables globales

 

*      Acceso a la memoria y a los recursos del proceso, compartidos con todos los otros hilos del mismo.

 

*      Archivos abiertos

 

*      El estado de ejecución del hilo (ejecución, listo, etc.).

 

 4.2 Indique razonadamente por qué un cambio de modo entre hilos puede ser menos costos que un cambio de modo entre procesos.

Un cambio de modo entre hilos puede ser menos costoso que un cambio de modo entre procesos ya que en cada cambio de proceso se produce más desgaste de memoria y más sobrecarga.

 

4.3 ¿Cuáles son las dos características diferentes y potencialmente independientes que expresa el concepto de proceso?

Características que expresa el concepto de proceso son:

  •  Unidad de propiedad de los recursos.
  • Unidad de expedición.

 

4.4 Indique 4 ejemplos generales del uso de hilos en un sistema monousuario multiprogramado.

Cuatro ejemplos del uso de hilos en un sistema monousuario multiprogramado son:

  • Trabajo interactivo y en segundo plano.
  • Procesamiento asíncrono.
  • Aceleración de la ejecución
  • Estructuración modular de los programas

 

4.5 ¿Qué recursos comparten, normalmente, los hilos de un proceso?

Los hilos de un proceso comparten el mismo espacio de direcciones y otros recursos, como los archivos abiertos.

 

4.6 Enumere tres ventajas de los ULT frente a las KLT.

Las tres ventajas de los ULT frente a las KLT:

 

ULT

KLT

  • El intercambio de los hilos no necesita los privilegios del modo kernel, porque todas las estructuras de datos están en el espacio de direcciones de usuario de un mismo proceso. Por lo tanto, el proceso no debe cambiar a modo kernel para gestionar hilos. Se evita la sobrecarga de cambio de modo y con esto el sobrecoste u overhead.

 

  • El kernel puede planificar simultáneamente múltiples hilos del mismo proceso en múltiples procesadores.

 

  • Se puede realizar una planificación específica. Dependiendo de que aplicación sea, se puede decidir por una u otra planificación según sus ventajas.

 

  • Si se bloquea un hilo, puede planificar otro del mismo proceso.

 

  • Los ULT pueden ejecutar en cualquier sistema operativo. La biblioteca de hilos es un conjunto compartido.

 

  • Las propias funciones del kernel pueden ser multihilo

 

  

4.7 Enumere dos desventajas de los ULT frente a los KLT.

Dos ventajas de los ULT frente a los KLT son:

ULT

KLT

  • En una estrategia ULT pura, una aplicación multihilo no puede aprovechar las ventajas de los multiprocesadores. El núcleo asigna un solo proceso a un solo procesador, ya que como el núcleo no interviene, ve al conjunto de hilos como un solo proceso
  • El paso de control de un hilo a otro precisa de un cambio de modo
  • En la mayoría de los sistemas operativos las llamadas al sistema (System calls) son bloqueantes. Cuando un hilo realiza una llamada al sistema, se bloquea el mismo y también el resto de los hilos del proceso.

 

 

 

 

 

4.8 Defina Recubrimiento

Recubrimiento es una manera de superar el problema de bloqueo de hilos y su propósito es convertir una llamada bloqueadora al sistema en otra no bloqueadora.

 

4.9 Defina brevemente las distintas arquitecturas nombradas en la figura 4.8

Las distintas arquitecturas que aparecen en la figura 4.8 son:

  • Flujo de instrucción simple/dato múltiples (SIMD): es una única instrucción de máquina controla la ejecución simultánea de varios elementos del proceso según una secuencia de bloqueos.
  • Flujo de instrucción múltiple/datos múltiples (MIMD): es un conjunto de procesadores ejecuta simultáneamente varias secuencias de instrucciones sobre distintos conjuntos de datos.
  • Memoria compartida: es cuando los procesadores comparten una memoria común con lo que puede acceder a programas y datos almacenados en esa memoria común.
  • Agrupaciones: es cuando cada procesador tiene una memoria dedicada donde cada elemento del proceso es un computador auto contenido.
  • Maestro/Esclavo: es el núcleo del sistema operativo siempre ejecuta en un procesador determinado. El resto de los procesadores solamente pueden ejecutar programas de usuario y, en ocasiones, utilidades del sistema operativo.
  • Multiproceso Simétrico: es el núcleo puede ejecutar en cualquier procesador y, normalmente, cada procesador se auto planifica a partir de una cola de procesos o hilos libres.

 

4.10 Enumere los elementos clave de diseño para un sistema operativo SMP.

Los elementos claves de diseño para un SO SMP son:

  • Procesos o hilos concurrentes.
  • Planificación.
  • Sincronización.
  • Gestión de memoria.
  • Fiabilidad y tolerancia a los fallos

 

4.11 Indique ejemplos de funciones y servicios de un sistema operativo monolítico convencional que puedan ser subsistemas externos en un sistema operativo con micronúcleo.

Ejemplos de funciones y servicios de un sistema operativo:

  • Cesión: el propietario de un espacio de direcciones puede ceder varias de sus páginas a otro proceso.
  • Asociación: un proceso puede asociar cualquiera de sus páginas al espacio de direcciones de otro, de forma que ambos procesos tiene accesos a estas páginas.
  • Rellenado: un proceso puede reclamar cualquier página concedida o asociada a otro.

 

4.12 Enumere y explique brevemente siete ventajas potenciales de un diseño con micronúcleo frente a un diseño monolítico.

Las siete ventajas de un diseño con micro núcleo frente a un diseño monolítico son:

  • Uniformidad de interfaces: los procesos no necesitan diferenciar entre servicios de usuario y núcleo, ya que todos los servicios se utilizan mediante pasos de mensajes.
  • Fiabilidad: aumenta la probabilidad de producir código de calidad para los servicios del sistema operativo externos al núcleo.
  • Portabilidad: los cambios necesarios para portar el sistema a un nuevo procesador son menores y tienden a estar ordenados en agrupaciones lógicas.
  • Extensibilidad: permiten añadir nuevos servicios al conjunto de servicios ya existentes en alguna de las áreas funcionales.
  • Flexibilidad: se pueden reducir las características actuales para dar lugar a una implementación más pequeña y eficiente.
  • Soporte a los sistemas distribuidos: se incluyen agrupaciones controladas por un sistema operativo distribuido.
  • Soporte para sistemas operativos orientados a objetos: aporta una disciplina al diseño del micro núcleo y al desarrollo de las extensiones modulares del sistema operativo.

  

4.13 Explique la desventaja potencial del rendimiento de un sistema operativo con micronúcleo.

La principal desventaja del rendimiento de un SO con micronúcleo es 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 simple llamada al sistema.

 

4.14 Enumere tres funciones que esperaría encontrar incluso en un sistema operativo con un micronúcleo mínimo.

Las tres funciones que esperaría encontrar en un sistema operativo con un micronúcleo mínimo son:

  • Gestión de memoria a bajo nivel.
  • Comunicación entre procesos.
  • Gestión de interrupciones y E/S

 

4.15 ¿Cuál es la forma básica de comunicación entre procesos o hilos en un sistema operativo con micronúcleo?

La forma básica de comunicación entre procesos o hilos en un SO con micronúcleo son los mensajes. 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. 

Encontrara una sólida fundamentación teórica en áreas de
SISTEMAS OPERATIVO 1
DAYREMI DIAZ
8-833-570
 
Hoy habia 1 visitantes (1 clics a subpáginas) ¡Aqui en esta página!
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis