Monografias.com > Computación > Sistemas Operativos
Descargar Imprimir Comentar Ver trabajos relacionados

Estados de un proceso e hilos en Unix




Enviado por tatmacc



    1. Estados de un proceso en
      Unix
    2. Estados de un hilo en
      Unix
    3. Estado de un hilo en
      Solaris
    4. Estados de un proceso en
      Linux
    5. Estados de un hilo en
      Linux
    6. Estados de un proceso en
      Windows 2000
    7. Estados de un hilo en Windows
      2000

    Estados de un proceso
    en Unix

    • Preparado (R).- Proceso que
      está listo para ejecutarse. Simplemente está
      esperando a que el sistema
      operativo le asigne un tiempo de
      CPU.
    • Ejecutando (O).- Sólo uno de los
      procesos
      preparados se está ejecutando en cada momento
      (monoprocesador).
    • Suspendido (S).- Un proceso se encuentra
      suspendido si no entra en el reparto de CPU, ya que se
      encuentra esperando algún tipo de evento (por ejemplo,
      la recepción de una señal software o
      hardware). En
      cuanto dicho evento se produce, el proceso pasa a formar parte
      del conjunto de procesos preparados.
    • Parado (T).- Un proceso parado tampoco
      entra en el reparto de CPU, pero no porque se encuentre
      suspendido esperando algún evento. En este caso,
      sólo pasarán a estar preparados cuando
      reciban una señal determinada que les permita
      continuar.
    • Zombie (Z).- Todo proceso al finalizar avisa a
      su proceso padre, para que éste elimine su entrada de la
      tabla de procesos. En el caso de que el padre, por algún
      motivo, no reciba esta comunicación no lo elimina de la tabla de
      procesos. En este caso, el proceso hijo queda en estado
      zombie, no está consumiendo CPU, pero sí
      continua consumiendo recursos del
      sistema.

    Estados de un hilo en Unix

    Un hilo puede ser en alguno de los siguientes
    estados:

    • Listo: el hilo puede ser elegido para su
      ejecución.
    • Standby: el hilo ha sido elegido para ser el
      siguiente en ejecutarse en el procesador.
    • Ejecución: el hilo está siendo
      ejecutado.
    • Espera: un hilo pasa a este estado cuando se
      bloquea por un suceso
    • (E/S): se realiza una espera voluntaria de
      sincronización o alguien suspende al hilo.
    • Transición: después de una
      espera el hilo pasa a este estado si está listo para
      ejecutar pero alguno de sus recursos no está disponible
      aún.
    • Terminado: un hilo llega a este estado cuando
      termina normalmente cuando su proceso padre ha
      terminado.

    Estado de un hilo en Solaris

    El comportamiento
    de un hilo depende del estado en que se encuentre, este estado
    define su modo de operación actual, por ejemplo, si esta
    corriendo o no. A continuación proporcionamos la
    relación de estados en los que puede estar un hilo
    Java.

    • New
    • Runnable
    • Blocked
    • Dead

    New

    Un hilo esta en el estado new
    la primera vez que se crea y hasta que el método
    start es llamado. Los hilos en estado new ya han sido
    inicializados y están listos para empezar a trabajar, pero
    aún no han sido notificados para que empiecen a realizar
    su trabajo.

    Runnable

    Cuando se llama al método start de un hilo nuevo,
    el método run es invocado y el hilo entra en el estado
    runnable. Este estado podría llamarse "running" porque la
    ejecución del método run significa que el hilo esta
    corriendo. Sin embargo, debemos tener en cuenta la prioridad de
    los hilos. Aunque cada hilo está corriendo desde el punto
    de vista del usuario, en realidad todos los hilos, excepto el que
    en estos momentos esta utilizando la CPU, están en el
    estado runnable (ejecutables, listos para correr) en cualquier
    momento dado. Uno puede pensar conceptualmente en el estado
    runnable como si fuera el estado "numing", sólo tenemos
    que recordar que todos los hilos tienen que compartir los
    recursos del sistema.

    Bloked

    El estado not running se aplica a todos los hilos que
    están parados por alguna razón. Cuando un hilo
    está en este estado, está listo para ser usado y es
    capaz de volver al estado runnable en un momento dado. Los hilos
    pueden pasar al estado not running a través de varias
    vías.

    A continuación se citan diferentes eventos que
    pueden hacer que un hilo esté parado de modo
    temporal.

    • El método suspend ha sido
      llamado
    • El método sleep ha sido llamado
    • El método wait ha sido llamado
    • El hilo esta bloqueado por YO

    Dead

    Un hilo entra en estado dead cuando ya no es un objeto
    necesario. Los hilos en estado dead no pueden ser resucitados y
    ejecutados de nuevo. Un hilo puede entrar en estado dead a
    través de dos vías:

    • ..El método run termina su
      ejecución.
    • ..El método stop es llamado.

    Estados de un proceso en Linux

    • Task_Running Proceso listo o
      en ejecución.
    • Task_Interruptible: Proceso "dormido" que
      puede despertar por alguna señal o
      interrupción.
    • Task_Interruptible: Similar al anterior, pero
      que no puede ser despertado inmediatamente, espera a una
      interrupción y no puede ser despertado por una
      señal (el proceso está suspendido)
    • Task_Zombie: proceso-hijo terminando pero que
      no ha sido liberado por su proceso-padre
    • Task_Stopped: proceso detenido, generalmente
      por una señal (SIGSTOP). Útil para
      depuración.

    Estados de un hilo en Linux

    Linux no considera los hilos como tales. En Linux se crea un
    nuevo proceso copiando los atributos del proceso actual. Un nuevo
    proceso puede ser clonado para que comparta los recursos del
    actual, tales como archivos,
    gestores de se . nales o la memoria
    virtual.

    Cuando dos procesos comparten la memoria,
    operan en efecto como hilos dentro del mismo espacio, del mismo
    proceso.

    Sin embargo, no se manejan estructuras de
    datos para los
    hilos diferentes de las de los procesos, por lo que se puede
    argumentar que Linux no hace diferencias entre hilos y
    procesos.

    Estados de un proceso en Windows
    2000

    En Windows 2000, la
    estructura
    original de los procesos y de los servicios que
    brinda el núcleo es relativamente simple y de
    propósito general. Las características más
    importantes de los procesos en W2K son las siguientes:

    • Los procesos se implementan como objetos.
    • Un proceso ejecutable puede tener un hilo o
      más.
    • Los objetos proceso e hilo tienen capacidades de
      sincronización.

    Un proceso es una entidad correspondiente a un trabajo
    de usuario o a una aplicación, que dispone de sus propios
    recursos, tales como memoria y
    archivos. Un hilo es una unidad de trabajo que se puede expedir
    para su ejecución secuencial y que es interrumpible, de
    forma que el procesador puede pasar de un hilo a otro.

    Estados de un hilo en Windows
    2000

    • Ready: El hilo listo para
      ejecutarse
    • Running: El hilo está
      ejecutando
    • Standby: El hilo ha sido seleccionado para ser
      ejecutado en un procesador particular.
    • Waiting: Se encuentra bloqueado esperando un
      evento
    • Terminated: Finalización del
      hilo.

    Tatiana Macchiavello

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter