You are on page 1of 7

HILOS, SMP Y MICRONÚCLEOS Conceptos Multihilo y Monohilo MULTIHILO.

- varios hilos dentro de un proceso pero en ejecución comparten el espacio de direcciones. MONOHILO.- solo tiene un proceso en ejecución y es suficiente con un bloque. Diferencias entre modelo Monohilo y Multihilo - El monohilo tiene un solo BCP - El Multihilo tiene un BCP para el proceso y BCH para cada hilo, comparten un mismo espacio de direcciones. Similitud entre modelo Monohilo y Multihilo Tienen un mismo BCP y manejan un solo espacio de dirección usuario Todos los hilos dentro de un usuario maneja una pila y un núcleo Maneja un bloque de control de hilos ¿Porque se dice que los hilos aumentan la eficiencia de la comunicación entre programas en ejecución? Los procesos se comunican a través del núcleo y los hilos comparten memoria y archivos de un proceso. Estados de un Hilo Ejecución, Listo y Bloqueado Existe el estado suspendido en los hilos No, porque estos permanecen al concepto de proceso. Beneficios de los Hilos que se derivan de las implicaciones de rendimiento: Se tarda menos tiempo en crear un hilo en un proceso que crear un proceso. Se tarda mucho menos tiempo en terminar un hilo que un proceso. Se tarda menos tiempo en cambiar entre d os hilos de un mismo proceso. Los hilos aumentan la eficiencia de la comunicación entre programas en ejecución. Biblioteca de Hilos Una biblioteca de hilos es un paquete de funciones para gestionar hilos a nivel de usuario. Contiene el código para crear y destruir hilos, para intercambiar mensajes y datos entre hilos, para planificar la ejecución de hilos y para salvar y restaurar el contexto de los hilos. Como define Linux a los hilos y procesos Cuando comparten el mismo espacio de una memoria virtual dos procesos son considerados hilos, por el resto de casos Linux no diferencia entre hilo y proceso. En Linux todos son procesos. Enumere cuales son los beneficios de los hilos. Se tarda menos tiempo en crear hilos que procesos Se tarda mucho menos tiempo en terminar un hilo que un proceso Se tarda menos tiempo en cambiar entre hilos de un mismo proceso Los hilos aumentan la eficiencia de la comunicación entre programas en ejecución Ventajas y Desventajas de los ULT VENTAJAS - 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 dirección de usuario de un mismo proceso. - Se puede realizar una planificación específica. - Los Hilos a Nivel de Usuario pueden ejecutarse en cualquier sistema operativo, sin necesidad de realizar cambios en el núcleo subyacente. DESVENTAJAS - En un Sistema Operativo la mayoría de las llamadas al sistema son bloqueadoras, así es que cuando un ULT ejecuta una llamada al sistema no solo se bloquea ese hilo sino todos los hilos de proceso. - Una aplicación multihilo no puede aprovechar las ventajas de los multiprocesadores. El núcleo asigna un proceso a un solo procesador cada vez. Por lo tanto el procesador puede ejecutar un hilo de cada proceso en cada instante Porque en una estrategia ULT pura, una aplicación multihilo no puede aprovechar las ventajas de los multiprocesadores. El núcleo asigna un proceso a un solo procesador cada vez. Por lo tanto el procesador puede ejecutar un hilo de cada proceso en cada instante Como solventar la característica del multiprocesador que no existe en los ULT Escribiendo una aplicación en forma de multiprocesos en lugar de múltiples hilos. ¿Qué es SMP (Multiproceso Simétrico)? Un multiproceso se basa en el paralelismo, ya que nos permite mejorar el rendimiento de la maquina y aumentar la fiabilidad, Enfoque del paralelismo mediante la duplicación de procesadores. Cuál es el objetivo de un SMP? - Se basa en el paralelismo - Mediante una organización multiprocesador logra el paralelismo puro (que se puede aumentar la velocidad de procesamiento). Clasificación- Arquitectura del SMP Flujo de instrucción simple/dato simple (SISD) Flujo de instrucción simple/dato múltiples (SIMD) Flujo de instrucción múltiple/dato simple (MISD) Flujo de instrucción múltiple/datos múltiples (MIMD)

