¿Que es un sistema operativo y en especial un RTOS? Primera parte…

Introducción

Aunque tengo muchas cosas sobre las que escribir, transmitir y compartir, empiezo de a poquito sobre este tema. Voy a intentar transmitir algunos conceptos básicos sobre este tema, además de llevar la estructura primaria a sistema de bajo nivel y algo de hardware. Estos post van a tratar de dirigirse a personas que intentan entrar en el tema, aunque sí les digo que posiblemente se encuentren con material técnico díficil de comprender si no tienen la capacitación adecuada. Pero no se preocupen, puede (cómo a mí ya me ocurrio) inspiralos a buscar un entrenamiento intensivo sobre estos temas en un modo formal.

Sistema operativo

¡Ya empezamos a complicarnos sólo con la denominación! Uno tiende a suponer que un sistema es un conjunto de mecanismos que pueden ser relativamente simples para formar algo más complicado, esto no es del todo cierto, les recomiendo que revisen el siguiente artículo para solventar dudas. Lo que sí puede ser es que por operativo entiendan que se produce una operación, una ejecución, primordialmente aunque la idea de sistema pudiera distar un poco de la definición formal, los sistemas aparentan una acción en conjunto, por ende, puede que esta denominación sea algo redundante. Por el momento pensemos que en informática sería un programa que ejerce una especie de administración sobre otros programas y sobre la plataforma de hardware dónde nos encontremos para el correcto y eficiente funcionamiento del o los procesos que se están involucrando. En wikipedia hay un interesante artículo.

¿Porqué un sistema operativo?

Bueno hay que hacer un poco de historia sobre esto, pero existe una cantidad más que suficiente de información respecto a este tema. Vamos a tratar de deducir que puede llevar a generar este concepto.

Primero, hoy es complicado explicar de forma sencilla que es un SO (sistema operativo de ahora en adelante), cómo dijo la madre de Linus Torvals a él se le hacía más fácil comprender el funcionamiento de una PC puesto que eran mucho más sencillas que las de hoy en día… Piensen que sus computadoras son una cocina (esta forma de asociación es la más básica que producimos lo humanos por lo general). Imaginen que deben hacer una cena familiar, por ejemplo para un cumpleaños, obviamente van a cocinar varias comidas. ¿Ahora por donde comienzan? Lo lógico es tener una idea previa de cuantas personas van a venir a la cena, estimar la cantidad de comida a hacer, como repartir los gastos de hacer la cena (aunque este paso no es esencial para el ejemplo pero si en la vida real), etc. Podemos proponer algunos nombre técnicos y denominar cómo recursos a la cocina, heladera, electrodomésticos en general. Aquí comienza lo interesante, debemos generar una solución de compromiso para hacer los platos a ingerir.

¿Por qué? Sí sólo hacemos un plato no habría mayores problemas, pero obviamente no estamos logrando la cena que queríamos en primer lugar. Aún siendo que seamos malos cocineros o también perezosos en general intentaremos cocinar de forma “concurrente”, o sea, de forma paralela. Dividiremos los platos en subconjuntos definidos, los cuales tengan procesos, cocciones en común. Intentaremos simplificar las tareas. Comenzaremos a cocinar los alimentos que requieren más tiempo de cocción mucho antes. Intenamos intuir los tiempos de preparación de cada uno de estos platos para así al momento de servirlos lleguen a la mesa con la temperatura, texturas y sabores correctos.

Hagamos el ejercicio mental de intercambiar los nombres de cocina por procesador, electrodomésticos por periféricos, etc. Eso es lo que hace el sistema operativo, es conceptualmente un mutación de nuestra solución de compromiso, de nuestra preparación de la cena. Ahora el problema radica en que en el mundo informático-electrónico requiere mucha más precisión y procedimientos exactos de los que utilizamos en nuestras cena. Las tolerancias son extremadamente pequeñas, las abstracción infinitamente enormes.

¿Y ahora qué es un RTOS?

Aunque creamos que entendemos lo que es un SO, estamos aún algo lejos. Sin embargo podemos intentar comprender los que es un RTOS. Más allá de la forma en que nació un sistema operativo podemos aproximar conceptos, un RTOS o Real Time Operating System (Sistema operativo en tiempo real) es transparente para el usuario pero sí procede de forma en que la respuesta a una entrada sea instantánea. O sea, en muchas de las aplicaciones de uso diario esta condición se da, pero no en todas, si aprieto un tecla particular del teclado existe una respuesta que para mí es en general inmediata. Pero hay acciones cómo cargar un página web que pueden generar molestias cuando se producen algunos segundos de demora. En un RTOS estos tiempos son prácticamente nulos desde nuestra postura de usuario.  No todos los sistemas requieren de un RTOS pero hay muchos que sí. Un ejemplo bastante introductorio sería el sistema informático que comanda un láser para operación oculares. ¡Nadie quiere que tarde segundos en determinar la posición, potencia y desplazamiento del haz en nuestros globos oculares!

¿Porqué no tengo instalado un RTOS en mi PC?

Si usted se esta preguntado esto, apoya mi afirmación que todavía no sabemos lo que és un SO y en tal caso todavía la idea de un RTOS no es completa. Un RTOS presenta ventajas por sobre los SO convencionales que conocemos pero a su vez, cada tipo de SO y sus medios de operación tienen un sentido de operación discriminado según las operaciones que necesitamos realizar. Responder a esta pregunta es muy difícil porqué desconozco que PC tiene y menos para que la utiliza o quiere utilizar, pero en general podemos suponer que usted no requiere un RTOS, es más, sería una mala idea que usted lo instalara, pero ya comente que no conozco el contexto cómo para asegurar esto.

En resúmen

En esta primer post pretendo dejar claro que aunque no soy la persona más capacitada sobre estos temas, si tengo varios años leyendo sobre estos temas. El último año mi trabajo sobre esto fue bastante arduo, desarrollando conceptos, códigos, trabajando con diferentes plataformas y hasta logrando un proyecto con hardware para modelar un poco esta temática.

Lo primero es darnos una idea básica y conceptual sobre el significado del tema propuesto. Queremos saber hacia dónde dirigirnos, por eso esto es cómo abrir el mapa y marcar el punto de salida y el de llegada.

La clave es entender de la necesidad de administrar recursos, que no es más que un problema sumamente cotidiano pero al extrapolarlo a un sistema informático-electrónico requerimos abstraer y considerar una serie de problemas y escenarios que harán que las ideas tomen un forma mucho más entallada.

– Happy hacking –

2 thoughts on “¿Que es un sistema operativo y en especial un RTOS? Primera parte…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s