Академический Документы
Профессиональный Документы
Культура Документы
En los diseos tpicos, una tarea tiene tres estados: ejecucin, preparada y
bloqueada. La mayora de las tareas estn bloqueadas casi todo el tiempo.
Solamente se ejecuta una tarea por UCP. La lista de tareas preparadas suele ser
corta, de dos o tres tareas como mucho.
El problema principal es disear el programador. Usualmente, la estructura de los
datos de la lista de tareas preparadas en el programador est diseada para que
cada bsqueda, insercin y eliminacin necesiten interrupciones de cierre
solamente durante un perodo muy pequeo, cuando se buscan partes de la lista
muy definidas.
Esto significa que otras tareas pueden operar en la lista asincrnicamente,
mientras que se busca. Una buena programacin tpica es una lista conectada
bidireccional de tareas preparadas, ordenadas por orden de prioridad. Hay que
tener en cuenta que no es rpido de buscar sino determinista. La mayora de las
listas de tareas preparadas slo tienen dos o tres entradas, por lo que una
bsqueda secuencial es usualmente la ms rpida, porque requiere muy poco
tiempo de instalacin.
El tiempo de respuesta crtico es el tiempo que necesita para poner en la cola una
nueva tarea preparada y restaurar el estado de la tarea de ms alta prioridad.
En un sistema operativo en tiempo real bien diseado, preparar una
nueva tarea necesita de 3 a 20 instrucciones por cada entrada en la cola y la
restauracin de la tarea preparada de mxima prioridad de 5 a 30 instrucciones.
En un procesador 68000 20MHz, los tiempos de cambio de tarea son de 20
microsegundos con dos tareas preparadas.
Cientos de UCP MIP ARM pueden cambiar en unos pocos microsegundos.
Comunicacin entre Tareas[
Las diferentes tareas de un sistema no pueden utilizar los mismos datos o
componentes fsicos al mismo tiempo. Hay dos mtodos para tratar este problema.
Uno de los mtodos utiliza semforos. En general, el semforo binario puede estar
cerrado o abierto. Cuando est cerrado hay una cola de tareas esperando la
apertura del semforo.
Los problemas con los diseos de semforos son bien conocidos: inversin de
prioridades y puntos muertos (deadlocks).
solo puede atender una interrupcin a la vez, es necesario que los controladores
de tiempo real se ejecuten en el menor tiempo posible. Esto se logra no
procesando la seal dentro de la interrupcin, sino enviando un mensaje a una
tarea o solucionando un semforo que est siendo esperado por una tarea. El
programador se encarga de activar la tarea y esta se encarga de adquirir la
informacin y completar el procesamiento de la misma.
El tiempo que transcurre entre la generacin de la interrupcin y el momento en el
cual esta es atendida se llama latencia de interrupcin. El inverso de
esta latencia es unafrecuencia llamada frecuencia de saturacin, si las seales
que estn siendo procesadas tienen una frecuencia mayor a la de saturacin, el
sistema ser fsicamente incapaz de procesarlas. En todo caso la mayor
frecuencia que puede procesarse es mucho menor que la frecuencia de saturacin
y depende de las operaciones que deban realizarse sobre la informacin recibida.