"comprehendere scire est"

Divisor

Consejo Nacional para el Entendimiento Público de la Ciencia.

Comparativa de sistemas operativos de tiempo real y sistemas operativos de tiempo compartido, para plataforma intel x86 y sus compatibles


Alfredo De La Barrera González + ; Diego Alejandro Garnica Arriaga + ; Pedro Guevara Lopez + Escuela Superior De Ingeniería Mecánica Y Eléctrica ( Culhuacán ) - IPN, México

Funciones de un Sistema Operativo
El Sistema operativo (SO) para computadora es el núcleo del programa que controla las funciones de entrada y salida de datos en una computadora, administra los servicios, recursos y funciones que están disponibles para programas de aplicación específica con los que son compatibles; es el software que permite al usuario interactuar con el hardware de la computadora de forma transparente, controla las asignaciones de memoria, administra las solicitudes del sistema, facilita y administra la información obtenida, y en caso de existir administra los archivos y las conexiones de red.

Plataforma X86, es la denominación genérica de ciertos microprocesadores de la marca Intel, sus compatibles y la arquitectura básica a la que pertenecen estos procesadores, por la terminación de sus nombres numéricos: 8086, 80286, 80386, 80486, etc. Más recientemente en Pentium IV y multinucleo, han constituido desde su nacimiento un estándar para los ordenadores del tipo compatible con IBM.


La comercial popularidad de esta arquitectura hizo que muchos fabricantes, además de Intel, empezaran a fabricar en masa microprocesadores basados en esta arquitectura. Estas compañías son entre otras AMD, Cyrix, NEC Corporation y Transmeta [1]. 

Un sistema operativo es un programa que le permite a la computadora poder ejecutar y administrar diferentes programas de aplicación específica, están diseñados con una gran cantidad de memoria tipo RAM, con el fin de que se puedan ejecutar los diferentes programas de aplicación del usuario, una memoria de almacenamiento (disco duro), donde se puedan guardar los programas así como los datos por procesar e incluso los procesados. Es la parte operativa de un hardware basado en un CPU o microprocesador de buenas prestaciones como los de la plataforma Intel x86 y los compatibles como los de AMD. Estas computadoras constan de dispositivos de entrada de información, de almacenamiento y de salida de datos.

Un sistema operativo embebido es un sistema de computación contenido en un circuito integrado diseñado para realizar tareas específicas y de poco volumen de manejo de datos, la aplicación es fija y en muchas ocasiones el sistema resultante no tiene el aspecto de una computadora como comúnmente se conoce, el hardware donde se utilizan está basado en un microprocesador, micro controlador o DSP, con el fin de que tenga pocos componentes externos y sea compacto. Pudiendo funcionar como sistema operativo de tiempo real, tiempo compartido o como lo requiera la aplicación. Como ejemplos se tienen impresora, modem, mouse, reproductor digital de música, etc.

Los sistemas operativos a su vez se pueden subdividir en dos grupos principales: los de tiempo compartido y los de tiempo real.

Uno de los primeros SO que gozaron de gran popularidad es el MSDOS (Microsoft Disk Operating System, Sistema operativo en disco de Microsoft). Tenía la característica de ser monousuario y mono tarea; Microsoft es la compañía que lo diseño, e IBM la empresa que lo hizo estándar al adoptarlo en sus computadoras personales. En su inicio este sistema operativo empleaba discos flexibles con una organización determinada [2]. Los discos se podían grabar por una o por dos caras y la información se organiza en 40 pistas de 8 ó 9 sectores de un tamaño de 512 caracteres, reservándose el sistema para la propia información del disco, que puede ser disco removible o disco duro, teniendo en el segundo más capacidad pero similar estructura.

Sistemas operativos de tiempo compartido
Los sistemas de tiempo compartido se crearon para brindar el uso interactivo de un sistema de computador a un costo razonable. Un sistema operativo de tiempo compartido utiliza técnicas de planificación y programación concurrente para dar la apariencia que se están ejecutando simultáneamente múltiples procesos y ofrecer a cada usuario una pequeña porción del tiempo de una computadora. Cada usuario tiene por lo menos un programa individual en la memoria. Su introducción en los años 1960, y su asentamiento como modelo típico de la computación en los años 1970, representa un cambio importante en la historia de la computación. Al permitir que un gran número de usuarios interactuara simultáneamente en una sola computadora, el coste del servicio de computación bajó drásticamente, mientras que al mismo tiempo hacía la experiencia computacional mucho más interactiva. Este tipo de SO Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, está la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario. Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al SO, principalmente en la administración de memoria principal y secundaria [3].

CARACTERÍSTICAS DE UN SISTEMA OPERATIVO TIEMPO COMPARTIDO [4]

  1. Dan la apariencia de que cada usuario tiene una máquina para sí mismo.
  2. La mayoría utilizan algoritmo de planificación circular. Es decir, a cada proceso se le da un fracción de tiempo para ejecutarse y al terminar esta, se ejecuta el siguiente proceso. El primer proceso se forma hasta que le toque su turno nuevamente.
  3. Evitan monopolizar el procesador; esto se logra asignando tiempos de procesador durante el cual se permite ejecutarse de forma ininterrumpida una parte del código de un proceso.
  4. La gestión de archivos y memoria, debe proporcionar protección y control de acceso debido a que pueden existir múltiples usuarios accesando un mismo archivo.
  5. Pueden ser multiusuario, esto es, el uso de un sistema por más de una persona al mismo tiempo.

En este aspecto, es similar a la capacidad de multitareas que es común en la mayoría de las microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con el acceso de varios usuarios a computadoras más grandes y a organizaciones de servicios, mientras que la multitarea relacionada con las microcomputadoras implica la realización de múltiples tareas por un solo usuario.


Ejemplos de sistemas operativos de tiempo compartido
Los SOTC son muy comerciales, generalmente vienen preinstalados en las computadoras nuevas, algunos ejemplos de ellos son:

  • Mac OS. El lanzamiento oficial del ordenador Macintosh en enero de 1984. Incluía su sistema operativo Mac OS, cuya características novedosas era una GUI (Graphic User Interface), Multitareas y Mouse. Provocó diferentes reacciones entre los usuarios acostumbrados a la línea de comandos y algunos tachando el uso del Mouse como juguete.
  • Microsoft Windows. A mediados de los años 80´s se crea este sistema operativo y hasta Windows 3.11 solo era una interfaz gráfica del MSDOS, en el cual se disponía de unos diskettes para correr los programas, pero no es hasta la salida de Windows 95 que se le puede considerar un sistema operativo como tal. Hoy en día es el sistema operativo más difundido en el ámbito comercial aunque también hay versiones para servidores como Windows NT y Server 2000 . Años después se hizo el Windows 98 que era el más eficaz de esa época. En el año 1999, y en vísperas del cambio de milenio, se liberó el sistema operativo de Windows Me, (Millenium Edition). Un año después se liberó el sistema operativo Windows 2000. Después le seguiría el sistema operativo más utilizado en la actualidad, Windows XP y otros sistemas operativos de esta familia especializados en las empresas. Ahora el más reciente es Windows 7 (Windows Seven) que salió al mercado el 22 de octubre del 2009, dejando atrás al Windows Vista, que tuvo innumerables criticas durante el poco tiempo que duró en el mercado [5].
  • LINUX.Sistema operativo libre, similar a UNIX, desarrollado colectivamente por miles de programadores en todo el mundo desde 1991, evolucionando de un proyecto de programación de un par de personas. Su código es completamente gratuito y es un sistema dinámico que se encuentra en constante actualización. Es posible obtenerlo desde diferentes puntos de Internet [6].
  • SOLARIS UNIX es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy [9], para su uso en mini computadoras. El primer sistema operativo de Sun nació en 1983 y se llamó inicialmente SunOS. Estaba basado en el sistema UNIX BSD, de la Universidad de California en Berkeley, del cual uno de los fundadores de la compañía fue programador en sus tiempos universitarios. Más adelante incorporó funcionalidades del System V, convirtiéndose prácticamente en un sistema operativo totalmente basado en System V. Solaris es un sistema operativo desarrollado actualmente por Oracle Corporation como sucesor de SunOS. Es un sistema certificado oficialmente como versión de Unix. Funciona en arquitecturas SPARC y x86 para servidores y estaciones de trabajo [7].

