Está en la página 1de 5

Sistemas Operativos de Nodos Sensores

TinyOS:
TinyOS es un sistema operativo de código abierto basado en componentes para redes de
sensores inalámbricos. Está escrito en el lenguaje de programación nesC como un conjunto
de tareas y procesos que colaboran entre sí.

● Diseñado para soportar intensivas concurrencias requeridas por las redes de


sensores con un mínimo requerimiento de hardware.
● Desarrollado por EECS Departamento de U.C. Berkeley.
○ C y lenguaje de ensamblaje
○ Source code size: 500KB, 16KB líneas comentadas

● TinyOS fue desarrollado para propósitos específicos en su inicio (no propósitos


generales)‫‏‬Para Recursos limitados
○ 4MHz ATMEL 8535 8bit MCU
○ 512 byte RAM and 8K Flash
● Controladores no dedicados I/O
● Un tarea a la vez (no multitarea)‫‏‬
● Hilos delgados (Thin-threads) no demandan mucho procesador, son de rápido proceso

TinyOS proporciona interfaces, módulos y configuraciones específicas, que permiten a los


programadores construir programas como una serie de módulos que hacen tareas
específicas. Los módulos de TinyOS proporcionan interfaces para los tipos estándar de
entradas y salidas de hardware y sensores.

Contiki OS

Contiki OS es un sistema operativo de código abierto desarrollado para uso en un número


de pequeños sistemas pasando desde ordenadores de 8-bit a sistemas embebidos sobre
microcontroladores, incluyendo nodos de redes de sensores

● Soporte de los estándares de Internet (Full IP Networking)


● Desarrollo rápido
● Soporte para una amplia gama de hardware
● Muy eficiente en términos de energía
● Asignación de memoria eficiente
● Posibilidad de crear redes en malla
● Seguro
● Contiki RAM mínima de 10KB.

Contiki está diseñado para sistemas embebidos con escasa memoria. Una configuración
típica de Contiki consta de 2 KB de RAM y 40 KB de ROM. Cuenta con un núcleo orientado
a eventos sobre el cual los programas pueden ser cargados y descargados de forma
dinámica en tiempo de ejecución. Los procesos en Contiki usan protohilos,​un mecanismo
de abstracción ideado para proporcionar un estilo de programación secuencial sobre el
núcleo orientado a eventos. También soporta multi hilado apropiativo opcional por proceso.
La comunicación entre procesos se realiza mediante la técnica de paso de mensajes, la
cual está implementada mediante el sistema de eventos del núcleo. Tiene un subsistema
GUI opcional, con soporte de gráficos para terminales locales, terminales virtuales en red
mediante VNC o sobre Telnet. Incluye una pila ligera TCP/IP​y la pila Rime, que está
diseñada especialmente para comunicaciones inalámbricas de baja potencia y cuenta con
un amplio rango de primitivas de comunicación. También soporta IPv6, junto con protocolos
como RPL y 6LoWPAN.

MANTIS OS

Sigue un diseño clásico de multi threading para soportar procesos concurrentes, pero
requiere reservar memoria adicional dentro de la aplicación para almacenar los distintos
contextos de los threads. Posee sistema de reprogramación dinámica e incluye un sistema
de control remoto que sirve para obtener información del nodo en tiempo real.

Recibe su nombre del sistema MultimodAl para NeTworks de sensores inalámbricos in situ.
Está escrito en C. MANTIS está implementado en un espacio de RAM ligero que cabe en
menos de 500 bytes de memoria, esto incluye kernel, planificador y pila de red. MOS tiene
un programador de bajo consumo que duerme el microcontrolador cuando se llama a la
función sleep (), que reduce el consumo. Una gran parte de las características de diseño de
MOS es su flexibilidad en forma de soporte multiplataforma y capacidad para realizar
pruebas en PC, PDA y diferentes plataformas de micro sensores. Soportes MOS gestión
remota de sensores in situ mediante reprogramación dinámica e inicio de sesión remoto.
Tiene un bajo barrera de entrada en términos de programación para redes de sensores.
Además, MOS es compatible con el sistema operativo de sensor avanzado características
como creación de prototipos multimodal, reprogramación dinámica y shells remotos.
MANTIS sigue siendo un trabajo en progreso, algunas cosas deben mejorarse, la
administración de bajo consumo debe ser mejorado (aunque la función sleep () ayuda a
ahorrar energía, están trabajando para desarrollar incluso formas más eficientes también),
demostrando confiabilidad o código actualizado a través de la red, optimizando la tamaño
de estas actualizaciones, y garantizar la seguridad y la autenticidad de las actualizaciones
deben ser mejorado, así como algunas otras cosas clave.

