Sei sulla pagina 1di 4

Determinismo:

Un sistema operativo es determinista si realiza las operaciones en instantes


fijos y determinados o en intervalos de tiempo predeterminados. Cuando hay
varios procesos compitiendo por el mismo recurso, no ser por completo
determinista. Para que el sistema sea determinista se tiene que tener en
cuenta dos puntos: la velocidad con la que pueda responder a las
interrupciones; y si el sistema posee suficiente capacidad para gestionar las
peticiones en tiempos definidos.

Sensibilidad:
Esta caracterstica la determina el tiempo que tarda un RTOS en reconocer una
interrupcin, despus de reconocerla depende de La cantidad de tiempo
necesaria para iniciar la gestin de la interrupcin y empezar la ejecucin de la
rutina de servicio a la interrupcin (Interrupt Service Routine ISR). Si la
ejecucin de ISR requiere un cambio de proceso el tiempo ser mayor
afectando drsticamente la sensibilidad. En conjunto, el determinismo y la
sensibilidad conforman el tiempo de respuesta a sucesos externos.

Control de usuario:
Esta caracterstica es mayor en un RTOS que en un sistema de tiempo
compartido, en el segundo caso, el usuario no puede asignar prioridades,
decidir sobre algoritmos de planificacin o que procesos pueden estar
residentes en la memoria.

Fiabilidad:
Un RTOS controla sucesos que tienen lugar en el entorno y su propia escala de
tiempo, las prdidas o degradaciones en el sistema , pueden tener
consecuencias en el proceso controlado.

Tolerancia a fallos:
Un RTOS se disea para responder ante varias formas de fallo. ste intentar
corregir el problema o minimizar sus efectos antes de proseguir con la
ejecucin. Se asocia la Estabilidad a la Tolerancia de Fallos, se considera un
sistema estable, cuando en los casos en los que es imposible cumplir todos los
plazos de ejecucin de tareas se cumplan al menos los de las ms crticas y de
mayor prioridad.

FreeRTOS es un ncleo del sistema operativo en tiempo real popular para dispositivos
embebidos, que ha sido portado a 35 microcontroladores. Se distribuye bajo la licencia
GPL, con una excepcin opcional. La excepcin permite cdigo propietario de los
usuarios a seguir siendo de cdigo cerrado, manteniendo el ncleo en s como cdigo
abierto, lo que facilita el uso de FreeRTOS en aplicaciones propietariasContents
FreeRTOS est diseado para ser pequeo y simple. El ncleo en s consta de slo tres o
cuatro archivos C. Para hacer que el cdigo legible, fcil de portar, y mantenible, est
escrito en su mayora en C, pero hay algunas funciones de montaje incluidas donde sea
necesario (en su mayora en las rutinas del planificador especficos de la arquitectura).
FreeRTOS proporciona mtodos para varios subprocesos o tareas, exclusiones mutuas,
semforos y temporizadores de software. Se proporciona un modo de garrapata menos
para aplicaciones de baja potencia. Prioridades de rosca son compatibles. Adems hay
cuatro esquemas de asignacin de memoria proporcionados:
asignar solamente;
asignar y libre con un muy simple rpido, algoritmo,;
un algoritmo ms complejo, pero asignar rpida y gratuita con coalescencia de memoria;
y C biblioteca asignar y gratuita con algn tipo de proteccin mutua exclusin.
No hay ninguno de los rasgos ms avanzados se encuentran tpicamente en sistemas
operativos como Linux o Microsoft Windows, tales como controladores de dispositivos,
gestin de memoria avanzada, cuentas de usuario y de redes. El nfasis est en la
compacidad y rapidez de ejecucin. FreeRTOS puede ser pensado como una "biblioteca
de subprocesos" en lugar de un "sistema operativo", aunque la interfaz de lnea de
comandos y POSIX-como IO abstraccin complementos estn disponibles.
FreeRTOS implementa mltiples hilos por tener el programa de acogida llamar a un
mtodo de garrapata hilo a intervalos cortos regulares. El mtodo garrapata hilo cambia
tareas en funcin de la prioridad y un esquema de planificacin round-robin. El intervalo
usual es 1/1000 de un segundo a 1/100 de un segundo, a travs de una interrupcin de
un temporizador de hardware, pero este intervalo se cambia a menudo para adaptarse a
una aplicacin particular.
La descarga contiene configuraciones y demostraciones preparadas para cada puerto y el
compilador, lo que permite el diseo rpido de aplicaciones. El sitio de FreeRTOS.org
tambin contiene una gran cantidad de documentacin y tutoriales RTOS (manuales
adicionales y tutoriales disponibles por una tarifa a partir de USD25), detalles del diseo
RTOS.
huella muy pequea de memoria, bajo costo operativo y de ejecucin muy rpido.
Tick-less opcin para aplicaciones de baja potencia.
Igualmente bueno para los aficionados que son nuevos sistemas operativos y
desarrolladores profesionales que trabajan en los productos comerciales.
Scheduler puede ser configurado tanto para operacin preventiva o cooperativa.
Apoyo Coroutine (Coroutine en FreeRTOS es una tarea muy simple y ligero que tiene un
uso muy limitado de pila)
El apoyo de seguimiento a travs de macros traza genricos. Herramientas como
FreeRTOS + trace (proporcionados por el socio FreeRTOS Percepio) por lo tanto se
pueden registrar y visualizar el comportamiento de tiempo de ejecucin de los sistemas

