Anda di halaman 1dari 13

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 <signal.h> 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.

Anda mungkin juga menyukai