Historia de los sistemas operativos

Las computadoras de las décadas de 1940 y 1950 no eran muy flexibles, ni tampoco eficientes, 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.

En esa época, 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.

Inicio del procesamiento por lotes:

Este fue el comienzo de la técnica denominada procesamiento por lotes:

Donde la ejecución de un trabajo (datos e instrucciones) se llevaba a cabo sin interacción adicional por parte del usuario.

Procesamiento por Lotes:

Las instrucciones se codificaban utilizando un sistema conocido como lenguaje de control de trabajos (JCL, Job Control Language) y se almacenaba junto con el trabajo. Cuando se seleccionaba ese trabajo para su ejecución, el sistema operativo imprimía estas instrucciones en una impresora para que el operador de la computadora pudiera leerlas y llevarlas a la práctica.

Una cola es una estructura de almacenamiento en la que los 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.

DESVENTAJAS DEL PROCESAMIENTO POR LOTES

1.- Los usuarios es que estos no tienen la posibilidad de interactuar con sus trabajos después de habérselos enviado al operador.

2.-Puede haber trabajos más urgentes que otros dentro de la cola de trabajo.

3.-Pueden existir tareas similares entre los diferentes trabajos que la computadora pudiera ejecutar más eficientemente de manera continua.

Procesamiento interactivo

Para dar satisfacción a estas necesidades, se desarrollaron nuevos sistemas operativos que permitían que un programa en ejecución entablara un diálogo con el usuario a través de terminales remotos, una característica que se conoce con el nombre de procesamiento interactivo.

Procesamiento interactivo:

 Características del procesamiento interactivo

Primera aplicación de la rapidez de la computación

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 un cierto sentido, la computadora está obligada a ejecutar las tareas con un límite de tiempo estricto, un proceso que se ha llegado a conocer con el nombre de procesamiento en tiempo real, en el que se dice que las acciones realizadas tienen lugar en tiempo real.

Es decir, cuando afirmamos que una computadora realiza una tarea en tiempo real queremos decir que la computadora lleva a cabo esa tarea de acuerdo con los límites de tiempo impuestos por su entorno (su entorno externo del mundo real).

Segunda aplicación de la rapidez de la computación

Multiprogramación

Ahora que los usuarios ya tenían interacción en tiempo real con la ejecución de sus programas, había más usuarios que querían utilizar la computadora.

La solución a este problema fue diseñar sistemas operativos que proporcionaran un servicio simultáneo a múltiples usuarios. Una característica denominada tiempo compartido.

La multiprogramación, es una técnica que consiste dividir el tiempo de ejecución en intervalos cortos y dentro de cada intervalo solo se ejecuta un determinado trabajo.

Al final de cada intervalo, el trabajo actual se pone temporalmente en espera, ejecutándose otro trabajo durante el siguiente intervalo.

Conmutando rápidamente entre unos trabajos y otros de esta forma, se crea la ilusión de que hay varios trabajos que se están ejecutando de manera simultánea.

Hoy día, gracias a la cantidad de computadoras disponibles las técnicas de multiprogramación se emplean en sistemas tanto multiusuario como monousuario, aunque en este último caso, la técnica resultante se suele denominar multitarea.

La multitarea hace referencia a un usuario que está ejecutando varias tareas simultáneamente.

Con el desarrollo de los sistemas operativos multiusuario, monousuarios, de tiempo compartido (multitarea), los antiguos encargados de las grandes computadoras han pasado a ser los encargados de la comunicación de todas las nuevas computadoras (sistemas) llamando por ejemplo, ingenieros en sistemas, etc.

Ahora, los sistemas operativos deben enfrentarse a problemas tales como el equilibrado de carga (asignación dinámica de tareas a los diversos procesadores con el fin de utilizar todos ellos de manera eficiente), así como el escalado (descomposición de las tareas en una serie de subtareas compatible con el número de procesadores disponibles).

Otra de las líneas 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.

Sistemas empotrados

Los sistemas de computadoras que podemos encontrar en estos dispositivos se denominan sistemas empotrados.

Los sistemas operativos empotrados suelen tener requisitos especiales, como que ayuden a ahorrar potencia de la batería, que se ajusten a límites de tiempo real muy estrictos o que operen de manera continua sin ninguna supervisión humana o con muy poca.

Los mayores éxitos dentro de este campo son los de sistemas tales como VxWORKS, desarrollado por Wind River Systems y usado en los exploradores de la superficie de Marte llamados Spirit y Opportunity; Windows CE (también conocido como Pocket PC) desarrollado por Microsoft; y Palm OS desarrollado por PalmSource, Inc., especialmente para su uso en dispositivos de mano.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *