Cuando hablamos de sistemas operativos es inevitable pensar en ordenadores. En el software que aparece a los pocos segundos de encenderlos. Pero, en realidad, adems de en un ordenador, un sistema operativo est presente en muchos dispositivos. En todos ellos son esenciales para que puedan funcionar, pero su labor pasa a menudo desapercibida. Conocer su misin, as como los tipos de sistemas operativos que hay, es esencial. Descubre sus aspectos bsicos a continuacin.
Los sistemas operativos son los programas encargados de administrar y gestionar de manera eficiente todos los recursos de un ordenador y otros dispositivos. Tambin se les conoce como software de sistema, y su funcin comienza nada ms encender el dispositivo en el que estn instalados. Comienza entonces su tarea de gestionar el funcionamiento del hardware del equipo. Tambin, de poner en marcha las herramientas y funciones que hacen que un ordenador pueda comunicarse e interactuar con quien lo est utilizando, y viceversa.
En la actualidad, adems de en los ordenadores, hay sistemas operativos en cualquier dispositivo en el que haya un procesador instalado: smartphones, tablets, reproductores multimedia, e incluso coches y televisores. Pero, bsicamente, la funcin de casi todos es la misma: ofrecer a sus usuarios una interfaz para interactuar con el equipo. Tambin se encarga de administrar sus recursos, archivos y tareas, as como de realizar diversas tareas de soporte. Entre ellas, la actualizacin de las versiones de programas y del propio sistema operativo, la gestin de su seguridad y el control de los perifricos que puedan conectarse al dispositivo.
De cara al usuario, un sistema operativo tiene la misin de permitirle ejecutar programas compatibles, crear y acceder a sus ficheros y, en definitiva, de realizar las tareas para las que el equipo se dise y desarroll.
Por otro lado, los sistemas operativos se encargan de ejecutar procesos, donde un proceso es la carga de cualquiera de los programas y aplicaciones que queramos utilizar en la memoria del dispositivo. Esto es crucial, puesto que si un programa no est cargado en su memoria, simplemente no funciona. Hay dos tipos de procesos: de primer plano y de segundo.
Los de primer plano precisan que el usuario del dispositivo interacte con ellos. Son los relacionados con navegadores, programas de edicin de texto, o de retoque de imagen, entre otros. En cuanto a los de segundo plano, son los que no necesitan intervencin del usuario, y que en muchos casos no cuentan con una interfaz para ello. Es el caso del sistema de deteccin de malware de un antivirus, por ejemplo.
Dentro de los distintos tipos de sistemas operativos, hay varios que podemos considerar bsicos. Son los ms utilizados, tanto para ordenador como para dispositivos mviles. Dentro de los primeros estn Windows, para PC; Mac OS, que es el sistema operativo de los ordenadores de Apple; y Linux, tambin para PC, que est disponible en varias versiones de funcionamiento similar. De estos tres, el ms utilizado y popular es Windows, de Microsoft, sobre todo por su facilidad de manejo e instalacin. Su actualizacin tambin es muy sencilla, y adems suele venir preinstalado en muchos ordenadores, lo que facilita su difusin.
Dentro de los sistemas operativos para dispositivos mviles, los ms utilizados son iOS y Android. El primero est incluido en las tablets y smartphones de Apple, mientras que el segundo lo lleva la inmensa mayora de mviles y tablets del resto de fabricantes.
Este tipo de sistema operativo se caracteriza porque se encarga de ejecutar los procesos sin necesidad de que el usuario del sistema tenga que interactuar con el ordenador de manera directa. El sistema cuenta con un operador encargado de agrupar y dividir en varios lotes los trabajos que tienen que realizar, en funcin de su similitud.
Se trata de un sistema que pueden emplear varios usuarios, y que presenta un nivel de inactividad bajo. Se emplea sobre todo para el proceso de tareas de gran envergadura que pueden dividirse en varios lotes. Este tipo de sistemas se utiliza sobre todo en determinados entornos empresariales, en operaciones como la gestin de nminas, o la generacin de estados de cuentas en los bancos.
Esta clase de sistema operativo permite la ejecucin de distintas tareas al mismo tiempo, tanto de un solo usuario como de varios. As, cuando el sistema termina de ejecutar una tarea, ya sea de un usuario o de varias, contina con la siguiente que tiene en espera. Un ejemplo de este tipo de sistema operativo es Unix.
Un sistema operativo en tiempo real es el que deja un espacio de tiempo muy pequeo para el proceso de entradas, as como para darles respuesta. Se usan en sistemas que tienen unos requisitos muy elevados de tiempo de respuesta, y muy estrictos. Entre otros escenarios, se emplean en robots, sistemas encargados del control del trfico areo o sistemas industriales. Tambin, en determinados tipos de experimentos cientficos.
Estos trabajan con varios dispositivos a la vez, cada uno con su procesador, con el fin de ofrecer a sus usuarios una potencia elevada de computacin. Tambin la posibilidad de realizar clculos y procesos de una manera muy veloz. Son sistemas que se han desarrollado hace relativamente poco tiempo, y permiten a sus usuarios el acceso a ficheros y programas que no estn instalados o almacenados en el equipo que utilizan en un momento dado, pero que estn en otros equipos que estn conectados al mismo sistema operativo que tiene el que estn empleando. Esto quiere decir que cuenta con funciones de acceso remoto dentro de una misma red.
Son los que se ejecutan y administran en un servidor. A travs de estos sistemas operativos se pueden gestionar distintas funciones de red, as como usuarios, grupos o datos. Tambin, la seguridad de todos los equipos conectados a la red local o privada que tienen conexin con este servidor.
Son los que se han creado y desarrollado para dispositivos mviles, fundamentalmente mviles y tablets, pero tambin relojes inteligentes. Los ms conocidos son Android y iOS, como hemos visto, pero tambin hay otros como webOS y watchOS, para relojes inteligentes.
Uno de los propsitos del sistema operativo que gestiona el ncleo intermediario consiste en gestionar los recursos de localizacin y proteccin de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayora de los aparatos electrnicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo (telfonos mviles, reproductores de DVD, computadoras, enrutadores, etc.). En cuyo caso, son manejados mediante una interfaz grfica de usuario, un gestor de ventanas o un entorno de escritorio, si es un celular, mediante una consola o control remoto si es un DVD y, mediante una lnea de comandos o navegador web si es un enrutador.
El problema principal de las primeras computadoras era su baja utilizacin, la primera solucin fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorr tiempo y se aument la velocidad.
Segn fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organizacin de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residan en memoria y que gestionaban la ejecucin de una cola de trabajos.
Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llev a cabo un intento de solucin ms avanzado: solapar la E/S de un trabajo con sus propios clculos, por lo que se cre el sistema de bfers con el siguiente funcionamiento:
Hace aparicin el disco magntico con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del clculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).
Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseado para trabajar sobre el anterior, en general el programa no funcionar, a no ser que el nuevo SO tenga la misma interfaz. Para ello:
Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el conjunto de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operacin diferentes:
Una aplicacin, normalmente no sabe dnde est situada la rutina de servicio de la llamada. Por lo que si esta se codifica como una llamada de funcin, cualquier cambio en el S.O. hara que hubiera que reconstruir la aplicacin.
Pero lo ms importante es que una llamada de funcin no cambia el modo de ejecucin de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicacin, y hacer que se fuerce un cambio de modo de operacin de la CPU en la llamada (y la recuperacin del modo anterior en el retorno).
Las llamadas al sistema no siempre tienen una expresin sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programacin.
d3342ee215