Vous êtes sur la page 1sur 6

10.

Prestaciones de los sistemas en tiempo real


A pesar del incremento de velocidad de los computadores, sta no es infinita, y se ha visto
acompaada por un incremento de similar magnitud de la complejidad de sistemas a controlar.
Por tanto, en algunas aplicaciones, es crucial no desperdiciar ciclos de CPU. Es tambin de
mxima importancia que se minimice el tiempo transcurrido desde la aparicin de un evento
externo a la ejecucin del cdigo relacionado con dicho evento. Este tiempo se conoce como
latencia. En cualquier sistema pueden encontrarse varias formas de latencia, que son a
menudo utilizadas para caracterizar las prestaciones del sistema.
Latencia ante interrupciones
Es el tiempo transcurrido desde la recepcin de una seal de interrupcin hardware hasta que
la primera instruccin software del controlador de interrupciones es ejecutada. Hay que
considerar que cuando aparece una interrupcin debe guardarse en la pila el valor del contador
de programa, probablemente tambin la palabra de estado. Se debe acudir a una tabla de
vectores de interrupcin y cargar el valor correspondiente en el contador de programa. Todas
estas operaciones son realizadas automticamente por el hardware y consumen poco tiempo,
salvo que las interrupciones, por alguna necesidad concreta del programa, se encuentren
desactivadas temporalmente, en cuyo caso la latencia ser mayor.

Til
tiempo de latencia de la interrupcin
Tint tiempo de procesamiento de la interrupcin
Tiret tiempo de retorno tras la finalizacin
Los tiempos corresponden a QNX con un procesador 386 a 2O MHz en modo protegido
Este tiempo de latencia podra subdividirse en otros ms atmicos correspondientes al
almacenamiento de los registros del procesador, u otras latencias que se puedan dar cuando
varias interrupciones ocurran simultneamente y el hardware deba decidir a cual atender
primero.

Latencia ante la planificacin

En muchas ocasiones, ante la aparicin de un evento, ser necesario


lanzar un nuevo proceso. Se definir la latencia en la planificacin como
el tiempo transcurrido entre la finalizacin de un controlador de
interrupcin y la ejecucin de un proceso provocada por esa interrupcin.
Este tiempo comprende las demoras necesarias para verificar qu
proceso se debe planificar, realizar el cambio de contexto y un tiempo
que el sistema pudiera tener desactivada la preemption de nuevos
procesos. Este tiempo es necesario para ajustar punteros y acceder a
estructuras de datos exclusivas del sistema.

En ambos tipos de latencias se pueden estudiar los tiempos promedios,


pero para casos crticos deben considerarse tambin los peores tiempos
de latencia. Estos tiempos apareceran cuando se dieran varias
solicitudes de interrupcin simultneamente, que la atencin a las
interrupciones est desactivada temporalmente, lo mismo que la
preemption, que las listas de procesos estn muy llenas etc.

Til
tiempo de latencia de la interrupcin
Tint tiempo de procesamiento de la interrupcin
Tsl tiempo de latencia de planificacin
Los tiempos corresponden a QNX con un procesador 386 a 2O MHz en
modo protegido.
11.
Ventajas y Desventajas
Ventajas
El soporte integrado para hilos
A pesar de que el procesador slo maneja un proceso a la vez, el
cambio rpido da la ilusin de la ejecucin simultnea
Puede dar lugar a un uso ms eficiente del tiempo de procesador
(asumiendo la programacin eficiente)
Permite la integracin de numerosos mdulos. Los desarrolladores
tienen la confianza de que los hilos sern manejados de manera
eficiente y segura.
Trabajo con hilos sintcticamente ms accesible a los desarrolladores,
que pueden ser puestos fuera mediante las interrupciones.
Priorizacin formal de threading (si est presente) puede asegurar que
los hilos de alta prioridad no tengan que esperar a aquellas que son
menos importantes.
DESVENTAJAS
Huella de memoria
El cdigo de SOTR y la aplicacin para la gestin de hilos consumir,
sin duda, memoria adicional
Procesador saturado
Saturacin incurrida durante la gestin de hilo, etc.
Inversin Prioritaria
Si en el SOTR no se ha incorporado el establecimiento de prioridades
y un mecanismo para hacerlo cumplir, un hilo de mayor prioridad
puede encontrarse a la espera de una de menor prioridad.
Punto muerto
En cualquier sistema multi-hilo, el peligro de bloqueos derivados de la
contencin de recursos es un problema.
Complejidad
Codificacin y depuracin puede ser ms difcil cuando los hilos estn
involucrados