¿Cuál es la opción para que el bus no se sature? Utilizar menos memoria cache privada Puntos clave dentro del diseño de un S. Puntos clave para el diseño Operativo multiprocesadores Procesos o hilos concurrentes Planificación Sincronización Gestión de Memoria Fiabilidad y tolerancia de los fallos Definición de Micronúcleo Son funciones necesariamente importante para el núcleo las demás tareas pueden ser realizadas por el usuario. El usuario puede usar múltiples procesos e hilos Cuáles son las dos desventajas principales en el uso de ULT en vez de KLT. Se satura el bus. . vario programas de diferentes usu arios cargarse en memoria.Organización de un SMP Procesador Cache Procesador Cache Procesador Cache Memoria Principal Subsistema de E/S Características de la organización de SMP Puede accesar a varios bloques. Multiprogramación.Procesos o hilos concurrentes . Cada procesador tiene acceso a una memoria principal. repartición de tiempo en turno rotatorio. Coherencia de cache en los SMP Todos tienen la misma información es ese momento. . Varios usuarios simultáneamente ¿Por qué es simétrica la estructura SMP? Ya que tiene entrada al mismo tiempo a los sistemas E/S Características principal del SMP Es el encargado de gestionar el procesador como los recursos de tal manera que de la simulación de un sistema monoprocesador multiprogramado. * Función de protección. Desventajas de un SMP Si el cache se cambia. Lo que antes era internas ahora son externas.Fiabilidad y tolerancia a los fallos Enumere 4 características específicas o relevantes de los sistemas operativos de tiempo com partido. Características del micronúcleo: * Funciona como un distribuidor de mensajes.Gestión de memoria . cambia todo. * Otorga el acceso al hardware. Las llamadas a sistema son bloqueadoras así si un ULT ejecuta una llamada al sistema no solo se boquea ese hilo sino todos los hilos del proceso Los ULT no pueden aprovechar las ventajas de los multiprocesadores.O Multiprocesador. uso del sistema.Sincronización . Las aplicaciones y los servicios menos esenciales se construyen sobre el Micronúcleo y se ejecutan en modo de usuario.Planificación . multiproceso. El ancho de banda del bus compartido no va hacer suficiente. Filosofía del micronúcleo Que solo las funciones absolutamente esenciales deben estar en el núcleo. Coherencia de cache en la SMP.

