Un sistema operativo es el software que controla el conjunto de operaciones de una computadora. Proporciona el mecanismo por el cual un usuario puede almacenar y extraer archivos, proporciona la interfaz mediante la que el usuario puede solicitar la ejecución de programas y proporciona también el entrono necesario para ejecutar lor programas solicitados.
La ejecución de programas requería una tediosa preparación de los equipos, en el sentido de que había que montar cintas magnéticas, colocar tarjetas perforadas en los lectores de tarjetas, configurar una serie de conmutadores, etc. La ejecución de cada programa, denominada trabajo, se gestionaba como una actividad independiente: se preparaba la máquina para ejecutar el programa, se ejecutaba ese programa y luego había que extraer todas las cintas, tarjetas perforadas, etc. antes de que pudiera iniciarse la ejecución del siguiente programa.
Procesamiento por lotes: ejecución de trabajos recopilándolos en un único lote y luego ejecutándolos sin interacción adicional por parte del usuario.
En los sitemas de procesamiento por lotes, los trabajos que reciden en los dispositivos de almacenamiento masivo esperan para ser ejecutados en una cola de trabajos. Una cola es una estructura de almacenamiento en la que los objetos (en este caso trabajos) están ordenados de acuerdo con la filosofía primero en entrar, primero en salir (FIFO, first-in, first-out). Es decir, los objetos se extraen de la cola en el mismo orden en que llegaron.
Se desarrollaron nuevos sitemas operativos que permitían que un programa en ejecución entablara un diálogo con el usuario a través de terminales reomtos, una característica que se conoce con el nombre de procesamiento interactivo.
Un requisito esencial para que el procesamiento interactivo pueda funcionar es que las acciones de la computadora sean lo suficientemente rápidas como para poder adaptarse a las necesidades del usuario, en lugar de obligar al usuario a adaptarse al horario de funcionamiento de la máquina. En cierto sentido , la computadora está obligada a ejecutar las tareas con un límite de tiempo estricto, un proceso que se ha llegao a conocer con el nombre de procesamiento en tiempo real, en el que se dice que las acciones realizadas tienen lugar en tiempo real.
Procesamiento interactivo
Era bastante común que varios usuarios trabajando en terminales remotos requirieran un servicio interactivo simultáneo de una misma máquina, por lo que las consideraciones de tiempo real presentaban un serio obstáculo.
La solución a ese problema fue diseñar sistemas operativos que proporcionarán un servicio simultáneo a múltiples usuarios. Una característica denominada tiempo compartido. Una forma de implementar la compartición de tiempo consiste en aplicar la técnica denominada multiprogramación, en la que el tiempo se divide en intervalos y dentro de cada intervalo solo se ejecuta un determinado trabajo. Dependiendo de los tipos de trabajo que se ejecutaban, los primeros sistemas de tiempo compartido eran capaces de llevar a cabo un procesamiento en tiempo real aceptable para hasta 30 usuarios simultáneos.
Los sistemas operativos han ido creciendo, pasando de ser simples programas que extraían y ejecutaban los programas de uno en uno a convertirse en sistemas complejos que coordinan la compartición de tiempo, mantienen en los programas y los archivos de datos en los dispositivos de almacenamiento masivo y responden directamente a las solicitudes de los usuarios de la computadora.
La evolución de los sistemas operativos continúa, ahora deben enfrentarse a problemas tales como el equilibrio de carga, así como el escalado.
Otra de la linea de investigación en el campo de los sistemas operativos se centra en los dispositivos dedicados a tareas específicas como los dispositivos médicos, la electrónica para automoción, los electrodomésticos, los teléfonos celulares y otras computadoras de mano. Estos sistemas se denominan sistemas empotrados.