Curva de aprendizaje
Adems, el lenguaje de programacin, las llamadas al sistema
operativo especfico y la sintaxis deben ser aprendidas.
12.
CASO: El sistema Operativo Unix y el tiempo Real
El SO UNIX System V desarrollado por AT&T ha pasado a ser un estndar,
ganando rpida aceptacin debido a su flexibilidad, portabilidad y al
elevado nmero de herramientas que soporta. Pero el SO UNIX fue
diseado originalmente para la multitarea y el tiempo compartido, por
estas razones no tiene una respuesta adecuada a las especificaciones
temporales que requieren las aplicaciones en tiempo real. Entrando ms
en detalle sobre el UNIX, veremos sus deficiencias en los siguientes
aspectos.
Planificacin: Est diseada para proporcionar un tratamiento equitativo
en el acceso a la CPU y a la memoria. Cada proceso dispone de una
porcin de tiempo para ejecutarse. El planificador peridicamente
recalcula las prioridades de los procesos para asegurar un reparto
equitativo de la CPU por cada proceso.
Manejo de las interrupciones: En el UNIX estndar, un proceso trabajando
en el espacio del sistema (llamadas del sistema en modo kernel) no
puede ser pasado por alto por una interrupcin. Esto es as aunque el
proceso que haya ejecutado la llamada al sistema sea de baja prioridad.
En algunos casos, como llamadas a fork donde se deban copiar muchos
datos, la finalizacin de la llamada puede requerir varios segundos, por lo
cual esto es inaceptable para aplicaciones en tiempo real.
Comunicaciones interprocesos: El UNIX posee semforos, colas de
mensajes y mecanismos de comparticin de memoria. Tambin los pipes
y las seales pueden utilizarse a efectos de comunicacin. Su nica pega
en este aspecto es que las llamadas al sistema pueden consumir mucho
tiempo de CPU.
Sistema de archivos: En el UNIX estndar el espacio en disco es asignado
a los archivos cuando se realizan operaciones de escritura, no cuando se
efecta la creacin del archivo. Esto tiene dos efectos: en primer lugar no
se garantiza que cuando se vaya a escribir en un archivo ya creado haya
realmente espacio; en segundo lugar las operaciones de escritura
consumen ms tiempo por tener que ocuparse tambin de la asignacin
de memoria. Adems, para un mejor aprovechamiento del disco, los
bloques que ocupa un archivo no tienen por qu estar contiguos. Esto
tambin causa un retraso en las operaciones de L/E.
Soporte de E/S: No soporta operaciones asncronas de E/S, no hay
capacidad para conectarse directamente a dispositivos de E/S. Si
proporciona la posibilidad de escrituras y lecturas en forma de no
bloques.
Control, por parte del usuario, de los recursos del sistema: El UNIX
System V proporciona la posibilidad de dejar permanente en memoria un
fragmento de cdigo o datos, para responder rpidamente en un cambio
de contexto cuando se produzca algn evento, pero no da medios para
garantizarse el uso de dispositivos.

Como se ve el UNIX, construido para procesos en tiempo compartido,


presenta deficiencias para su uso como SOTR, pero se le pueden aadir
funciones adecuadas para transformarlo en un operativo adecuado para
el tratamiento de sistemas en tiempo real.
a. Estndares de UNIX para el tiempo real.
La prxima generacin de sistemas en tiempo real usar
sistemas abiertos, que incorporarn estndares industriales.
Estos sistemas abiertos pueden especificar estndares tanto en el
mbito de hardware (caso tpico los buses) como de software
(lenguajes, sistemas operativos, plataformas X) ofreciendo una
serie de ventajas. Tales ventajas quedan expuestas en el
siguiente cuadro en contraposicin con los sistemas especficos.

Ventajas para
usuarios
Portabilidad
software

los

Conversin de bases
de datos

Sistemas
especficos
Meses

Sistemas
abiertos
Horas/Se

/Aos

manas

Aos

Horas/D

as
Reciclado
y Grandes tiradas
Con los aos han aparecido una gama
de sistemas operativos
Insignific
UNIX y varios esfuerzos para estandarizarlos. De estos cabe
destacar los de AT&T, que dieron como fruto el UNIX System V y
el del comit ANSI/IEEE que ofrece el POSIX. En la estandarizacin
POSIX (P.1OO3.x, donde x hace referencia a un rea) se incluyen
un nmero
de corporaciones que trabajan en varios
subestandares, muchos an en fase de desarrollo. As se
encuentra el estndar P.1OO2.2 relativo al shell y a las
herramientas, mtodos de test (P.1OO3.3), tiempo real (P.1OO3.4),
ADA (P.1OO3.5), seguridad (P.1OO3.6), administracin del sistema
(P.1OO3.7), funcionamiento en red (P.1OO3.P) y otras materias.
FUNCION

DESCRIPCION

1. Temporizadores

Capacidad
de
programar
y
leer
temporizadores internos de alta resolucin
Planificacin pre-emptive, garantizando la
ejecucin de las tareas de alta prioridad en
Mapeo de un espacio fsico de memoria
comn dentro de los espacios virtuales de
cada proceso, de esta forma varias
Creacin
y
acceso
a
archivos
con
caractersticas deterministas. Un proceso
puede preasignarse espacio en disco para
Debe
garantizar
las
primitivas
de
sincronizacin P y V, elementos bsicos
Paso de mensajes sncrono y asncrono con
facilidades para el control de recursos. Debe
buscarse la posibilidad de trabajar en red

2.
Planificacin
prioridad
3.
Comparticin
memoria

por
de

4. Archivos en tiempo
real
5. Semforos
6.
Comunicacin
interprocesos

7.
Notificacin
de
eventos asncronos
8. Cierre (bloqueo) de
memoria
9 E/S asncrona
1O. E/S sincronizada

Un mecanismo
que
proporcione
el
almacenamiento en colas de los eventos,
Capacidad para dejar residentes secciones
del espacio virtual de un proceso. El fin de
esta propiedad es eliminar tiempos de
Posibilidad de que una aplicacin procese
colas de datos con notificaciones de la
finalizacin de las operaciones de E/S
Capacidad para establecer garantas para que
se complete una operacin de E/S a

El propsito del estndar POSIX en tiempo real (P.1OO3.4)


es desarrollar un conjunto de interfaces que permitan la
portabilidad de aplicaciones en tiempo real. Estas
necesidades conducen a 1O funciones muy importantes en
el tiempo real. Se est incluso avanzando en el desarrollo de
estndares de mtrica que permitan la medicin de las
prestaciones.

Vous aimerez peut-être aussi