Ahora que hemos visto porqué podrían ser útiles los hilos y cómo se
pueden utilizar, vamos a investigar, la idea un poco más de cerca. El
modelo de Proceso se basa en dos conceptos independientes:
•Agrupamiento de recursos.
•Ejecución
A veces es útil separarlos, aquí es donde entran los hilos.
Bibliografía: Sistemas Operativos Modernos, Andrew Tanenbaum.
   .



Un conjunto
recursos
relacionados
                                           Una
                                           manera de
                                           ver
                                           Procesos
               Ing Maritzol Tenemaza MSc               2
Un proceso             •Memoria: datos y Programa
tiene:                 •Archivos Abiertos
                       •Procesos Hijos
Al reunirlos como      •Información Contable
un proceso             •Alarmas pendientes
pueden                 •Manejadores de señales
administrarse con
más facilidad.




                    Ing Maritzol Tenemaza MSc       3
Una forma de ver un hilo:
Hilo de Ejecución
   El otro concepto que tiene
    un recurso es un hilo de
    ejecución. (hilo)
     El hilo tiene un contador de
      programa que lleva el
      registro de cuál instrucción
      se va a ejecutar a
      continuación.
     Tiene          registros   que
      contienen sus variables de
      trabajo actuales.
     Tiene una pila que contiene
      el historial de ejecución, con
      un conjunto de valores para
      cada procedimiento al que
      se ha llamado, pero del cual
      no     se     haya     devuelto
      todavía.




                                  Ing Maritzol Tenemaza MSc   4
Hilo y Proceso:
Conceptos distintos
   El hilo se debe
    ejecutar en cierto
    proceso.
   El hilo y su proceso
    son          conceptos
    distintos y pueden
    tratarse por separado.
   Los     procesos    se
    utilizan para agrupar
    los recursos. Son las
    entidades planificadas
    para su ejecución en
    la CPU.

                        Ing Maritzol Tenemaza MSc   5
Qué agregan los hilos al modelo
de procesos
   Permiten que se
    lleven a cabo varias
    ejecuciones en el
    mismo entorno del
    proceso. Que son
    en gran parte
    independientes
    unas de otras.




                       Ing Maritzol Tenemaza MSc   6
El modelo clásico del Hilo
   En el primer caso
    los hilos comparten
    un espacio de
    direcciones y otros
    recursos.
   En el segundo caso
    los procesos
    comparten la
    memoria física, los
    discos, las
    impresoras y otros
    recursos.

                      Ing Maritzol Tenemaza MSc   7
Los hios toman el nombre de
procesos ligeros
 Como los hilos tienen algunos
  de las propiedades de los
  procesos, algunas veces se
  les llama Procesos Ligeros.
 El término Mutihilamiento
  también se usa para describir
  la situación de describir
  varios hilos en el mismo
  proceso.
 Algunas CPUs tienen soporte
  en el hardware para el
  multihilamiento y permiten
  que las conmutaciones de
  hilos ocurran en una escala
  de tiempo en nanosegundos.




                            Ing Maritzol Tenemaza MSc   8
El modelo clásico del Hilo
                                                       Proceso
 Proceso1    Proceso 2   Proceso 3




            Hilo                                         Hilo

                                                       Kernel



Tres procesos cada uno                    Un proceso con tres hilos
con un hilo
                           Ing Maritzol Tenemaza MSc                  9
El modelo clásico del hilo
   Cuando se ejecuta un
    proceso con
    multihilamiento en un
    sistema con una CPU,
    los hilos tomas turnos
    para ejecutarse, la
    CPU conmuta
    rápidamente entre un
    hilo y otro.
   Si los hilos estarían
    limitados a
    operaciones,
    parecerían ejecutarse
    en paralelo.


                        Ing Maritzol Tenemaza MSc   10
El modelo clásico del hilo
   Los distintos hilos en un
    proceso NO son tan
    independientes como en
    los procesos.
   Debido a que comparten:
     El mismo espacio de
      direcciones.
     Las mismas variables
      globales.
   Un hilo podría borrar la
    pila de otro hilo, NO hay
    protección entre hilos,
    debido a que:
     Es imposible.
     No debería ser necesario.




                                  Ing Maritzol Tenemaza MSc   11
El modelo clásico del hilo
   Un proceso siempre es propiedad de un
    usuario, que se supone ha creado
    varios hilos para que puedan cooperar,
    no pelear.




                   Ing Maritzol Tenemaza MSc   12
Modelo clásico de un hilo.
   Elementos por Proceso:                        Elementos por hilo
     Espacio de direcciones.                        Contador de programa
     Variables Globales.                            Registros
     Archivos abiertos.                             Pila
     Procesos hijos.                                Estado.
     Alarmas pendientes.
     Señales y manejadores de
      señales.
     Información Contable.



Elementos compartidos por                    Elementos privados para
todos los hilos en un proceso.
                                             cada hilo
                              Ing Maritzol Tenemaza MSc                      13
Modelo clásico de un hilo.
   Al igual que un proceso
    un hilo puede estar en
    uno de varios estados:
     En ejecución (Tiene la
      CPU)
     Bloqueado (En espera de
      que algún evento lo
      desbloquee)
     Listo (se programa para
      ejecutarse)
     Terminado.

     Las transiciones son las
      mismas que las de los
      procesos.


                               Ing Maritzol Tenemaza MSc   14
El modelo clásico del Hilo
           Hilo 1           Hilo 2           Hilo 3            Proceso




Pila del                                                    Pila del Hilo 3
Hilo 1




                                 Kernel


      Cada Hilo tiene su propia Pila.

                                Ing Maritzol Tenemaza MSc                     15
