Resumen: Analisis Sistemas Operativos de Tiempo Real


Actividad 4
Trabajo Individual
Realizar lo siguiente:
En base al texto en Sistemas operativos de tiempo real libres.pdf, realiza un resumen y organiza la información referente a los sistemas operativos de tiempo real. Realiza un gráfico, mapa mental, cuadro sinóptico, etc. Incluir también otros ejemplos de sitemas operativos de tiempo real que no consideren software libre. Investígalos en internet.
  1. Elabora una tabla con las principales diferencias que existen entre los sistemas operativos convencionales y los de tiempo real. 

     
    Análisis de Sistemas Operativos de Tiempo Real Libres

    Dentro de las distribuciones de sistemas operativos de tiempo real, nos fijaremos en aquellas que usan como base el kernel estándar de Linux, en sus distintas versiones, y más en particular en aquellas que se distribuyen bajo la licencia GNU/GPL ya que de estas últimas obtendremos mucha mayor información y será una de estas distribuciones libres las que escogamos para nuestro trabajo.

    En primer lugar, se realizará una descripción de las características principales requeridas para un sistema operativo de tiempo real y las distintas arquitecturas de sistemas operativos que se han adoptado para mejorar las características y convertir un sistema operativo de propósito general en uno de tiempo real. Se mostrará un tabla resumen del rendimiento de cada una de las distintas arquitecturas.

    Arquitectura de un Sistema Operativo de Propósito General

    La memoria física de un computar esta dividida entre el espacio reservado para los usuarios (“user-space”) y el espacio reservado para el kernel (“kernel-space”). El kernel multitarea es capaz de manejar múltiples aplicaciones de usuarios que ejecutan en el espacio de usuario haciendo creer a cada uno que dispone de todo el espacio de memoria y de todos los recursos hardware.


    Las funcionalidades principales de un sistema operativo de propósito general son:

    ● Gestión de procesos. Planificación de procesos.

    ● Gestión de memoria.

    ● Interactuar con el Hardware.

    ● Servidor de Ficheros.

    ● Servidor de Comunicaciones.


    La característica principal de un sistema operativo de tiempo real es la respuesta ante eventos internos ó externos, tales como interrupciones hardware externas, interrupciones software internas ó interrupciones de reloj internas, es decir los requerimientos temporales.

    Una de las medidas de rendimiento de un Sistema Operativo de Tiempo Real es la latencia, ó tiempo desde que ocurre el evento y éste es tratado. La otra medida es el jitter, ó variaciones en el periodo normal de ocurrencia de eventos periódicos.


    Clases de tiempo real

    Un programa ó un sistema operativo es considerado como de tiempo real, si a pesar de las restricciones de tiempo le permiten trabajar y funcionar correctamente.

    Se distinguen las siguientes clases:

    ● Tiempo real estricto (Hard Real Time): Todas las acciones deben ocurrir dentro del plazo especificado.

    ● Tiempo real flexible (Soft Real Time): Se pueden perder plazos de vez en cuando. El valor de la respuesta decrece con

    el tiempo.



    Arquitectura de un Sistema Operativo de Tiempo Real

    El objetivo de un sistema operativo de tiempo real es reducir la latencia y el jitter en las interrupciones, tanto internas como externas, al orden de microsegundos.

    Es decir, la parte fundamental para convertir un sistema operativo de propósito general en un sistema operativo de tiempo real es el manejo de las interrupciones.

    El procesamiento de interrupciones en el kernel estándar esta divido en 2 tareas. Una tarea que se encarga de leer los datos del dispositivo físico y escribirlos en un buffer, es lo que se conoce como manejador de interrupciones, y una tarea que se encarga de pasar los datos del buffer a otro para que sean accesible por el kernel. Con este esquema, cuando el manejador esta ejecutando, todas las interrupciones están inhibidas con el siguiente retardo impredecible en el servicio de otras interrupciones que se puedan haber producido y por tanto en los valores de latencia y jitter.


    Atención prioritaria en el kernel estándar (Preemptable kernel)

    Esta metodología modifica el kernel en profundidad de forma que los procesos de kernel ejecuten con máxima prioridad de forma que puedan interrumpir a procesos de menor prioridad en el acceso a los recursos que necesiten.
    Esta metodología implica cambios en los manejadores de interrupciones para que las interrupciones de alta prioridad no sean bloqueadas por el manejador de interrupciones mientras esta manejando otra de menor prioridad.

    El resultado de esta metodología es una latencia y un jitter del orden de 1 milisegundo en un Pentium a 100 Mhz.


    Micro-kernel

    Esta estrategia añade un segundo kernel que en realidad es una capa interfaz entre el hardware y el kernel estándar, lo que se llama tradicionalmente HAL “Hardware Abstraction Layer”. Esta capa, micro-kernel, controla la ejecución
    de las tareas de tiempo real y ejecuta el kernel estándar como una tarea en background, es decir, el kernel estándar sólo ejecuta cuando no hay tareas de tiempo real pendientes.


    Nano-kernel

    Esta estrategia es similar a la primera, micro-kernel, pero consigue evitar la patente que tiene Yodaiken sobre ésta, de forma que este nano-kernel únicamente captura las interrupciones hardware y permite la ejecución paralela de varios sistemas operativos por encima de él.


    Distribuciones
    Buscando información sobre distribuciones de sistemas operativos de tiempo real he encontrado que hay alrededor de 30 distribuciones, la mayoría para el sistema operativo Linux y en menor medida para Windows, aunque en este trabajo nos hemos centrado en las disponibles bajo Linux y con más detalle en aquellas que son libres, y que se distribuyen bajo la licencia GNU/GPL.


    Algunos ejemplos son:
    DistribuciónLicenciaEstadoArquitecturaÚltima Versión kernel
    ADEOSGNU/GPLActivoNano-kernel2.4.24 - --> 2.6.x
    RTAIGNU/GPLActivoMicro-kernel2.4.xx - --> 2.6.x
    RTLinux
    GNU/GPL && Open

    RTLinux Patent

    ParadoMicro-kernel2.4.21



    Otros ejemplos de Sistemas Operativos de Tiempo Real

    QNX
    (pronunciado Q.N.X. o Q-nix) es un sistema operativo de tiempo real basado en Unix que cumple con la norma POSIX. Es desarrollado principalmente para su uso en dispositivos empotrados. Desarrollado por QNX Software Systems empresa canadiense. Está disponible para las siguientes arquitecturas: x86, MIPS, PowerPC, SH4 (incluida la videoconsola Dreamcast con una versión muy limitada de este), ARM, StrongARM y xScale.

    QNX está basado en una estructura de micronúcleo, que proporciona características de estabilidad avanzadas frente a fallos de dispositivos, aplicaciones, etc.

    Photon o Photon microGUI es el sistema de ventanas (servidor y cliente) de QNX, aunque también funciona una versión X Window.

    Los sistemas operativos de tiempo real son interesantes para situaciones donde sea absolutamente necesaria una toma contínua de, por ejemplo, muestras de datos. Basándose en este interés, existen diversos proyectos para crear versiones en tiempo real de otros sistemas.

    Está orientado a su utilización en microcontroladores y sistemas críticos.




    VxWorks

    VxWorks es un sistema operativo de tiempo real, basado en Unix, vendido y fabricado por Wind River Systems. Como la mayoría de los sistemas operativos en tiempo real, vxWorks incluye kernel multitarea con planificador preemptive (los procesos pueden tomar la CPU arbitrariamente), respuesta rápida a las interrupciones, comunicación entre procesos, sincronización y sistema de archivos.

    Características

    Las características distintivas de VxWorks son:

    • el tratamiento de memoria
    • las características de multi-procesador
    • una shell de interfaz de usuario
    • monitor de rendimiento y depuración de código fuente y simbólico.
    VxWorks se usa generalmente en sistemas embebidos. Al contrario que en sistemas nativos como Unix, el desarrollo de vxWorks se realiza en un "host" que ejecuta Unix o Windows.
    En la actualidad, vxWorks puede ejecutarse en practicamente todas las CPU modernas del mercado de sistemas embebidos.Esto incluye la familia de CPUs x86, MIPS, PowerPC, SH-4, ARM, StrongARM y xScale



    Windows CE
    Es el sistema operativo de Microsoft incrustado modular de tiempo real para dispositivos móviles de 32-bits inteligentes y conectados. Windows CE nacio en 1994 y combina la compatibilidad y los ping a servicios de aplicación avanzados de Windows con soporte para múltiples arquitecturas de CPU y opciones incluidas de comunicación y redes para proporcionar una fundación abierta para crear una variedad de productos. Windows CE impulsa a los dispositivos electrónicos del cliente, terminales Web, dispositivos de acceso a Internet, controladores industriales especializados, computadoras de bolsillo, computadoras de revelado fotográfico, dispositivos de comunicación incrustados e incluso consolas de videojuegos como fue en el caso de la Sega Dreamcast (1997 - 2001) con procesador SH4 de 128 Bits que ya con un sistema operativo propio, incluía compatibilidad con los kits para desarrollo de software de Windows CE.
    Windows CE no es un subconjunto de Windows XP, o de Windows NT, sino que fue desarrollado a base de nuevas arquitecturas y una nueva plataforma de desarrollo. Aun así mantiene cierta conexión con sus hermanos. Windows CE tiene sus propias APIs para desarrollo, y necesita sus propios controladores para el hardware con el cual va a interactuar. Windows CE no es un sinónimo de Windows XP en forma pequeña, incrustada o modular.
    Windows CE también ha permitido la creación de un sistema denominado AutoPC, que consiste en un PC empotrado en un automóvil y que va ubicado donde normalmente va una radio. De esta manera permite controlar la radio, el reproductor de CD y revisar el correo electrónico. Windows CE también permite la creación de aplicaciones en tiempo real.
    La última versión del Windows CE actualmente es Windows Mobile 6.5, Upgrade de Windows Mobile 6.1, sirve tanto para Pocket PC (PDA) como para SmartPhone ya que tiene una interfaz modificada para mas facilidad en la navegacion tactil.
    Cabe destacar que este sistema operativo es el único producto de Microsoft que se distribuye junto con el código fuente, y usa una licencia llamada Shared Source, así pues permite al usuario final modificar el código fuente sin notificar al propietario.
    Una de las funcionalidades de este sistema operativo es que permite acceder via terminal server a un equipo remoto como si fuese un PC de escritorio.






    DuinOS




    DuinOS es un sistema operativo de tiempo real desarrollado por RobotGroup. Este sistema agrega multitarea preventiva al entorno Arduino. Está basado en un robusto kernel como lo es FreeRTOS y es completamente de código abierto.
    Symbian es un sistema operativo que fue producto de la alianza de varias empresas de telefonía móvil, entre las que se encuentran Nokia, Sony Ericsson, Psion, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, Sharp, etc. Sus orígenes provienen de su antepasado EPOC32, utilizado en PDA's y Handhelds de PSION.

    El objetivo de Symbian fue crear un sistema operativo para terminales móviles que pudiera competir con el de Palm o el Windows Mobile de Microsoft y ahora Android de Google Inc. , iOS de Apple Inc. y Blackberry 6 RIM.


    Symbian OS
    Desarrollador Symbian Foundation
    Información general

    Última versión estable Symbian^3 Q1 2010
    Última versión en pruebas Symbian^4 Q2 2010
    Interfaz gráfica por defecto S60, UIQ, MOAP
    Estado actual En desarrollo
    Idiomas Multilenguaje
     
     

Comentarios

  1. Muy bien Jesus. Muy interesante lo que encontraste sobre DuinOS. Excelente grafica. Unicamente te recomiendo que revises el texto y elimines los hipervinculos (links) porque da la impresion de que cortaste-pegaste el texto INTEGRO de la fuente de consulta.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Introducción a la lógica matemática - Cap. 2 Reglas de Inferencia.

Introducción a la lógica matemática - Cap. 4 Tablas de certeza

Hubo un problema pero puedes intentarlo de nuevo Windows error OOBEEULA