Cada día son millones y millones de personas los que encienden su ordenador del trabajo o de casa para trabajar, navegar por Internet o realizar todo tipo de tareas. En este caso, la mayoría de s únicamente se preocupan de si el ordenador va más o menos rápido, si se quedan sin espacio en disco, pueden comprar un monitor de mayor calidad o ampliar la memoria RAM para que todo vaya más fluido. Sin embargo, hay un elemento clave para el funcionamiento de nuestro equipo, y ese es el sistema operativo. Ahora bien, qué es exactamente un sistema operativo, para qué sirve y tipos hay.
Concretamente, sin un sistema operativo la gran mayoría de componentes de un ordenador no nos aportan nada, ya que es el encargado de que el equipo funcione y de que cualquier software pueda hacer uso del hardware necesario para su funcionamiento. Por esto, en el momento de comprar un ordenador, debemos fijarnos siempre si incluye el sistema o hay que comprarlo a parte para su posterior instalación, ya que, de esta manera, el equipo ni siquiera podrá encender hasta que no cuente con un sistema.
En la actualidad, te encontrarás con varios equipos que no tienen sistema operativo instalado por defecto para ahorrar costes en su distribución y para que los clientes elijan cuál es el de su interés, especialmente en ordenadores gaming, aunque lo verás en muchos otros.
Antecedentes
Hasta los años 70, el mundo de la informática en general, y de los sistemas operativos en particular, era muy precario. Sin embargo, desde la década de los 40 ya habían comenzado a darse algunos avances.
Década de 1940
Muchos consideran a Alan Turing, con su Máquina de Turing, como el precursor de la informática moderna. El matemático británico diseñó una máquina capaz de realizar procesos de forma automatizada utilizando algoritmos complejos para la época. El éxito de Turing con su Máquina radica en la utilización de la misma para descifrar los mensajes encriptados del sistema Enigma que los nazis empleaban en la Segunda Guerra Mundial para sus comunicaciones.
De hecho, los años siguientes al fin de la Segunda Guerra Mundial fueron claves para considerar la década de los 40 como la primera generación de computadoras del mundo. El funcionamiento, ahora caduco, pero en su día innovador, era muy básico. En la habitación, que no mesa, de mandos se colocaban multitud de micro interruptores. Cuando se pulsaba cualquiera de ellos se introducía el programa en la memoria. Estos programas debían ser diseñados con todo el código, toda la información necesaria, puesto que aún no existían los sistemas operativos como tal.
Si tienes curiosidad por el trabajo de Turing, es recomendable que veas la película biográfica que se estrenó en el año 2014, un film titulado Descifrando Enigma en el cual Benedict Cumberbatch encarnaba al protagonista.
Década de 1950
Aparecen lo que a algunos les comienza a sonar, las tarjetas perforadas y las cintas. Éstos eran los soportes que albergaban el código desarrollado para el funcionamiento de los programas. Su objetivo era cargar programas a la memoria para después ejecutarlos. El mayor problema al que debían hacer frente era el proceso de finalización de ejecución de un programa para comenzar con la ejecución del siguiente.
El mayor avance, realizado a finales de la década, fue el almacenamiento temporal. Con las memorias temporales se lograba solucionar el proceso de transición de un programa al siguiente. Se disminuyó considerablemente el tiempo de carga de los programas haciéndolo de forma simultánea, tanto la carga de un programa con la ejecución de la siguiente tarea. Se crearon las técnicas de buffering y spooling.
A día de hoy, lo general es encontrar sistemas operativos con interfaz gráfica, de esta manera, permiten que la interacción con los s sea mucho más sencilla e intuitiva. Su función principal es la de otorgar todas las herramientas necesarias para poder controlar nuestro PC y poder hacer uso de él de la manera más cómoda y sencilla. Pero, además, es el encargado de controlar y gestionar el a los recursos del ordenador, coordinar el hardware, organizar archivos, controlar el a los datos y procesamiento de las tareas, etc. Esta misma función la cumplen con otros dispositivos en que es instalado según el sistema operativo del que se trate.
¿Qué hace exactamente?
Entre las tareas que puede realizar este nos encontramos con que:
- Controla archivos y otros recursos a los que pueden acceder los programas o aplicaciones una vez que los ejecutes.
- Determina qué aplicaciones se ejecutan en el orden indicado y durante cuánto tiempo si tenemos varios programas que se pueden ejecutar a la vez
- Gestiona el intercambio de memoria interna entre varias aplicaciones
- Envía mensajes al o app sobre el estado de funcionamiento y errores
- Se encarga de la entrada y salida de datos hacia o desde los dispositivos de hardware que has conectado. Puede ser teclado, impresora, disco duro, puertos de comunicación y muchos otros
- Maneja la forma en que dividir un programa para que se ejecute en más de un procesador en los equipos con procesamiento en paralelo
- Otras necesarias para el buen funcionamiento del equipo
Entre sus principales inconvenientes está que si ocurre algún problema en el sistema operativo, podemos perder todos los contenidos que se han almacenado en el sistema. El software del sistema operativo es bastante costoso para las organizaciones de tamaño pequeño, lo que les añade una carga. Además, nunca es completamente seguro ya que una amenaza puede ocurrir en cualquier momento.
Partes de un sistema operativo
Un sistema operativo está formado por muchas partes, componentes o características y que pueden cambiar en función del tipo de sistema. Sin embargo, las partes del sistema más definidas y usadas por la gran mayoría de sistemas son:
- Kernel o núcleo. Un software que constituye una parte fundamental del sistema. Podríamos decir que es el corazón del propio sistema, y de ahí su nombre. Se define como la parte que se ejecuta en modo privilegiado o modo núcleo y que es el principal responsable a la hora de arrancar el propio sistema, proporcionar un control de nivel básico sobre todos los componentes hardware del ordenador y cuyas funciones principales son leer y escribir datos en memoria, procesar órdenes, interpretar datos, decidir qué programar podrá hacer uso de un determinado recurso y durante cuánto tiempo, etc. El Kernel se ejecuta en un área aislada para evitar que cualquier software malicioso pueda manipularlo. Puede ser monolítico o multinúcleo.
- Interfaz de . Es la parte que permite al interactuar con el ordenador. Esta interfaz puede ser gráfica, proporcionando un escritorio, ventanas y componentes gráficos para una interacción más intuitiva, o bien puede ser a través de una línea de comandos.
- Controlador de dispositivo o driver. Software encargado de permitir que el sistema interactúe con cualquier periférico. Aunque no siempre es necesario para el uso de un nuevo hardware, su uso es recomendado para evitar problemas, mejorar la seguridad y la experiencia de .
- Sistema de archivos. Es el componente del sistema operativo encargado de asignar el espacio a los archivos, istrar el espacio libre y del a los datos resguardados. Estructura la información guardada en la unidad de almacenamiento y la mayoría de sistemas maneja su propio sistema de archivos. Además, podríamos destacar otros componentes del sistema operativo como son:
- Sistema de protección. Encargado de obligar a utilizar mecanismos de protección, determinar los controles de seguridad a realizar o establecer diferencias entre el uso autorizado y no autorizado. Es el mecanismo que controla el de los programas o los s a los recursos del sistema o especificar los controles de seguridad a realizar. El módulo de seguridad protege los datos y la información de un sistema informático contra amenazas de malware y autorizado.
- Sistema de entrada y salida. Formado por un sistema de almacenamiento temporal (caché), una interfaz de controladores de dispositivos y otra de dispositivos concretos para que el sistema operativo pueda ser capaz de gestionar el almacenamiento temporal de entrada y salida y servir las interrupciones de los dispositivos E/S.
- Gestión de procesos. Encargado de crear, finalizar, parar o reanudar procesos y de ofrecer mecanismos para que los procesos puedan comunicarse y sincronizarse, así como posibilidad de establecer prioridades.
- Gestión de la memoria principal. Es una gran tabla de palabras o bytes donde se almacenan datos de rápido y que es compartida con la U y los dispositivos de E/S. Es volátil y permite al sistema saber qué partes de la memoria están siendo utilizadas o por quién, decidir los procesos que se cargarán en memoria cuando haya espacio, así como asignar y reclamar espacio cuando sea necesario.
- Gestión de almacenamiento secundario. Es necesario en un sistema operativo puesto que la memoria principal es volátil y además muy pequeña para almacenar todos los programas e información a tratar. Los sistemas tienen varios niveles de almacenamiento que incluyen almacenamiento primario, almacenamiento secundario y almacenamiento en caché. Las instrucciones y los datos deben guardarse en el almacenamiento primario o caché para que un programa en ejecución pueda hacer referencia a ellos.
- Sistema de comunicaciones. Para controlar el envío y recepción de datos a través de las interfaces de red. Este es un sistema distribuido es un grupo de procesadores que no comparten memoria, dispositivos de hardware ni reloj. Los procesadores se comunican entre sí a través de la red.
- Gestor de recursos. Encargado de gestionar los dispositivos de entrada y salida, programas o procesos en ejecución, la memoria secundaria o los discos y los recursos del sistema en general.
Llamadas al sistema
Cada sistema operativo implementa un conjunto propio de llamadas al sistema, es decir, un conjunto de llamadas es la interfaz que tiene el sistema operativo frente a las aplicaciones. Por lo que constituyen el lenguaje que deben usar las aplicaciones para comunicarse con este. Por ello si cambiamos de sistema operativo y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo sistema operativo tenga la misma interfaz. Para ello, las llamadas correspondientes deben tener el mismo formato y cada llamada al nuevo sistema operativo tiene que dar los mismos resultados que la correspondiente del anterior.
Por otro lado, las aplicaciones no deben poder usar todas las instrucciones de la U. No obstante, el sistema operativo tiene que poder utilizar todo el conjunto de instrucciones del U. Por ello, una U debe tener al menos dos modos de operación diferentes. Está el Modo , en el cual el U podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones. Y también el Modo supervisor, donde la U debe poder ejecutar el juego completo de instrucciones.
También hay que señalar en este caso que una aplicación normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que, si esta se codifica como una llamada de función, cualquier cambio en el sistema operativo haría que hubiera que reconstruir la aplicación. Además, debes saber que una llamada de función no cambia el modo de ejecución de la U.
Tipos de sistemas operativos
Es posible hacer diferentes clasificaciones de los sistemas operativos, como, por ejemplo, según el equipo o dispositivo donde se ejecutan o sus capacidades de procesamiento. En este sentido, podemos hablar de sistemas operativos que se ejecutan en ordenadores o dispositivos móviles, aunque más adelante veremos que puede haberlos para otros dispositivos o equipos.
Ordenadores
Sistemas como el propio Windows, macOS o Linux son los más populares o conocidos, pero no son los únicos y hay muchas alternativas o sistemas operativos de código abierto que podemos instalar. Especialmente diseñados para gestionar y controlar nuestros ordenadores y que se adaptan según lo que busquemos utilizar en concreto. Están preparados tanto para su utilización en ordenadores de sobremesa como portátiles, y en ocasiones el propio ordenador se vende con un sistema operativo ya instalado, en otras ocasiones (como ordenadores gaming) no es así. Aunque tu ordenador venga con un sistema operativo preinstalado, puedes cambiarlo por cualquier otro en cualquier momento si lo deseas.
Los sistemas operativos para ordenadores pueden diferenciarse a su vez en los de código abierto y de código cerrado. Mientras que los de código cerrado son patentados y desarrollados por corporaciones, como Microsoft, y los puede modificar personal de su organización, los de código abierto son desarrollados por grandes comunidades y pueden ser modificados por quien sea para mejorar, implementar nuevas funcionalidades y mucho más. Estos últimos suelen tener una comunidad detrás, siendo la más conocida Linux, pero hay muchos más. También nos podemos encontrar con software libre y de código abierto.
Dispositivos móviles
Son aquellos especialmente desarrollados para dispositivos móviles como smartphones y tablets. Los más conocidos son Android y iOS, aunque también existió Windows Phone. Pueden ser de diferentes tipos, pero los podemos dividir en dos grupos principales. Por un lado, los integrados, aquellos que se encuentran embebidos en determinados dispositivos y que favorecen la función de los mismos, impresoras, electrodomésticos, etc. Por otro lado, los que se definen según los s, porque también podríamos hacer una clasificación en función de sus capacidades a la hora de procesar tareas o soportar diferentes s. Sería de la siguiente manera:
- único y tarea única. Aquellos que únicamente son capaces de procesar al mismo tiempo una sola tarea de un único .
- Multitarea de un único . Los sistemas operativos capaces de realizar múltiples tareas a la vez de un único .
- Multitarea y multi. Los sistemas que cuenta con la capacidad de ejecutar múltiples tareas a la vez de diferentes s. El sistema operativo de tiempo compartido permite a las personas ubicadas en una terminal diferente usar un solo sistema informático al mismo tiempo. El tiempo de procesador que se comparte entre varios s se denomina tiempo compartido.
Algunos ejemplos de sistemas operativos
Han existido y existen un montón de sistemas operativos para diferentes dispositivos, por lo que nos encontraremos con una gran cantidad de posibilidades a nuestra disposición. Podemos distinguir entre sistemas para PC, para dispositivos móviles (tablets y smartphones), televisores inteligentes, smartwatches, etc. Algunos pueden ser utilizados en diversos dispositivos, como podemos comprobar. Cada uno de ellos tiene sus propias particularidades, pero un único fin.
Para PC
Los primeros y los que tienen una mayor relevancia tanto histórica como a nivel de . Aunque la lista es larga y se pueden encontrar multitud de propuestas, a nadie se le escapa que Windows tiene una importancia extrema. Es frecuente que haya más de mil millones de dispositivos activos con el sistema operativo de Microsoft, lo que lo convierte en la opción más presente en el mercado. Por supuesto, macOS, también tiene relevancia, pero la cuota de mercado de Apple es inferior.
- Windows
- macOS
- Unix
- Ubuntu
- Solaris
- Debian
- FreeBSD
- OpenBSD
- Chrome OS (GNU/Linux)
- Haiku
- Multitud de distribuciones de Linux
- Etc…
Para dispositivos móviles
Si Windows es el sistema operativo más masificado en los ordenadores personales, en el mercado de los dispositivos móviles el líder es Android. Por su lado, Apple se convierte en la segunda plataforma, en este caso con una cuota muy superior proporcionalmente a la que tiene macOS. El motivo de ello es que los iPhone son los móviles más solicitados por muchos s de todos los rincones del mundo, mientras que os iPad también han llegado a gozar de mucha fama.
- Android
- iOS
- BlackBerry OS
- Windows 10 Mobile
- Tizen
- Nothing OS
- Etc…
Para Smart TV
Las televisiones inteligentes han necesitado apoyarse en sistemas operativos para poder ofrecer a los s una interfaz visual que les permita moverse por todas las opciones, hacer descargas y, en general, usar Internet. En este caso sí se aprecia una mayor división que en las categorías previas, aunque es cierto que Android TV tiene una presencia cada vez superior. De todas formas, algunos de sus socios han preferido ir abandonando la colaboración para producir sus propios sistemas operativos.
- WebOS en LG
- Firefox OS en televisores Panasonic, por ejemplo
- My Home Screen en algunos televisores Panasonic
- Harmony OS de Huawei
- Tizen en Samsung
- Roku
- Android TV en muchos televisores (Sony, por ejemplo)
- Amazon Fire TV para los Amazon Fire TV Stick, Cube…
Para smartwatches
La tecnología wearable ha evolucionado mucho en los últimos años y ha pasado de ser una curiosidad a instalarse en la vida de los s con una gran cantidad de opciones y modos de uso. Son, por ejemplo, fundamentales para quienes hacen deporte, quienes pueden usar muchas funciones gracias a la presencia de sistemas operativos. Algunos de los principales del mercado móvil están también en los relojes, como Android o watchOS, siendo este el desarrollado por Apple.
- Android
- watchOS
- Android Wear
- WearOS9
- OpenWatch
Los sistemas operativos más usados
Hay distintas formas de medir el uso y popularidad de los sistemas operativos, pero en general todos los análisis coinciden en apuntar a unos ganadores concretos. En los datos publicados por StatCounter en abril de 2022 en relación a los sistemas operativos más usados en el mundo entero en tareas de navegación web, los resultados le dieron la victoria a Windows con un total del 74,83%. En segunda posición quedó macOS con un 15,37%, estando todas las alternativas por detrás, como Linux, ChromeOS o FreeBSD con porcentajes por debajo del 3%.
El movimiento open-source se basa en la idea de que las principales herramientas informáticas deberían ser de libre, para facilitar a cualquier persona, independientemente de los recursos que tenga, el a Internet y a funciones básicas. Pero no solo eso, sino que la privacidad y la transparencia también juegan un papel importante. Ya que el código es abierto, cualquiera (con los conocimientos necesarios) puede ver cómo funciona el sistema y qué datos recopila sobre ti, por ejemplo, o decidir si aplicar o no una actualización. Estos SO no buscan generar más beneficios económicos a través de la extracción de datos de uso, que pueden comprometer la privacidad, sino que buscan obtener réditos económicos a cambio de servicios avanzados a empresas o profesionales, de mantenimiento o de otra índole.
Para el resto de s, estos SO pueden descargarse gratuitamente y solo abonar una cantidad monetaria, a modo de donación, si a la persona le gustaría colaborar con un proyecto en específico. Aunque siguen siendo una opción minoritaria a día de hoy, muchas personas siguen eligiendo sistemas Linux por la libertad que ofrecen, así como por lo buenos que son a la hora de hacer funcionar equipos con prestaciones antiguadas, que logran, aun así, funcionar de forma fluida y rápida gracias a lo ligeros que son sistemas como Zorin OS, Linux Lite, PureOS o PeppermintOS, por mencionar algunos.