Portada » Informática » Fundamentos y Evolución Histórica de los Sistemas Operativos
El hardware y el software que se utilizan para proveer de aplicaciones a los usuarios pueden contemplarse de forma estratificada o jerárquica. Al usuario de estas aplicaciones se le llama usuario final, y este ve al sistema informático en términos de aplicaciones.
Las aplicaciones se construyen con un lenguaje de programación y son desarrolladas por programadores de aplicaciones. Los programas de sistemas se denominan utilidades e implementan funciones muy utilizadas que ayudan a la creación de los programas. El programa de sistemas más importante es el sistema operativo. El sistema operativo oculta al programador los detalles del hardware y le proporciona una interfaz cómoda para utilizar el sistema. Actúa como mediador, facilitándole al programador y a los programas de aplicación el acceso y uso de todas esas características y servicios.
Un sistema operativo ofrece servicios en las áreas siguientes:
Administrando los recursos del computador, el sistema operativo tiene el control sobre las funciones básicas del mismo.
El sistema operativo cede el control al procesador para hacer algún trabajo «útil» y luego lo retoma durante el tiempo suficiente para preparar al procesador para llevar a cabo la siguiente parte del trabajo.
La capacidad de evolución es crucial para la longevidad y adaptabilidad de un sistema operativo. Los factores clave que impulsan esta evolución incluyen:
Para intentar comprender los requisitos básicos de un sistema operativo y el significado de las características principales de un sistema operativo contemporáneo, resulta útil considerar cómo han evolucionado los sistemas operativos a lo largo de los años.
En los primeros computadores, de finales de los 40 hasta mediados de los 50, el programador interactuaba directamente con el hardware; no había sistema operativo. La operación con estas máquinas se efectuaba desde una consola consistente en unos indicadores luminosos, unos conmutadores, algún tipo de dispositivo de entrada y una impresora. Los programas en código máquina se cargaban a través del dispositivo de entrada (un lector de tarjetas, por ejemplo).
Si el programa se detenía por un error, la condición de error se indicaba mediante los indicadores luminosos. El programador podía examinar los registros y la memoria principal para determinar la causa del error. Si el programa continuaba hasta su culminación normal, la salida aparecería en la impresora.
El primer sistema operativo por lotes fue desarrollado a mediados de los 50 por la General Motors para usar en un IBM 701. La idea central detrás del esquema sencillo de proceso por lotes es el uso de un elemento de software conocido como monitor.
Los usuarios ya no tenían acceso directo a la máquina. En su lugar, el usuario debía entregar los trabajos en tarjetas o en cinta al operador del computador, quien agrupaba secuencialmente los trabajos por lotes y ubicaba los lotes enteros en un dispositivo de entrada para su empleo por parte del monitor.
Aun con el secuenciamiento automático de los trabajos ofrecido por un sistema operativo sencillo por lotes, el procesador está desocupado a menudo. El problema es que los dispositivos de E/S son lentos comparados con el procesador.
Al igual que la multiprogramación permite al procesador manejar varias tareas por lotes al mismo tiempo, la multiprogramación puede también utilizarse para manejar varias tareas interactivas. En este último caso, la técnica se conoce como tiempo compartido, porque refleja el hecho de que el tiempo del procesador es compartido entre los diversos usuarios.