Sistemas operativos de tiempo real.
Un Sistema en Tiempo Real es aquel sistema que interactúa con eventos físicos del mundo real y del que se espera una respuesta correcta y a tiempo, en el que el tiempo de respuesta dependerá de la dinámica y comportamiento específico del proceso. Es importante hacer notar el factor tiempo, ya que para determinado proceso puede ser extremadamente pequeño y para algunos otros puede ser grande, siendo estos tiempos de respuesta de nanosegundos llegando a horas o incluso hasta de días, para obtener las respuestas correctas en sincronía con el mundo real.

Un SOTR debe cumplir con las características de un SOTC; además de obedecer restricciones temporales que imponga el mundo real debe ser robusto y estable, tolerante a fallas y de núcleo relativamente compacto. En función del cumplimiento de sus restricciones temporales se presenta la siguiente clasificación.
En general un SOTR, proporciona soluciones de tiempo real, como son control de procesos, automatización, interface hombre máquina, adquisición de datos, sincronización, sistemas embebidos, integración con bases de datos, transacciones online, comunicaciones, correo electrónico, sistemas telefónicos interactivos con respuesta por voz, acceso remoto, monitoreo, supervisión, visualización dinámica de datos y presentación de información a través de Internet solo por mencionar algunos ejemplos.

Ejemplos de sistemas operativos de tiempo real
QNX (pronunciado Q.N.X. o Quiunix), ampliamente utilizado en la actualidad, en plataformas x86 principalmente. Se trata de un sistema operativo de tiempo real, multitarea, multiusuario y multiplataforma que cumple la norma POSIX de estándar UNIX. Con QNX se acaban las preocupaciones sobre la robustez del sistema a las que estamos acostumbrados en los sistemas Windows. Hay máquinas QNX trabajando ininterrumpidamente durante años sin que sea necesario resetear el equipo. La arquitectura de QNX y los principios seguidos en su desarrollo, ofrecen una herramienta sumamente potente para soportar aplicaciones críticas con un hardware bastante ajustado. El núcleo de QNX está diseñado para proporcionar tiempo real y para tener una máxima capacidad a la hora de diseñar aplicaciones a medida para hardware específico, donde el espacio disponible para almacenamiento es crítico. Existen múltiples aplicaciones en el mercado desarrolladas con QNX Neutrino y con versiones anteriores de QNX. Entre las prestigiosas empresas conocidas a nivel mundial que han desarrollado aplicaciones con este sistema operativo de tiempo real, podemos citar las siguientes: CISCO; IBM, 3COM; Philips; NASA; INDRA; FCC, etc. [9]

LynxOS RTOS es un sistema operativo de tiempo real tipo Unix de LynuxWorks (anteriormente "Lynx RealTime Systems"). Es de tipo multitarea, lo que significa que la computadora puede estar “haciendo” varias cosas a la vez, y el usuario no tiene que esperar a que termine una para hacer otra, la la multitarea está controlada por el sistema operativo no por las aplicaciones, por lo que a diferencia de otros sistemas operativos nunca

CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS DE TIEMPO REAL (SOTR):

  • De misión crítica. También conocidos como hard, en los que el tiempo de respuesta debe estar en sincronía con la dinámica del proceso con el que interactúa entregando siempre respuestas correctas. Estos SOTR, deben cumplir siempre las restricciones de tiempo para la entrega de la respuesta, si no fuera así no serían de operación crítica, pudiendo ocasionar pérdidas de información o respuestas erróneas. Sus características más sobresalientes son que su operación es perfectamente predecible aun con cargas excesivas de tareas y su respuesta es determinada por el mundo real del que procesa información, manejan un volumen reducido de datos, lo más importante es que su respuesta debe ser obtenida estrictamente en el tiempo prefijado por el proceso. Ejemplo del uso de estos sistemas es en satélites de comunicaciones civiles o militares, en aviones o naves espaciales, plantas nucleares, estaciones de radio y televisión digital, etc. equipos que requieren de mucha precisión en su respuesta correcta y a tiempo [8].
  • No críticos o soft. En estos aunque como en el anterior, la restricción está definida por las variables del mundo real, de acuerdo a la computadora empleada es permisible una entrega de información con pequeños retrasos de tiempo por lo que son flexibles en esta restricción, en consecuencia son relativamente estables pero no muy robustos, pueden ser tolerantes a fallas, baja su desempeño con cargas excesivas de tareas por realizar, no es requisito la seguridad informática y de operación, pueden manejar grandes volúmenes de información. Ejemplo de aplicación de estos SOTR son plantas de generación de electricidad, etc.

