• No se han encontrado resultados

2. SISTEMA OPERATIVO LINUX

2.1. ELECCIÓN DEL SISTEMA OPERATIVO

2.1.2. Distribuciones de Linux Embebido

Las implementaciones de Linux embebido mencionadas en esta sección están disponibles bajo la licencia de código abierto. Ellas cubren un gran rango de necesidades y pueden ser modificadas para ajustarse a los requerimientos de aplicaciones específicas [11] [12].

2.1.2.1. Sin tiempo real

Proyecto Debian Embebido: Este proyecto tiene como objetivo hacer de Debian GNU/Linux una

elección predominante para proyectos embebidos.

de Linux, el cual fue desarrollado y optimizado especialmente para el despliegue de redes en entornos embebidos donde la seguridad es crítica. Las funciones típicas para una instalación de AMSEL son por ejemplo el despliegue como dispositivo para el filtrado de paquetes o como compuerta de encriptación (VPN, SSH-to-Telnet).

Gentoo Embebido: Es un proyecto para crear versiones embebidas de Linux Gentoo y tiene

lanzamientos preliminares en x86, MIPS, PPC y ARM. Las versiones incluyen binarios nativos del núcleo del sistema, toolchains para plataforma cruzada y, para x86, una toolchain opcional fortificada.

ETLinux: Es una distribución completa de Linux diseñada para ejecutarse en pequeños

computadores industriales especialmente en módulos PC/104.

Freesco: Es una alternativa de código abierto fácil de usar para productos comerciales de

enrutamiento que incorpora muchas de las características del sistema operativo Linux completo dentro de un software que se puede alojar en diskette. Es muy útil para la creación confiable de enrutadores, puentes y servidores.

Proyecto Linux Router o LRP: Es una microdistribución de Linux centrada en redes que hace fácil

construir y mantener enrutadores, servidores de acceso, servidores pequeños, clientes pequeños, periféricos de red, y sistemas embebidos. LRP puede alojarse dentro de un diskette.

Proyecto Linux-VR: Este proyecto provee una implementación de Linux para procesadores system- on-chip NEC de la serie VR, la mayoría de los cuales fueron diseñados para ejecutar Windows CE

basado en computadores portátiles.

Linux en un diskette - LOAF: Es una distribución de Linux para 386s que ocupa un solo diskette, y

contiene el kernel y varias utilidades gratis. LOAF soporta varios protocolos de red incluyendo el navegador lynx, ftp, telnet, y ssh.

Qplus: Consiste de un kernel Linux embebido reconfigurable, librerías de sistema, un sistema gráfico

de ventanas, un constructor para target, una herramienta para la optimización de librerías, y BSP para targets x86 y ARM.

pequeños. Esto incluye un sistema de construcción, un kernel Linux con memoria, almacenamiento y características de conservación de energía, y soporte a nivel de sistema para ejecutar software normal Linux en plataformas que de otra manera requerirían aplicaciones embebidas personalizadas.

µClinux: Es un derivado de Linux específico para microprocesadores que no proveen MMU. Soporta

una creciente lista de procesadores incluyendo: Motorota DragonBall M68EZ328, M68328, M68EN322, ColdFire, QUICC; ARM7TDMI; MC68EN302; Axis ETRAX; Intel i960; PRISMA; Atari 68k; y más. Este es un proyecto de código abierto mantenido por SnapGear y Arcturus.

µLinux: Es una distribución Linux muy pequeña centrada en la aplicación que está plenamente

configurada y casi completa, hecha en Italia. µLinux ocupa un solo diskette.

PeeWeeLinux: Es una distribución Linux pequeña dirigida a dispositivos embebidos. Uno de los

objetivos de PeeWeeLinux es hacer que la configuración e instalación del sistema operativo en una plataforma embebida sea lo menos problemático posible.

2.1.2.2. De tiempo real

ADEOS: El proyecto ADEOS ha creado lo que se describe como capa abstracción de hardware GPL

que permita que un kernel de tiempo real coexista con un kernel de propósito general. Esto soportará las clases de kernel dual para entornos Linux de tiempo real rígido que han usado RTLinux o RTAI, pero sin hacer uso de la tecnología que está ligada a una patente mantenida por el creador de RTLinux.

ECos: Este ha sido diseñado para soportar aplicaciones con requerimientos de tiempo real,

suministrando características tales como kernel totalmente apropiativo, mínima latencia en interrupciones, y todas las primitivas necesarias para sincronización, políticas de planificación, y mecanismos de manejo de interrupciones necesarios para este tipo de aplicaciones. eCos también provee toda la funcionalidad requerida para soportar aplicaciones embebidas generales incluyendo

drivers de dispositivo, administración de memoria, manejo de excepciones, C, librerías matemáticas,

etc. Adicionalmente para soporte en tiempo de ejecución, el sistema eCos incluye todas las herramientas necesarias para desarrollar aplicaciones embebidas, incluyendo el software de configuración y herramientas de desarrollo eCos, y compiladores GNU, ensambladores,

enlazadores, depuradores y simuladores.

Linux ART: Es una extensión de Tiempo Real para Linux que fue inspirada por RTLinux pero que,

según su desarrollador, “ofrece ciertas ventajas”.

KU Real-Time Linux – KURT: Es una implementación de tiempo real en Linux que permite la

planificación de eventos con una resolución de décimas de microsegundos. Fue creado en la Universidad de Kansas.

Linux-SRT -- Linux Soft Real-Time: Es una extensión al kernel de Linux la cual mejora el desempeño

de tiempo real suave en aplicaciones tales como multimedia.

Linux/RK: Es una mejora en los recursos del kernel de Linux basada en un módulo de kernel

recargable que provee a las aplicaciones un acceso a los recursos del sistema puntual, garantizado y que cumple con las normas. Creado en la Universidad Carnegie Mellon.

QLinux: Es una implementación del kernel de Linux que provee Calidad de Servicio (QoS) para el

desempeño de Linux de tiempo real suave en aplicaciones tales como multimedia, recolección de datos, etc. Creado en la Universidad de Massachussets.

RealTimeLinux.org: Es un sitio web dedicado a varias formas de Linux en tiempo real. Orientado

principalmente a RTAI y RTLinux.

RedHawk Linux: Es una variante Linux de tiempo real basada en la distribución Red Hat. RedHawk

alcanza desempeño de tiempo real mediante el reemplazo del kernel Red Hat con una variante del kernel Linux 2.4.18. El kernel es completamente apropiativo y tiene parches para baja latencia.

RED.Linux: Es una versión Linux de tiempo real que implementa tiempo corto de bloqueo en el

kernel, tiempo de respuesta rápido en las tareas, un planificador de la CPU modularizado y reemplazable en tiempo de ejecución, y un marco de trabajo general de planificación. Creado en la Universidad de California, Irvine.

Real Time Application Interface - RTAI: Es una interfaz de aplicación de tiempo real que se utiliza

tanto en uniprocesadores como en multiprocesadores simétricos, que permite el uso de Linux en muchas aplicaciones de tiempo real rígido. El proyecto RTAI fue creado en el Dipartimento di Ingegneria Aerospaziale Politecnico di Milano (DIAPM). AtomicRTAI es una pequeña implementación

(ocupa un diskette) para aplicaciones embebidas con restricción de recursos.

RTLinux: Es un minisistema operativo de tiempo real rígido que ejecuta Linux como su hilo con

prioridad más baja. El hilo Linux es hecho completamente apropiativo de tal modo que los hilos de tiempo real y los manejadores de interrupción nunca son retrazados por operaciones que no son de tiempo real. La última versión de RTLinux soporta programación de tiempo real a nivel de usuario. MiniRTL es una pequeña implementación (ocupa un diskette) para aplicaciones embebidas con restricción de recursos.

Linux SMART - Scheduling Multimedia Applications Real-Time: Es un kernel adaptativo capaz de

reaccionar a la carga del sistema y adaptar el comportamiento en tiempo real para garantizar la calidad de servicio. Este fue desarrollado por la profesora Dilma Silva en la Universidad de Sao Paulo, Brazil.