Consejo Nacional para el Entendimiento Público de la Ciencia.
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]
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:
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):
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.
Divulgadores. Liz Ramiro + Departamento de Actuaría, Física y Matemáticas, Escuela de Ciencias, Universidad de las Américas Puebla.
Divulgadores. Francisco Alejandro Paredes Sánchez + Centro De Biotecnología Genómica, Instituto Politécnico Nacional.
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.
Divulgadores. Elsa Verónica Herrera Mayorga + Centro De Biotecnología Genómica, Instituto Politécnico Nacional, Reynosa, Tamaulipas, México.
Divulgadores. Isela Madai Alba Moreno Tiss: + Centro de Biotecnología Genómica, Instituto Politécnico Nacional Reynosa, Tamaulipas, México.; .
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..
Divulgadores. Francisco Angulo + .
Editorial. Redacción + 3ra Consejería.- Divulgación, Publicaciones y Medios.
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.
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.
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.