Gestin de tiempos y
temporizacin
El tiempo es un recurso peculiar.
La gestin del tiempo es un componente
bsico en cualquier sistema empotrado o de
tiempo real.
Vamos a estudiar:
Tipos de relojes
Rutinas de servicio de la interrupcin del reloj
Gestin de temporizadores
Reloj Hardware
El tiempo en Linux
Comando para consultar el reloj del sistema:
date
gettimeofday(&t0, NULL);
gettimeofday(&t1, NULL);
printf("Duracion: %d,%d segundos\n",
t1.tv_sec-t0.tv_sec, t1.tv_usec-t0.tv_usec);
4
Modelo:
Los procesos ponen su peticin de temporizacin
(usando un IORB: Input Output Request Block)).
Un gestor de tiempos (manejador), activado cada
unidad de tiempo por la ISR del reloj, despacha las
peticiones a medida que se cumplen, despertando al
proceso correspondiente.
Peticiones
temporizacin
13
EVENTO_P
Gestor
de
tiempos
EVENTO_P
EVENTO_SEGUNDO
ISR
13
12
23
13
23
12
Ordenar
23
23
12
Relativo
a la
anterior
1
10
0
10
Ejemplo:
uso de temporizadores en Unix
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
}
int main (int argc, const char * argv[]) {
int i;
unsigned t;
signal(SIGALRM, fnula);