Академический Документы
Профессиональный Документы
Культура Документы
Real
Objetivos
Explicar el concepto de sistema de tiempo real y por
que estos son usualmente implementados como
procesos concurrentes.
Procesador de datos
Lleva a cavo la recolección de información y el
sistema de computo responde.
Card
inser ted
into reader Reading Initialising
do: get C C do: initialise
details display
Nozzle trigger on
Resetting Stopped
do: display C C
error
Paying
Payment ack. Hose in
do: debit
CC account holster
Sistemas Operativos en tiempo
real
Son sistemas operativos especializados que manejan
los procesos en el RTS.
Son Responsables por el manejo de procesos y
recursos (procesador y memoria).
Basados en un estándar las cuales son usadas sin
cambios o modificadas en casos particulares.
Normalmente no incluye instalaciones como un
administrador de archivos.
14
Componentes del Sistema
Operativo
Reloj en tiempo real
Provee información para la calendarización de procesos.
Controlador de interrupciones
Controla consultas periódicas para los servicios.
Planificación
Escoge el siguiente proceso a ser ejecutado.
Administrador de recursos
Administra los recursos de la memoria y del procesador.
Expedidor
Comienza la ejecución de los procesos.
Componentes del sistema
imparables
Administración de configuraciones
Responsable por la reconfiguración dinámica del sistema,
software y hardware. Los módulos de hardware podrían ser
reemplazados y el software actualizado sin parar los sistemas.
Administrador de fallas
Responsable de detectar fallas de software y hardware y tomar
la acción apropiada(ej. Cambiar a los discos de respaldo) para
asegurarse que el sistema continúe funcionando.
Componentes del Os en tiempo
real
Scheduling
informa tion
R eal-time Interrupt
Scheduler
clock handler
Pr ocess r esour ce
r equir ements
Pr ocesses Av ailable
R esource
aw aiting r esour ce
mana ger
r esour ces list
Read y R eleased
pr ocesses r esour ces
Read y Pr ocessor
Despa tcher
list list
Ex ecuting pr ocess
Priorización en los procesos
El procesamiento de algunos tipos de estímulos a veces
deben tomar prioridad.
Interrumpe el nivel de prioridades.la mas alta de la
prioridades destinada a procesar necesita una respuesta
muy rápida.
Prioridad en el nivel de reloj. Destinada a los procesos
periódicos.
Dentro de estos, otros niveles de prioridad podrían ser
asignados.
Interrupción del servicio
El control es automáticamente transferido a una
ubicación predeterminada de la memoria.
Esta ubicación contiene una instrucción para saltar a un
servicio que interrumpe la rutina.
Las interrupciones adicionales son desactivadas, el
servicio interrumpido y controlado es devuelto a los
procesos interrumpidos.
Las rutinas de interrupción del servicio deben ser cortas,
simples y rápidas.
Procesos de servicio periódicos
En muchos de los sistemas en tiempo real, hay muchas
clases de servicios periódicos, cada uno con diferentes
tiempos(el tiempo entre ejecuciones) tiempos de
ejecución y plazos(el tiempo en el cual el proceso debe
ser finalizado).
El reloj de tiempo real marca el tiempo periódicamente y
en cada marcación ocasiona una interrupción la cual
agenda el administrador de procesos para los procesos
periódicos.
El administrador de procesos selecciona un proceso el
cual esta listo para su ejecución.
Administrador de procesos
Involucrado con la administración de el
conjunto de procesos concurrentes.
Los procesos periódicos son ejecutados en
intervalos de tiempo pre especificados.
Los RTOS usan el reloj de tiempo real para
determinar cuando ejecutar un proceso
tomando en cuenta:
Periodo del proceso- tiempo entre ejecuciones.
Plazos de los procesos-El tiempo en el cual el
proceso debe de finalizarse.
RTE administración de
procesos
P (A1) A3
Control
S3 P (S1) processes
P (A4) A4
Control panel
processes
Sistema de alarma antirrobo
Un sistema requiere sensores que
monitoreen puertas y ventanas para
detectar la presencia de intrusos en un
edificio.
Cuando un sensor indica una intrusión, el
sistema enciende las luces alrededor del
área y llama a la policía.
El sistema debe poder funcionar sin una
conexión al suministro de energía
principal.
Sistema antirrobos
Sensores
Detectores de movimientos, sensores en la ventana, sensores
en las puertas;
50 sensores en las ventanas, 30 sensores en las puertas y 200
sensores de movimiento;
Sensor de caída del voltaje.
Acciones
Cuando un intruso es detectado, la policía es llamada de forma
automática;
Las luces se encienden en los cuartos con sensores activados;
Una alarma audible se enciende;
El sistema activa energía de respaldo automáticamente cuando
se detecta una caída de voltaje.
El proceso de diseño del sistema
R-T
Identificar los estímulos y las respuestas asociadas.
Definir las restricciones de tiempo asociadas con cada
estimulo y respuesta.
Distribuir las funciones del sistema para los procesos
concurrentes.
Diseñar algoritmos para el procesamiento de estimulos y
la generacion de respuestas.
Diseñar un sistema de planificación que asegure que el
proceso cumplira los plazos.
Estimulos a ser procesados
Falla de energía
Si la falla se genera el sistema debe cambiar
al sistema de respaldo en 50 ms.
Alarma de intrusos
Estimulo generado por los sensores del
sistema. La respuesta es llamar a la policía,
encender las luces del edificio y la alarma
sonora.
Timing requirements
Stimulus/Response Timing requirements
Power fail interrupt The switch to backup power must be completed
within a deadline of 50 ms.
Door alarm Each door alarm should be polled twice per
second.
Window alarm Each window alarm should be polled twice per
second.
Movement detector Each movement detector should be polled twice
per second.
Audible alarm The audible alarm should be switched on within
1/2 second of an alarm being raised by a sensor.
Lights switch The lights should be switched on within 1/2
second of an alarm being raised by a sensor.
Communications The call to the police should be started within 2
seconds of an alarm being raised by a sensor.
Voice synthesiser A synthesised message should be available
within 4 seconds of an alarm being raised by a
sensor.
Sistema de procesamiento de una
alarma
400 Hz 60 Hz 100 Hz
Pow er failure
interrupt Building monitor Room n umber
Room n umber
Alarm system Alarm system Alarm system
Room n umber
Audib le alar m Lighting contr ol Voice synthesis er
process process pr ocess
Building_monitor process 1
class BuildingMonitor extends Thread {
BuildingMonitor()
{
// initialise all the sensors and start the processes
siren.start () ; lights.start () ;
synthesizer.start () ; windows.start () ;
doors.start () ; movements.start () ; pm.start () ;
}
Building monitor process 2
public void run ()
{
int room = 0 ;
while (true)
{
// poll the movement sensors at least twice per second (400 Hz)
move = movements.getVal () ;
// poll the window sensors at least twice/second (100 Hz)
win = windows.getVal () ;
// poll the door sensors at least twice per second (60 Hz)
door = doors.getVal () ;
if (move.sensorVal == 1 | door.sensorVal == 1 | win.sensorVal == 1)
{
// a sensor has indicated an intruder
if (move.sensorVal == 1) room = move.room
if (door.sensorVal == 1) room = door.room ;
if (win.sensorVal == 1 ) room =
} // run
} //BuildingMonitor
Sistemas de control
Un sistema de alarma anti robo es
primeramente un sistema de monitoreo.
Recoge informacion de sensores pero no de
actores de control en tiempo real.
Los sistemas de control son similares pero,
en respuesta a los resultados del sensor, el
sistema envia señales de control a los
actores.
Un ejemplo de un sistema de control y
monitoreo es un sistema que monitorea la
temperatura y cambia los calentadores a
encendido o apagado.
Sistema de control de temperatura
500 Hz
Sensor
process
Sensor
500 Hz values
Ther mosta t
process
Switch command
500 Hz Room n umber Ther mosta t pr ocess
s3
Sensor Sensor
s4 identifier and
identifier and
value value
s5 Sensor Sensor da ta Process
process b uffer da ta
s6
Recoleccion de informacion del
reactor
El sistema recolecta informacion por un
grupo de sensores que monitorean el flujo
de neutrones de un reactor nuclear.
Informacion del flujo es insertada en un
disco duro par su posterior procesamiento.
El disco duro es en si implementado como
un proceso concurrente o sea que la
coleccion y los procesos de
procesamiento pueden ser sincronizados.
Monitoreo del flujo del reactor
Producer
process
Consumer
process
Exclusion comun
Productor procesa la recoleccion de
informacion y la añande al buffer.
Consumidor toma la informacion del buffer
y hace elementos disponibles.
Procesos de productor y consumidor
deben ser mutamente excluidos de
accesar el mismo elemento.
El buffer debe detener los procesos de
produccion añadiendo informacion a un
buffer lleno y procesos de consumidor
tratando de tomar informacion de un buffer
vacio.
Implementacion Ring buffer 1
class CircularBuffer
{
int bufsize ;
SensorRecord [] store ;
int numberOfEntries = 0 ;
int front = 0, back = 0 ;
CircularBuffer (int n) {
bufsize = n ;
store = new SensorRecord [bufsize] ;
} // CircularBuffer
Implementacion Ring buffer 2