basados en FreeRTOS. Esto incluye la programacin y del ncleo llamadas de tareas


para las operaciones de semforos y de cola. Precio = US $ 1500 (compra, 5/2014). Sin
embargo, ningn trazador libre est disponible actualmente.
SafeRTOS fue construido como una oferta complementaria a FreeRTOS, con una
funcionalidad comn pero con una aplicacin de seguridad crtico de diseo nico.
Cuando el modelo funcional FreeRTOS se someti a un HAZOP completo, debilidad con
respecto al uso indebido de usuario y fallo de hardware en el modelo funcional y API se
identificaron y resuelto. Los requisitos establecidos resultantes fue puesto a travs de un
ciclo de vida de desarrollo completo IEC 61508 SIL 3, la ms alta posible para un
componente de software exclusivamente.
SafeRTOS fue desarrollado por los sistemas de alta integridad WITTENSTEIN, en
colaboracin con el Real Time Ingenieros Ltd, desarrollador principal [1] del proyecto
FreeRTOS. [5] Tanto SafeRTOS y FreeRTOS compartir el mismo algoritmo de
planificacin, tiene APIs similares, y son otra forma muy similar, [6] pero ellos fueron
desarrollados con diferentes objetivos. [7] SafeRTOS fue desarrollado exclusivamente en
el lenguaje C para cumplir con los requisitos para la certificacin de IEC61508. [8]
SafeRTOS es conocido por su capacidad, nico entre los sistemas operativos, a residir
nicamente en la memoria en el chip de un microcontrolador, lo que permite que la precertificacin de los sistemas de hardware y software completas a IEC61508 u otras
normas de seguridad o fiabilidad de funcionamiento. [9] Cuando se implementa en la
memoria del hardware, el cdigo SafeRTOS slo puede ser utilizado en su configuracin
original, por lo que las pruebas de certificacin de los sistemas que utilizan este sistema
operativo no es necesario volver a probar esta porcin de sus diseos durante el proceso
de certificacin de la seguridad funcional. [10]
SafeRTOS est incluido en la ROM de algunos microcontroladores Stellaris [11] de Texas
Instruments. Esto permite SafeRTOS para ser utilizado en aplicaciones comerciales sin
tener que comprar su cdigo fuente. En este escenario de uso, un archivo de cabecera C
sencilla se utiliza para asignar funciones de la API SafeRTOS a su ubicacin en la
memoria de slo lectura. El uso de memoria de slo lectura es ideal porque el cdigo que
contiene no se puede cambiar - la eliminacin de la posibilidad de un error del usuario, y
la garanta de un cdigo que se prob inicialmente sigue siendo absolutamente idntica
en toda la vida del proyecto. No tendr que volver a las pruebas como el cdigo de la
aplicacin crece y evoluciona a su alrededor. La carga de la prueba del ncleo complejo
se elimina ya que las pruebas de certificacin ya certificado y aprobado, incluyendo la
prueba del plan, el cdigo y los resultados, se puede comprar "fuera de la plataforma".
OpenRTOS
Otro proyecto relacionado con FreeRTOS, uno con cdigo idntico pero diferente de
licencias, es OpenRTOS. La licencia OpenRTOS elimina toda referencia a la GPL y sus
implicaciones. Por ejemplo: una de las condiciones de uso de FreeRTOS en un producto
comercial es que el usuario es consciente de la utilizacin de FreeRTOS y el cdigo
fuente de FreeRTOS (no aplicacin) debe ser proporcionado a pedido. Como es un

