En éste artículo veremos la definición y concepto de los sistemas operativos, cuáles son sus funciones, su evolución histórica y su clasificación.
Un sistema operativo es el programa principal que se ejecuta en toda computadora, y que interactúa directamente con su hardware. Tiene las siguientes funciones:
Funciones de un sistema operativo
Inicialmente una computadora leía los programas a través de tarjetas perforadas. De modo que el sistema operativo trabaja en proceso por lotes: recibía todas las instrucciones que le proporcionaba un operador, y cuando éste terminada, imprimía los resultados y quedaba lista para el siguiente lote de instrucciones.
Se utiliza un dispositivo (una computadora más pequeña) que sólo leía las tarjetas perforadas y pasaba la información a una cinta magnética. La computadora leía el programa de la cinta magnética.
Un sistema está limitado por dos condiciones:
Cuando un proceso realiza una entrada o salida (lectura o escritura en la cinta o dispositivo magnético), se demora cierto tiempo, durante el cual, el CPU permanecía inactivo. Esto dió lugar a sistemas multiprogramados, que aprovechaban ese tiempo de inactividad del CPU para realizar otro procesamimento. El sistema operativo debía entonces administrar el tiempo de CPU.
Las computadoras podían atender a múltiples usuarios conectados a través de terminales, por lo que el sistema operativo tenía que separar los procesos de uno u otro usuario.
Con el paso del tiempo surgieron dos arquitecturas principales: la desarrollada por IBM, y la desarrollada por Apple. IBM se inclinó por el uso del sistema operativo Windows, mientras que Apple creó su propio sistema operativo MacOS. En las últimas décadas apareció un tercer participantes que es Linux.
Hay dos estructuras principales:
En un sistema monolítico, el núcleo (el sistema operativo en sí) realiza todas las rutinas y tareas del sistema operativo.
En un sistema de microkernel, el núcleo se mantiene al mínimo. Tareas como el acceso a dispositivos se dejan como procesos no privilegiados.
Abstracción en un sistema operativo. Imagen tomada de de [https://slideplayer.com/slide/16766324/]
Procesos por lotes en sistemas operativos. Imagen tomada de [http://faculty.salina.k-state.edu/tim/ossg/Introduction/OShistory.html]
Sistemas multiprogramados y sistemas de tiempo compartido. Imágenes tomadas de [https://www.tutorialspoint.com/operating_system/os_quick_guide.htm]