Senales y Funciones de Tiempo

Embed Size (px)

Citation preview

  • El sistema operativo UNIX, Seales y funciones

    de tiempo

    Expositor: Jos Luis Oropeza Rodrguez

    Mxico D. F., a 26 de septiembre 2007

  • OBJETIVO

    Presentar al alumno las caractersticas esenciales que se tienen con relacin a la gestin de seales y funciones de tiempo dentro del sistema operativo UNIX.

    BOSQUEJO DE LA

    PRESENTACIN

    Introduccin

    Definicin de seales

    Tipos de seales

    Funciones de tiempo

    Uso de seales y funciones de tiempo

  • SEALES Y FUNCIONES DE TIEMPO

    Las seales son

    interrupciones software

    que pueden ser enviadas

    a un proceso para

    informarle de algn

    evento asncrono o

    situacin especial. El

    trmino seal se emplea

    tambin para referirse al

    evento.

    Evento

    asncrono

    Situacin

    especial

    seal

    seal

  • SEALES ENTRE PROCESOS Y EL

    KERNEL

    Envio de

    seales

    Llamada

    kill

  • FORMAS DE PROCEDER DE UN

    PROCESO ANTE UNA SEAL

    Cuando un proceso recibe una seal puede reaccionar de tres formas diferentes:

    Ignorar la seal, con lo cual se vuelve inmune a ella

    Invocar a la rutina del tratamiento por omisin. Esta rutina no codifica el programador, sino que la aporta el ncleo. Segn el tipo de seal, la rutina de

    tratamiento por omisin realizar una accin u otra. Por lo regular es una

    terminacin del proceso mediante la llamada a exit. Tales seales provocan que el

    kernel genere un archivo en el directorio de trabajo llamado core que contiene un

    volcado de la memoria del contexto del proceso. Este archivo puede ser examinado

    con ayuda de un programa depurador adb, sdb, gdb- para determinar que seal provoc la terminacin del proceso y en que punto se produjo.

    Invocar a una rutina propia que se encarga de tratar a la seal. Esta rutina es invocada por el ncleo en el supuesto de que est montada y ser responsabilidad

    del programador codificarla para que tome las acciones pertinentes como

    tratamiento de la seal.

  • EVOLUCIN TEMPORAL DE UN

    PROCESO

    La primer seal que se recibe

    no provoca que el proceso

    cambie su curso de ejecucin.

    La segunda seal fuerza al

    proceso a entrar en una rutina

    de tratamiento. Esta rutina,

    despus de tratar a la seal

    puede optar por: restaurar la

    ejecucin del proceso,

    finalizarlo o restaurar algunos

    de los estados anteriores del

    proceso.

    El proceso puede recibir una

    seal que lo fuerce a entrar a

    una rutina de tratamiento por

    omisin.

  • TIPOS DE SEALES

    SEALES

    TERMINACIN

    DE PROCESOS

    SEALES

    RELACIONADAS

    CON EXCEPCIONES

    SEALES

    RELACIONADAS CON

    LOS ERRORES

    SEALES

    ORIGINADAS DESDE

    UN PROCESO EN

    EJECUCIN

    SEALES

    RELACIONADAS CON

    INTERACCIN DE LA

    TERMINAL

    SEALES

    PARA EJECUTAR

    PROCESOS PASO

    A PASO

    TIPOS DE

    SEALES

  • TIPOS DE SEALES

    Cada seal tiene asociado un numero entero positivo y, cuando un proceso le

    enva una seal a otro le enva este nmero. En el UNIX System V hay definidas

    19 seales, y estas seales las tienen prcticamente todas las versiones de

    UNIX, y luego cada fabricante le aade las que considera necesarias.

    Las seales se clasifican en los siguientes grupos:

    Seales relacionadas con la terminacin de procesos. Seales relacionadas con las excepciones inducidas por los procesos. Ejemplos: el intento de acceder fuera del espacio de direcciones virtuales, los

    errores producidos al manejar nmeros en coma flotante, etc

    - Seales relacionadas con los errores irrecuperables originados en el transcurso de una llamada al sistema.

    - Seales originadas desde un proceso que se est ejecutando en modo usuario. Ejemplos: cuando un proceso envia una seal a otro via kill, cuando un

    proceso activa un temporizador y se queda en espera de la seal de alarma,etc.

    - Seales relacionadas con la interaccin con el terminal. Ejemplo: pulsar las teclas Ctrl+C.

    - Seales para ejecutar un proceso paso a paso. Son usadas por los depuradores. En el fichero de cabecera estan definidas las seales

    que puede manejar el sistema.

  • SEALES DEL SISTEMA UNIX V (19)

  • SEALES DEL SISTEMA UNIX V (19)

    La siguiente tabla muestra un resumen de las caractersticas de las seales

    mencionadas.

  • GESTIN DE SEALES EN POSIX

    Adems de que cada sistema pueda tener sus propios gestores de seales,

    existen otros estndares adoptados por muchos fabricantes de sistema UNIX. En

    concreto, el estndar POSIX 1003.1 propone un gestor de seales con una

    funcionalidad muy similar a la de 4.3BSD y que ha sido adoptador por LINUX,

    4.4BSD y FreeBSD.

    The Portable Operating System Interface (POSIX) standardization effort used to

    be run by the POSIX standards committee. During a major overhaul of the names

    and numbers used to refer to this project, PASC (Portable Applications Standards

    Committee) came into being. So now the POSIX standards are written and

    maintained by PASC, just so that you know.

  • TABLA DE SEALES POSIX

  • FUNCIONES DE TIEMPO

    Aunque UNIX no fue concebido como un sistema para aplicaciones en Tiempo

    Real, en condiciones de baja carga donde no est congestionado se puede imponer

    a los programas que se ejecuten con los tiempos de respuesta adecuados.

    La concepcin de respuesta en tiempo real no implica el hecho de generar una

    salida al instante, sino en el momento adecuado. Un programa que simule a un

    reloj. Lo que implica dar la respuesta adecuada en el momento e instante correcto.