¿Por qué es necesario un Sistema Operativo?

Por qué es necesario un Sistema Operativo

Ya hace mucho desde que se empezaron a usar los sistemas operativos.

Normalmente vienen instalados. No solo los PC con Windows, cualquier smartwatch o videoconsola viene con su propio sistema. Otras veces lo elegimos e instalamos nosotros. Pero en todos los casos damos por hecho que lo necesitamos.

¿Alguna vez te has preguntado por qué? ¿Podríamos trabajar sin uno? ¿Qué tienen en común la RAM con las patatas fritas?

El sistema operativo es tu chef personal

Suena raro, pero verás que no lo es tanto.

Imagina que tienes una cocina con utensilios y aparatos que no sabes usar. Podrías intentar aprender cómo funciona cada uno, o podrías pedir ayuda a un chef.

La cocina es tu computadora, las herramientas de cocina son los diferentes componentes del hardware, y el chef es el sistema operativo.

Vamos a utilizar esta analogía a lo largo del post, para poder ilustrar mejor la idea de qué hace y para qué sirve el sistema operativo.

¿Podría usarse una computadora sin un sistema operativo?

La respuesta corta es que sí se puede, pero sería demasiado complejo y costoso trabajar con ese ordenador.

De hecho, las primeras computadoras no tenían sistema operativo, aunque por aquel entonces esos aparatos eran muy diferentes a los de ahora. Funcionaban con tarjetas perforadas, ocupaban toda una habitación y el usuario era quien programaba lo que debía hacer la máquina.

En el caso de nuestra cocina imaginaria, sería equivalente a decir que no te quedaría otra que aprender a utilizar cada uno de los utensilios de tu cocina. Si fuera muy pequeña y con pocos aparatos, no sería demasiado complicado, pero te obliga a convertirte en un cocinero para usarla.

Con el paso del tiempo los ordenadores empezaron a cambiar, y poco a poco empezaron a aparecer usuarios que no eran especialistas en programación.

El sistema operativo ayuda a los usuarios

Volviendo a nuestro amigo cocinero, podemos pedirle que nos prepare una tortilla de patatas. En caso que no sepa cómo se hace, "instalamos" una nueva receta descargada de internet.

Como ves, está facilitando el trabajo al usuario: tan solo hay que comunicarse con el chef. No necesitamos saber qué hará después de nuestro pedido, solo saber cómo pedírselo. El chef proporciona una interfaz al usuario.

Habitualmente se dice que los sistemas operativos son para que el usuario pueda interactuar con la computadora, y que pueda instalar y ejecutar los programas.

Esta explicación es cierta pero incompleta, ya que también cumplen con una función igual o más importante: ayudar al programador.

Gracias al sistema operativo, el programador puede construir sus aplicaciones sin preocuparse de cómo funciona el hardware en el que se ejecutará.

El sistema operativo gestiona el hardware

Pues sí, este sería el punto más importante de todos.

Los sistemas operativos son piezas de software que tienen la responsabilidad de gestionar el hardware, en todos los aspectos.

Se encarga de pasar las imágenes de una película por la pantalla, así como también del sonido a los altavoces. Nos lee el teclado cuando redactamos un texto y también pone en marcha la CPU para cualquier operación.

Si no usáramos sistemas operativos, los programadores deberían encargarse de todos estos detalles.

Lo mismo sucede en nuestra cocina imaginaria.

El programador que ha creado la receta de tortilla de patatas no debe preocuparse de cómo va a dorarse la cebolla (porque la tortilla siempre con cebolla). Sabe que su receta terminará en manos de un buen chef y éste sabrá cómo dorar la cebolla.

Si no fuera así, el programador debería detallar cómo se dora la cebolla, algo básico en cocina, explicando no solo los tiempos, sino también qué herramientas usar.

El sistema operativo ayuda a los programadores

En el mercado existen diferentes componentes de hardware y de diferentes marcas, y a menudo no funcionan igual.

De la misma manera, las cocinas pueden ser muy diferentes, y mientras unas utilizan fogones de gas, otras vitrocerámica.

¡Menuda locura para los programadores! ¿Cómo nos organizamos así? Pues con las llamadas al sistema.

Volviendo al ejemplo anterior, una llamada al sistema sería "dorar la cebolla".

Cada sistema operativo tiene un conjunto de llamadas al sistema para que el programador pueda interactuar con el hardware. Gracias a ellas, el programador puede exprimir el uso de la computadora sin preocuparse de qué hardware tendrá el usuario final.

Una vez instalados los drivers, nuestro chef conoce bien cómo funcionan las herramientas de esa cocina, y si en la receta dice "freír las patatas" sabrá qué sartén usar y cómo funcionan los fogones.

¡O quizás usará la freidora! El chef decide.

Ahora bien, si hemos construido una aplicación con las llamadas de un sistema en concreto, solo funcionará en ordenadores con sistemas operativos que usen las mismas llamadas. Es por eso que existen los famosos problemas de compatibilidad entre aplicaciones para Windows, MacOS y Linux.

Aunque se trate de la misma cocina, las llamadas serán diferentes según el chef. Al primero había que programarle recetas con la instrucción "freír las patatas", pero puede haber otro que solo entienda "fritar las patatas".

Sin embargo, si cambiamos de chef pero resulta que el nuevo entiende las mismas instrucciones que el anterior, la misma receta será compatible en ambos sistemas operativos (o cocineros, ya me entiendes).

¿Y de postre?

El sistema operativo brinda una gran cantidad de funciones en la computadora que no hemos comentado, como seguridad, detección de virus, conexiones red, etc.

Pero los chefs profesionales nunca trabajan solos: estará con ayudantes de cocina, camareros y puede que incluso con un responsable de seguridad en la entrada.

Mi intención no es detallar en este post todas las funciones del sistema operativo, sino dar a entender por qué necesitamos uno en cada computadora.

¡Espero haberte ayudado y bon appetite!

Comentarios

Entradas populares de este blog

¿Terminal o Shell? Qué son y en qué se diferencian

Café con Bits 7 ☕ Motivación: hacer un videojuego

Zoom: el algoritmo de los puntos de fuga