Está en la página 1de 17

Real Time Operation

Sistems
Cristian Cisneros Morales
UNIDAD 2:
Termonologa Bsica de RTOS
Tarea / Task / Thread
Son procedimientos
formados por cdigo
de programa que
asumen que la CPU
est 100%
disponible.
Trabajan con basa a
estados y eventos.
Tarea 1
Tarea 2
Tarea 3
Tiempo
Tarea:
Prioridad de ejecucin de tareas
Es una medida de la
importancia de la
ejecucin de una tarea
en relacin a las
dems.
Tarea 1
Tarea 2
Tarea 3
Tiempo
Suele medirse como: baja - media - alta
O con nmeros, por ejemplo del 0 al 9 donde el
cero representa la mxima prioridad.
Tarea:
Estados de una tarea
Una tarea puede encontrarse en
diferentes estados de ejecucin:
Suspendida [Dormant o Dummy]
Ejecutandose [Run]
Disponible [Ready]
Espera [Wait]
Interrumpida [Interrupted]
Tarea:
Estados de una tarea
Task
Dorman
t
Task
Ready
Task
Run
Task
ISR
Task
Wait
OSTaskDel()
OSTaskDel()
OSTaskDel()
OSTaskCreate(
)
Preemted()
OSTaskSW()
OSTimeDly()
OSTimeDlyResume(
)
interrupcin
OSIntExt()
fuente: www.micrium.com
Recurso / Resource
Son entidades usadas
por una tarea. Pueden
ser una funcin, una
estructura, una
variable, un perifrico
interno del MCU, un
dispositivo externo,
etc.
Un recurso puede ser
usado por varias tareas
OSTimer()
OSMem()
OSCom()
Evento / Event
Son intancias de notificacin hacia
las tareas.
Indican la ocurrencia de un hecho
relevante para las tareas en
ejecucin.
Pueden ser provocadas por hardaware
interno o externo o por software:
timeouts, interrupciones, etc.
Semforo / Semaphore
Son mecanismos de control
que proveen al RTOS una
forma de prevenir que
mltiples tareas realicen
acceso al mismo recurso en
el mismo tiempo. Se usan
adems para indicar la
ocurrencia de un evento y
permiten sincronizar
varias actividades.
Mensaje / Message / Mail box
Es un objeto que se
entrega a una tarea.
Tambin puede ser un
puntero a otra tarea.
Este puntero puntero
normalmente est
inicializado a una
estructura de datos que
contiene un mensaje.
Bloque de memoria / Buffer
Son elementos de memoria contnuos
para cada aplicacin, permiten crear
listas circulares, FIFO o LIFO de
cualquier tamao.
Las listas pueden crearse y borrarse
de maneda dinmica, permitiendo de
esta forma un manejo eficiente de la
memoria.
Reloj / Timer / Clock Tick
El Clock Tick o tick es una
interrupcin que ocurre de forma
peridica, le permite al RTOS contar el
timepo ques entrega a cada tarea y el manejo
de timeouts
Kernel
Es la parte responsable por la
distribucin del tiempo de la CPU para
el manejo de las tareas. El servicio
fundamental de kernel es el cambio de
contexto.
Kernel
Preemtivo; y
No preemtivo
Kernel NO preemtivo
Un kernel NO preemtivo no suspende la
ejecucin de una tarea, la tarea
devuelve el control de la CPU de forma
voluntaria, sin embargo las
interrupciones pueden retirar el
cotnrol de la CPU en cualquier
momento.
Kernel preemtivo
Un kernel preemtivo es aquel que
suspende la tarea en estado RUN y le
pasa el control a una tarea de mayor
prioridad. El scheduler en su labor
entrega el control siempre a la tarea
de mayor prioridad.
El tiempo de ejecucin de las tareas
de alta prioridad es determinstico.
RTOS actuales
Lista de RTOS:
https://docs.google.com/spreadsheet/ccc?key=0AssDNzrmDn3CdDF0YVZqV0NUVXlOX3R0ay1QZmF6VkE#gid=0
FreeRTOS: http://www.freertos.org/
uC/OS: http://www.freertos.org/
MQX: http://www.freescale.com/webapp/sps/site/homepage.jsp?code=MQX_HOME
DuinOS: https://code.google.com/p/duinos/
freeRTOS
Kernel de tiempo real totalmente
gratuito
Ofrece cdigo abierto al ser
software libre.
Es el lder del mercado de RTOS, ya
que es soportado por 31
arquitecturas de sistemas embebidos
y con 77500 descargas al ao, es el
sistema operativo en tiempo real ms
ampliamente utilizado.

También podría gustarte