omunicaci n entre rocesos..es la unidad poseedora de recursos y su informaci n se almacena en el ³process block´. reconocidas por la AM. rotecci n de rocesos.-Me oria virt al $ © © ¤   ¡   (' ('  4 8 % 6 6 & & .So orte a sistemas distribuidos ... Gesti n de interrupciones E/S.niformidad de interfaces .Portabilidad .Proc sos cliente 2. os objetos proceso los objetos ilo tienen capacidades predefinidas de sincroni aci n -hijo.V ajas la rgani aci n icronúcl o: .es acio de direcciones.-Servidor de rocesos 5.iabilidad . Gesti n de memoria a bajo nivel.-el núcleo convierte las interrupciones en mensajes.lexibilidad .mediante mensajes.E tensibilidad . ratamiento de la interrupci n 0 ué es Gesti n e memoria a ajo nivel £ 1 raduce cada pá ina virtual en un marco de pá inas físicas.O orientados a objetos  £ ! £ " £ " £ ! Enum re $ % e una equeña escri ci n e las unciones © © servicios mínimos e un © $ i cronúcleo. omunicaciones entre procesos. Proceso.. £ £ " 3 $ £ $ aracterísticas e los rocesos e W2 os procesos se implementan como objeto n proceso ejecutable puede tener uno o más ilos. El núcleo no conserva nin una relaci n entre los procesos que crea incluyendo las relaciones padre 9 iferencia entre roceso e " ilo $ $ $ ilo.-Gestores e is ositi os 3.. 2 1 " £ £ " £ Grafico el rocesamiento e un fallo e agina ué ebe tomarse en cuenta ara el iseño el micronúcleo? Gesti n de memoria a bajo nivel. £ @ 8 iagrama e los Process block  ©  ¨  © $ ¨ § 7  #  5 ¡  $ £  )   $ 1 ¦ Arqui uras " ¤ £ ¡ ¢¥ ¡  $ © 3 £   $ £ ¡  ¢¡  ¡ l l 1.So orte a S.es la entidad con capacidad de ejecuci n y su informaci n se almacena en el ³thread block´. Gesti n de interrupci n de entrada salida.que dispone de sus propios recursos tales como memoria y archivos abiertos.-Servidor de arc ivos 4.

o coincidente con. Diagrama de los Thread block Escriba tres atributos de los Thread block Prioridad dinámica: La prioridad de ejecución del hilo en un momento dado. la afinidad con el procesador del proceso que contiene al hilo ¿Cómo K dan soporte a SMP? Los hilos de cualquier proceso. Prioridad de base: El límite inferior de la prioridad dinámica del hilo. Afinidad del hilo con el procesador: El conjunto de procesadores en los que se puede ejecutar el hilo. BA Estados de hilo en K . En ausencia de restricciones de afinidad. el micronúcleo asigna un hilo listo al siguiente procesador libre. El planificador del micronúcleo lleva el seguimiento de todos los procesos Listos y los planifica según su prioridad. incluidos los del ejecutor se pueden ejecutar en cualquier procesador. Descriptor de seguridad: Describe quién creó el objeto. Diagrama de estados (threads) BA Listo: el hilo es planificado para la ejecución. quién puede obtener acceso o usar el objeto y quién tiene denegado el acceso al objeto Prioridad de base: Prioridad de partida para los hilos del proceso. que es un subconjunto de.Escriba tres atributos de los Process block ID del proceso: Un valor único que identifica el proceso ante el sistema operativo.

así pues Linux no diferencia entre hilo y proceso CONCURRENCIA: Exclusión mutua y sincronización ¿Qué es la multiprogramación? Consiste en la gestión de varios procesos dentro de un sistema monoprocesador. E/S). Solución del problema de la concurrencia. comienza a ejecutar y continúa hasta que es expulsado. el hilo en Standby pasa al estado Ejecución. las interrupciones se transforman en hilos del núcleo. Hilos en Linux En Linux se crea un nuevo proceso copiando los atributos del proceso actual. Sin embargo no hay defi nido un tipo de datos independiente para un hilo. o un subsistema del entorno lleva el hilo a su suspensión. Cuando dos procesos comparten la misma memoria virtual.echo interrumpido después de poner el valor en ent. el hilo en Standby espera hasta que el hilo en Ejecución se bloquee o termine su fracción de tiempo. en pantalla imprime Y de P . ¿Qué es interbloqueo? Procesos que se encuentran bloqueados hasta que uno de ellos libere el recurso que necesiten. Un nuevo proceso puede ser clonado para que comparta recursos. E D D C D C C . Proteger las variables globales compartidas de tal manera que solo un proceso acceder simultáneamente a ese recurso compartido. Inanición. Ejemplo del problema que ocasiona la concurrencia. ¿Qué es el procesamiento distribuido? El procesamiento distribuido son varios procesos ejecutándose en diferentes maquinas distribuidas. Interrupciones como hilos Las interrupciones están sincronizadas para evitar que se produzcan durante ciertos periodos de tiempo. Si no hay procesos en la sección crítica cualquier proceso puede entrar. Características de la solución correcta. Ejecución: una vez que el micronúcleo realiza un cambio de hilo o de proceso. ¿Cuales son las dificultades dentro del procesamiento concurrente? Compartir recursos globales es muy riesgoso. Un proceso que interrumpe en una sección no crítica debe hacerlo sin interferir con los otros procesos. Los procesos tienen conocimiento directo de los otros. Los procesos no tienen conocimiento de los demás. No permitir el interbloqueo o la inanición. como archivos. Todo esto lo convierte en un solo modelo conocido como hilos del núcleo y mecanismos de planificación y ejecución de hilos del núcleo. Si la prioridad del hilo en Standby es suficiente se expulsa a] hilo que ocupa el procesador en favor de éste. Localización de errores en la programación. ¿Qué se el multiprocesamiento? Consiste en la gestión de varios procesos dentro de un sistema multiprocesador. Espera: un hilo entra en el estado Espera cuando se bloquea en un suceso (por ejemplo. Cuando se satisface la condición de espera. En otro caso. En los primeros dos casos vuelve al estado Listo . ¿Qué es la inanición? Negar el acceso indefinidamente a un recurso compartido.Standby: el hilo en Standby está seleccionado para ejecutar el siguiente en el procesador. P . P -echo ejecuta hasta el final. realiza una espera voluntaria para la sincronización. Sólo un proceso debe entrar en su sección crítica por el mismo recurso. Tiempo finito en su sección crítica. Requisitos para la exclusión mutua. gestores e señal o memoria virtual. No suponer sobre la velocidad relativa de los procesos o el número de procesadores. ¿Qué problemas debe solucionares en la competencia entre procesos por los recursos? Exclusión mutua. El hilo espera en este estado hasta que el procesador está libre. Asignación optima de recursos. termina su fracción de tiempo. se bloquea o termina. Tipos de interacción entre procesos. Los procesos tienen conocimiento indirecto de los otros. el hilo pasa al estado Listo si todos sus recursos están disponibles. La variable señal sirve para ver el estado de un proceso. ¿Cómo se logra la exclusión mutua? Para lograr la exclusión mutua hay que impedir que la parte del programa que acceda a los recursos críticos´ lo haga mien tras otro lo este utilizando este recurso. P -se pierde lo de P e imprime Y de P . Interbloqueo. para conseguirlo. Operan como hilos dentro de un único proceso.

Este caso es imposible porque implica que señal [1] = falso. / habilitar interrupciones /. Produce inanici n: es cuando un proceso abandona la secci n crítica y hay más de un procesos esperando. u Algoritmo ara inhabilitar interrupciones.La variable turno puede usarse para traspasar a otro proceso. Es simple y fácil de verificar. Puede usarse para disponer varias secciones críticas. P1 podría entrar en su secci n crítica. ` ` c I b b ` R R P P P P X Y Ejemplo explicativo de los sem foros con X F F V V F V F V P V V V V . } W U R P I T P P S P Ventajas esventajas el uso e instrucciones especiale e la maquina para hacer cumplir la exclusi n mutua. cada secci n crítica puede definirse con su propia variable esventajas: Se emplea espera activa: Mientras un proceso espera para acceder a la secci n crítica consume tiempo del procesador. entonces señal [1] = cierto y P0está bloqueado en su bucle hile. la selecci n es arbitraria y se podría ne ar el acceso a al ún proceso indefinidamente. P1 está esperando entrar en su secci n crítica. s Ventajas: Es aplicable a cualquier número de procesos en sistemas con memoria compartida. Este caso es tambi n imposible porquesi turno = 1. Esto si nifica que señal [1] es cierto y turno = 1. tanto de monoprocesador y multiprocesador. R R P Q I H R P P G G a F F F cuando turno se pon a a 0. na ve que ha puesto señal [0] a cierto. r SEMA O ROS A que se denomina sem foros robustos? Los semáforos robustos son aquellos que utili an la política I O para atender a los procesos. onsidere el proceso P0. Esto no puede pasar porque P1 está obli ado a dar P0 una oportunidad poniendo turno a 0 antes de cada intento de entrar en s secci n crítica. While cierto) { / inhabilitar interrupciones /. P0 puede entrar en su secci n crítica cuando señal [1] se pon a a falso o onsid rense ahora los si uientes casos exhaustivos: P R S P1 no está interesado en entrar en su secci n crítica. Producir interbloqueo: Procesos que se encuentran bloqueados hasta que uno de ellos libere el ecurso que necesiten. procesos. P1 no puede entrar en su secci n crítica. Si P1 esta aún en su secci n crítica. / secci n critica /. Características el algoritmo e e Peterson. / resto /. a P1 entra en su secci n crítica varias veces y monopoli a el acceso a ella.

.mensaje) . Si el valor es . utiliza FIFO. se suspende el proceso. . Un proceso entra en el monitor invocando a uno de sus procedimientos. 71.Cuales son los diferentes tipos de combinaciones para la comunicaciones o sincronización de de mensajes * Envío bloqueante.Exclusión Mutua con Semáforos Sean n procesos.semáforo débil. no se permitirá a ningún otro proceso entrar en su sección crítica. 76.las operaciones signal y wait son indivisibles..PROBLEMA DEL PRODUCTOR /CONSUMIDOR ¿En que situaciones se puede bloquear el consumidor y el productor? Cuando el buffer esta vacío el consumidor se bloquea (saca datos) Cuando el buffer esta lleno el productor se bloquea (pone datos) g f e d MONITORES 73.70. .. .recibir señal del semáforo (disminuye el valor del semáforo).Formato típico de mensaje Tipo de longitud Cabecera ID de destino ID de origen Longitud de mensaje Cuerpo Información de control Contenido del mensaje receive (origen.semáforo binario ( y ) . atomicas no pueden ser interrumpidas ...transmitir una señal por el semáforo (Incrementa). Si el valor de s es negativo.Características de los Semáforos (Ejemplo del mecanismo de los semáforos) . .semáforo robusto.si el valor se hace negativo el proceso de wait(s) se bloquea.si el valor no es positivo. .. el receptor se bloquea hasta que llega el mensaje solicitado. * Envío no bloqueante. * Envío no bloqueante..Concepto y características principales de los monitores: Monitor. En cada proceso.es un módulo de software que consta de uno o más procedimientos. se disminuye a y el proceso entra inmediatamente en su sección crítica: puesto que s ya no es positivo... .son variables enteras. PASO DE MENSAJES 74.Dos primitivas que utiliza la transmisión de mensajes: send (destino.wait(s)... . mensaje) puede bloquearse no bloquearse SINCRONIZACIÓN 75. se desbloquea un proceso bloqueado por wait. Características: Las variables de datos locales están sólo accesibles para los procedimientos del monitor y no para procedimientos externos. recepción bloqueante: aunque el emisor puede continuar. identificados por el vector P(i). recepción bloqueante: tanto el emisor como el receptor se bloquean hasta que llega el mensaje.puede iniciarse con un valor no negativo. 72. una secuencia de inicio y unos datos locales. Sólo un proceso puede estar ejecutando en el monitor en un instante dado. recepción no bloqueante: nadie debe esperar.semáforo.signal(s). se ejecuta un wait(s) justo antes de su sección crítica.