BIbliografía
   Sistemas Operativos
     Andrew Tanenbaum 3 edición – 2009
 Imágenes del Internet
 Fundamentos de Sistemas Opertivos
     Silvershatz, Galvin Gagne
     Septima edición
     2005




                        Ing Maritzol Tenemaza MSc   16

Procesos e hilos_parte_3

  • 1.
    Ahora que hemosvisto porqué podrían ser útiles los hilos y cómo se pueden utilizar, vamos a investigar, la idea un poco más de cerca. El modelo de Proceso se basa en dos conceptos independientes: •Agrupamiento de recursos. •Ejecución A veces es útil separarlos, aquí es donde entran los hilos. Bibliografía: Sistemas Operativos Modernos, Andrew Tanenbaum.
  • 2.
    . Un conjunto recursos relacionados Una manera de ver Procesos Ing Maritzol Tenemaza MSc 2
  • 3.
    Un proceso •Memoria: datos y Programa tiene: •Archivos Abiertos •Procesos Hijos Al reunirlos como •Información Contable un proceso •Alarmas pendientes pueden •Manejadores de señales administrarse con más facilidad. Ing Maritzol Tenemaza MSc 3
  • 4.
    Una forma dever un hilo: Hilo de Ejecución  El otro concepto que tiene un recurso es un hilo de ejecución. (hilo)  El hilo tiene un contador de programa que lleva el registro de cuál instrucción se va a ejecutar a continuación.  Tiene registros que contienen sus variables de trabajo actuales.  Tiene una pila que contiene el historial de ejecución, con un conjunto de valores para cada procedimiento al que se ha llamado, pero del cual no se haya devuelto todavía. Ing Maritzol Tenemaza MSc 4
  • 5.
    Hilo y Proceso: Conceptosdistintos  El hilo se debe ejecutar en cierto proceso.  El hilo y su proceso son conceptos distintos y pueden tratarse por separado.  Los procesos se utilizan para agrupar los recursos. Son las entidades planificadas para su ejecución en la CPU. Ing Maritzol Tenemaza MSc 5
  • 6.
    Qué agregan loshilos al modelo de procesos  Permiten que se lleven a cabo varias ejecuciones en el mismo entorno del proceso. Que son en gran parte independientes unas de otras. Ing Maritzol Tenemaza MSc 6
  • 7.
    El modelo clásicodel Hilo  En el primer caso los hilos comparten un espacio de direcciones y otros recursos.  En el segundo caso los procesos comparten la memoria física, los discos, las impresoras y otros recursos. Ing Maritzol Tenemaza MSc 7
  • 8.
    Los hios tomanel nombre de procesos ligeros  Como los hilos tienen algunos de las propiedades de los procesos, algunas veces se les llama Procesos Ligeros.  El término Mutihilamiento también se usa para describir la situación de describir varios hilos en el mismo proceso.  Algunas CPUs tienen soporte en el hardware para el multihilamiento y permiten que las conmutaciones de hilos ocurran en una escala de tiempo en nanosegundos. Ing Maritzol Tenemaza MSc 8
  • 9.
    El modelo clásicodel Hilo Proceso Proceso1 Proceso 2 Proceso 3 Hilo Hilo Kernel Tres procesos cada uno Un proceso con tres hilos con un hilo Ing Maritzol Tenemaza MSc 9
  • 10.
    El modelo clásicodel hilo  Cuando se ejecuta un proceso con multihilamiento en un sistema con una CPU, los hilos tomas turnos para ejecutarse, la CPU conmuta rápidamente entre un hilo y otro.  Si los hilos estarían limitados a operaciones, parecerían ejecutarse en paralelo. Ing Maritzol Tenemaza MSc 10
  • 11.
    El modelo clásicodel hilo  Los distintos hilos en un proceso NO son tan independientes como en los procesos.  Debido a que comparten:  El mismo espacio de direcciones.  Las mismas variables globales.  Un hilo podría borrar la pila de otro hilo, NO hay protección entre hilos, debido a que:  Es imposible.  No debería ser necesario. Ing Maritzol Tenemaza MSc 11
  • 12.
    El modelo clásicodel hilo  Un proceso siempre es propiedad de un usuario, que se supone ha creado varios hilos para que puedan cooperar, no pelear. Ing Maritzol Tenemaza MSc 12
  • 13.
    Modelo clásico deun hilo.  Elementos por Proceso:  Elementos por hilo  Espacio de direcciones.  Contador de programa  Variables Globales.  Registros  Archivos abiertos.  Pila  Procesos hijos.  Estado.  Alarmas pendientes.  Señales y manejadores de señales.  Información Contable. Elementos compartidos por Elementos privados para todos los hilos en un proceso. cada hilo Ing Maritzol Tenemaza MSc 13
  • 14.
    Modelo clásico deun hilo.  Al igual que un proceso un hilo puede estar en uno de varios estados:  En ejecución (Tiene la CPU)  Bloqueado (En espera de que algún evento lo desbloquee)  Listo (se programa para ejecutarse)  Terminado.  Las transiciones son las mismas que las de los procesos. Ing Maritzol Tenemaza MSc 14
  • 15.
    El modelo clásicodel Hilo Hilo 1 Hilo 2 Hilo 3 Proceso Pila del Pila del Hilo 3 Hilo 1 Kernel Cada Hilo tiene su propia Pila. Ing Maritzol Tenemaza MSc 15
  • 16.
    BIbliografía  Sistemas Operativos  Andrew Tanenbaum 3 edición – 2009  Imágenes del Internet  Fundamentos de Sistemas Opertivos  Silvershatz, Galvin Gagne  Septima edición  2005 Ing Maritzol Tenemaza MSc 16