NANO-RK

Es un sistema operativo con arquitectura estática de compilación, por lo que la organización


de su memoria queda definida al momento de compilar y no cambia al momento de ser
ejecutada.
Tanto MANTIS OS como NANO-RK OS carecen de simulador asociado, por lo que solo es
posible probar su funcionamiento en nodos reales.
Nano-RK aprovecha la programación preventiva basada en prioridades para ayudar a
respetar el factor en tiempo real de ser determinista, asegurando así la puntualidad y
sincronización de las tareas. Debido a la característica de la energía limitada de la batería
en el nodo inalámbrico, Nano-RK proporciona eficiencia de CPU, red y sensor mediante el
uso de reservas de energía virtuales, etiquetando este sistema como un núcleo de recursos.
Estas reservas de energía pueden hacer cumplir los presupuestos de energía y
comunicación para minimizar el impacto negativo en la vida útil operativa del nodo de
errores involuntarios o comportamiento malicioso por parte de otros nodos dentro de la red.
Es compatible con el reenvío de paquetes, el enrutamiento y otros protocolos de
programación de red con la ayuda de una pila de redes inalámbricas ligera. En comparación
con otros sistemas operativos de sensores actuales, Nano-RK proporciona una rica
funcionalidad y programación de puntualidad con una huella pequeña para su kernel de
recursos integrado (RK).

Características de Nano-RK

Configuración estática: Nano-RK utiliza un enfoque estático de tiempo de diseño para el


control del uso de energía. Nano-RK no permite la creación dinámica de tareas, lo que
requiere que los desarrolladores de aplicaciones establezcan cuotas/prioridades de tareas y
reservas en un diseño de banco de pruebas estático. Este diseño permite a los
desarrolladores crear un presupuesto de energía para cada tarea con el fin de mantener los
requisitos de la aplicación, así como la eficiencia energética durante toda la vida útil del
sistema. Utilizando un enfoque de configuración estática, todas las configuraciones de
tiempo de ejecución, así como los requisitos de energía, son predefinidos y verificados por
el diseñador antes de que el sistema se implemente y ejecute en el mundo real. Este
enfoque también ayuda a garantizar la estabilidad y las características de tamaño reducido
en comparación con los RTOS tradicionales.

Soporte de Watchdog Timer: Watchdog es un temporizador de software que activa una


acción de restablecimiento del sistema si el sistema se cuelga de fallas cruciales durante un
período prolongado de tiempo. El mecanismo de vigilancia puede devolver el sistema del
estado de no respuesta a la operación normal esperando hasta que el temporizador se
apague y, posteriormente, reiniciando el dispositivo. En Nano-RK, el temporizador de
vigilancia está vinculado directamente a la señal de reinicio del procesador REBOOT ON
ERROR. De forma predeterminada, se habilita cuando el sistema arranca y se restablece
cada vez que se ejecuta el programador. Si el sistema no responde dentro del período de
tiempo predefinido, el sistema se reiniciará y ejecutará la secuencia de instrucciones de
inicialización para recuperar el control.

Modo de suspensión profunda: otra característica de Nano-RK es el modo de suspensión


profunda. Por razones de eficiencia energética, si no hay tareas elegibles para ejecutar, el
sistema se puede apagar y se le puede dar la opción de ingresar al modo de suspensión
profunda. Cuando el sistema está en modo de suspensión profunda, solo el temporizador de
suspensión profunda puede activar el sistema con un período de latencia predefinido.
Después de despertarse del modo de suspensión profunda, el siguiente tiempo de
intercambio de contexto se establece para garantizar que la CPU se despierte a tiempo. Si
un nodo sensor no desea realizar un sueño profundo, también se le presenta la opción de
entrar en un estado de bajo consumo de energía mientras administra sus periféricos.

SISTEMA BASADO SOPORTE SIMULADOR REPROGRAMACIÓN COMPATIBILIDAD


OPERATIVO EN PARA ASOCIADO INALÁMBRICA TCP/IP
TAREA THREADS

TINYOS ● TOSSIM NO

CONTIKI ● COOJA ● SI

MANTIS OS ● N/A ● NO

NANO-RK ● N/A ● NO

Referencias
Cursos Online Web. 2021. Clases de sistemas operativos - ¿Qué es un sistema
operativo?. [online] Available at:
<https://cursosonlineweb.com/sistemas_operativos.html> [Accessed 6 September
2021].

También podría gustarte