Sistemas de tiempo compartido

Los sistemas por lotes con multiprogramación proporcionaron un ambiente en el que los diversos recursos del sistema (CPU, memoria, dispositivos periféricos) se utilizaban eficazmente, 5 pero no ofrecían la interacción del usuario con el sistema de cómputo.

El tiempo compartido, o multitareas, es una extensión lógica de la multiprogramación. La unidad central de proceso (CPU) ejecuta múltiples trabajos conmutando entre ellos, pero los cambios ocurren de manera tan frecuente que los usuarios pueden interactuar con cada programa mientras está en ejecución. Sus características principales son:

– Cada usuario interactúa con el sistema operativo mediante una terminal

– Son sistemas multiusuario por la capacidad de atender a varios usuarios simultáneamente.

– El sistema mantiene múltiples programas en la memoria y va repartiendo el uso de CPU entre todos ellos.

Se asigna a los programas un tiempo máximo de ejecución.

Un sistema operativo de tiempo compartido hace uso de la planificación del uso de la unidad central de proceso (CPU) y la multiprogramación para proporcionar a cada usuario una pequeña porción de una computadora de tiempo compartido.

Cada usuario tiene por lo menos un programa distinto en la memoria. Un programa que se carga en la memoria y se está ejecutando se le conoce como proceso. Cuando se ejecuta un proceso, éste lo hace sólo por un tiempo breve antes de que termine o necesite realizar operaciones de E/S. Las operaciones E/S pueden ser interactivas, es decir, la entrada es desde el teclado, el ratón u otro dispositivo y la salida es a una terminal.

Los sistemas operativos de tiempo compartido deben administrar y proteger el uso de la memoria para mantener la sincronía de los trabajos y obtener tiempos de respuesta razonables’.

Esto se logra mediante el intercambio de memoria principal y el disco, así como la utilización de la memoria virtual que permite la ejecución de un trabajo que puede no estar cargado completamente en la memoria.

El sistema de archivos reside en una colección de discos; por lo tanto, se debe proporcionar una administración de discos. Asimismo, los sistemas de tiempo compartido proporcionan un mecanismo para ejecución concurrente, la cual requiere esquemas complejos de planificación de la unidad central de proceso CPU.

Para asegurar una ejecución ordenada, el sistema debe contemplar mecanismo para la sincronización y comunicación de los trabajos, y asegurar que éstos no se atasquen por un bloqueo mutuo, esperando indefinidamente uno a otro.

Fuente: Apuntes de la materia Sistemas Operativos Multiusuario de la FCA – UNAM