En un SOTR, se requiere de una computadora con las características y plataforma para el que fue desarrollado el SOTR, que mínimamente deben tener convertidores de señal analógica a digital (ADC) para poder ser procesadas por la computadora, así como salidas que actuaran de acuerdo al algoritmo del programa de control del proceso del que se trate por lo que también son necesarios convertidores de señal digital a analógico (CDA). En la actualidad se han desarrollado SOTR para computadoras personales, PC IBM y sus clones con procesadores de plataforma x86 y Pentium, microprocesadores AVR, Motorola, Microchip, por mencionar solo algunos.

Los sistemas de hardware pueden ser de propósito general y algunos otros han sido diseñados específicamente para trabajar con un SOTR específico.

En general un SOTR, proporciona soluciones de tiempo real, como son control de procesos, automatización, interface hombre máquina, adquisición de datos, sincronización, sistemas embebidos, integración con bases de datos, transacciones on-line, comunicaciones, correo electrónico, sistemas telefónicos interactivos con respuesta por voz, acceso remoto, monitoreo, supervisión, visualización dinámica de datos y presentación de información a
través de Internet solo por mencionar algunos ejemplos.

Ejemplos de sistemas operativos de tiempo real
QNX
(pronunciado Q.N.X. o Quiu-nix), ampliamente utilizado en la actualidad, en plataformas x86 principalmente. Se trata de un sistema operativo de tiempo real, multitarea, multiusuario y multiplataforma que cumple la norma POSIX de estándar UNIX. Con QNX se acaban las preocupaciones sobre la robustez del sistema a las que estamos acostumbrados en los sistemas Windows. Hay máquinas QNX trabajando ininterrumpidamente durante años sin que sea necesario resetear el equipo. La arquitectura de QNX y los principios seguidos en su desarrollo, ofrecen una herramienta sumamente potente para soportar aplicaciones críticas con un hardware bastante ajustado. El núcleo de QNX está diseñado para proporcionar tiempo real y para tener una máxima capacidad a la hora de diseñar aplicaciones a medida para hardware específico, donde el espacio disponible para almacenamiento es crítico. Existen múltiples aplicaciones en el mercado desarrolladas con QNX Neutrino y con versiones anteriores de QNX. Entre las prestigiosas empresas conocidas a nivel mundial que han desarrollado
aplicaciones con este sistema operativo de tiempo real, podemos citar las siguientes: CISCO; IBM, 3COM; Philips; NASA; INDRA; FCC, etc. [9]
LynxOS RTOS es un sistema operativo de tiempo real tipo Unix de LynuxWorks (anteriormente "Lynx Real-Time Systems"). Es de tipo multitarea, lo que significa que la computadora puede estar “haciendo” varias cosas a la vez, y el usuario no tiene que esperar a que termine una para hacer otra, la la multitarea está controlada por el sistema operativo no por las aplicaciones, por lo que a diferencia de otros sistemas operativos nunca se quedará parado por causa de una mala aplicación que consuma todos los recursos de la computadora. En LynxOS, pueden
ejecutarse varios usuarios utilizando simultáneamente la computadora, compartiendo los recursos del CPU o microprocesador, así se pueden instalar dos pantallas y teclados, y estar una persona navegando por Internet, escribiendo una carta, jugando en su pantalla, mientras el otro usuario está en otra realizando
una aplicación diferente, y estarán ambos trabajando en la misma computadora. LynxOS garantiza la privacidad y la seguridad de los datos entre usuarios. Con amplio manejo en comunicaciones de misión crítica, para computadoras y equipo embebido, para aplicaciones de seguridad, militares, instituciones
financieras, manejo de energía, etc. [10].

