Los sistemas de tiempo compartido son una extensión lógica de la multiprogramación. La CPU corre todas las aplicaciones asignando tiempos para ejecutarse de forma alternada para cada una de ellas, esto permite a los usuarios compartir el computador y hace parecer que cada usuario tuviera uno propio ya que los procesos realizan rápidamente su uso de CPU.
Hoy en día los ordenadores poseen sistemas por lotes y sistemas de tiempo compartido pero siempre en su diseño inicial se inclinan por uno de los dos.
Ya que en la multiprogramación hay que mantener los programas en la memoria principal en espera de su ejecución, en este sistema se deben intercambiar los trabajos entre la memoria principal y el disco duro, el cual sirve de respaldo a la memoria principal; por lo que además de poseer una planificación de memoria, tienen que tener una administración de disco.
Los sistemas de tiempo real o SRT interactúan con una forma de realizar las acciones que es conocida en relación a sus entradas, salidas y restricciones de tiempo; para que su funcionamiento sea adecuado y este de acuerdo con los conceptos de predictibilidad, estabilidad, controlabilidad y alcanzabilidad.
Un SRT cumple tres condiciones:
- Interactúa con el mundo real (proceso físico).
- Emite respuestas correctas.
- Cumple restricciones temporales.
Estos sistemas están presentes todos los días en todas partes desde las centrales de energía eléctrica, controlando la generación, transmisión y distribución de esta; hasta las líneas de metro y aéreas, monitoreando el trafico de estas últimas. Además de asegurar la calidad de múltiples procesos industriales.
Los SRT se pueden clasificar en:
- SRT por hard: garantizan la ejecución de tareas criticas de forma eficiente, almacenando los datos en la ROM y sin ocupar memoria virtual ni tiempo compartido, ya que ambas técnicas no son usadas por hardware.
- SRT por soft: ejecutan las tareas menos criticas usando técnicas de prioridad para asignar las tareas. Su utilización es menor en comparación que por hard ya que por ejemplo no se pueden implementar en control industrial y/o robótica. Pero si para multimedia y realidad virtual.