producto comercial disponible para su compra, OpenRTOS no tiene este requisito de


licencia. OpenRTOS usuarios tambin tienen acceso a soporte tcnico completo.

Ejemplo 1. Tareas Creacin


Este ejemplo muestra los pasos necesarios para crear dos tareas simples a continuacin,
iniciar las tareas ejecucin. Las tareas simplemente imprimen peridicamente una
cadena, usando un bucle nulo crudo para crear el perodo demora. Ambas tareas se crean
en la misma prioridad y son otra idntica que la cadena que se impriman
- Ver Listado 4 y el Listado 5 para sus respectivas implementaciones
La Figura 2 muestra las dos tareas que aparecen para ejecutar simultneamente, pero
ambas tareas estn ejecutando en el mismo procesador por lo que este no puede ser en
realidad el caso. En realidad ambas tareas estn entrando rpidamente y
salir del estado de ejecucin. Ambas tareas se estn ejecutando en la misma prioridad por
lo que compartir el tiempo en el single procesador. Su patrn de ejecucin real se muestra
en la Figura 3.
La flecha a lo largo de la parte inferior de la figura 3 muestra el paso del tiempo desde el
tiempo t1 en adelante. El color lneas muestran qu tarea se est ejecutando en cada
punto en el tiempo - por ejemplo Task1 est ejecutando entre
t1 y t2 tiempo de tiempo.
Slo una tarea puede existir en estado de ejecucin en un momento de forma que una
tarea pasa al estado Running (La tarea se enciende en) el otro entra en el estado no se
ejecuta (la tarea se enciende hacia fuera).
Ejemplo 2. Utilizando el parmetro Tarea
Las dos tareas creadas en el Ejemplo 1 fueron casi idnticos, la nica diferencia entre
ellos era el cadena de texto que se imprime. Esta duplicacin puede ser eliminado por
lugar la creacin de dos instancias de una aplicacin sola tarea. El parmetro tarea,
entonces se puede utilizar para pasar a cada tarea la cadena que esa instancia debe
imprimir.
Ficha 8 contiene el cdigo de la funcin de una sola tarea (vTaskFunction) utilizado por
Ejemplo 2. Este single funcin sustituye las dos funciones de tareas (vTask1 y vTask2)
utilizados en el Ejemplo 1. Nota cmo la tarea parmetro se ech a un char * para obtener
la cadena de la tarea debe imprimir.
A pesar de que ahora hay slo una aplicacin de tareas (vTaskFunction), ms de una
instancia dela tarea definida puede ser creado. Cada instancia creada se ejecutar de
forma independiente bajo el control del planificador FreeRTOS.
El parmetro pvParameters a la funcin xTaskCreate () se utiliza para pasar en la cadena
de texto como se muestra en el Listado 9.

Potrebbero piacerti anche