VxWorks es un SO 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. Las características distintivas de VxWorks son: la compatibilidad POSIX, tratamiento de memoria, las características de multiprocesador,
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 Una vez que se han descrito algunas de las características de los SOTR y de los SOTC, se puede hacer una comparativa en cuanto a características, desempeño y aplicaciones.

Conclusiones
Los SOTC, son de propósito general, donde la seguridad del tiempo de respuesta del proceso no es un factor determinante, mientras que los SOTR interactúan con eventos físicos del mundo real, y del que se espera una respuesta correcta y a tiempo, se utilizan ampliamente es aplicaciones de misión crítica, con respuesta
exacta y a tiempo, principalmente en aplicaciones específicas y en sistemas embebidos de seguridad informática, aviación, militar, etc. Por lo que depende de la aplicación y necesidad del usuario para poder determinar el sistema que va requerir para satisfacer su tarea o actividades.

Fuentes.
Cómo citar este artículo ISO690.
Portada Aleph-Zero

Aleph-Zero 63


Revista de Educación y Divulgación de la Ciencia, Tecnología y la Innovación

Matemático rechaza la medalla fields .

Divulgadores. Liz Ramiro + Departamento de Actuaría, Física y Matemáticas, Escuela de Ciencias, Universidad de las Américas Puebla.

Biotecnología: el escalón que utiliza la ganadería de bovinos para alcanzar el mejoramiento genético .

Divulgadores. Francisco Alejandro Paredes Sánchez + Centro De Biotecnología Genómica, Instituto Politécnico Nacional.

Comparativa de sistemas operativos de tiempo real y sistemas operativos de tiempo compartido, para plataforma intel x86 y sus compatibles .

Divulgadores. Alfredo De La Barrera González + ; Diego Alejandro Garnica Arriaga + ; Pedro Guevara Lopez + Escuela Superior De Ingeniería Mecánica Y Eléctrica ( Culhuacán ) - IPN, México.

Spodoptera frugiperda: una plaga que está coevulucionando .

Divulgadores. Elsa Verónica Herrera Mayorga + Centro De Biotecnología Genómica, Instituto Politécnico Nacional, Reynosa, Tamaulipas, México.

Bacillus thuringiensis, el ingrediente activo de bioinsecticidas .

Divulgadores. Isela Madai Alba Moreno Tiss: + Centro de Biotecnología Genómica, Instituto Politécnico Nacional Reynosa, Tamaulipas, México.; .

Fenómenos naturales y paisaje .

Divulgadores. Julio Cesar Morales Hernández + ; Jorge Téllez López + Centro Universitario De La Costa, Universidad De Guadalajara, Puerto Vallarta, Jal.; Fátima Maciel Carrillo González + ; Víctor Manuel Cornejo López + ; Luis Manuel Farfan Molina + Cicese. Centro De Investigación Científica Y Estudios Superiores De Enseanda, Unidad De Meteorología, Cedela Paz, B.c.s..

Actimel vs mortadela con aceitunas .

Divulgadores. Francisco Angulo + .

No. 63 enero - marzo 2012 .

Editorial. Redacción + 3ra Consejería.- Divulgación, Publicaciones y Medios.

Concepción matemática defectuosa y desempeño matemático estudiantil en carreras de ciencias económicas y sociales .

Educadores. Cirilo Orozco Moret + Universidad De Carabobo. Unidad De Investigación En Educación Matemática Uiemat; Jesús Parra Arroyo + Universidad De Carabobo. Unidad De Investigación En Educación Matemática Uiemat.

Un breve acercamiento a los sistemas operativos en tiempo real embebidos .

Tecnólogos. Luis De Jesús Beltrán Sosa + ; Pedro Guevara López + Escuela Superior De Ingeniería Mecánica Y Eléctrica (culhuacán) - Ipn, México.

¿Código malicioso en mi mac? .

Tecnólogos. Jesús Audelo González + ; Pedro Guevara López + ; Gustavo Delgado Reyes + Escuela Superior De Ingeniería Mecánica Y Eléctrica (culhuacan) - Ipn, México.