stringtranslate.com

EL sistema de multiprogramación

El sistema de multiprogramación o THE OS fue un sistema operativo de computadora diseñado por un equipo dirigido por Edsger W. Dijkstra , descrito en monografías en 1965-66 [1] y publicado en 1968. [2] Dijkstra nunca nombró el sistema; "EL" es simplemente la abreviatura de "Technische Hogeschool Eindhoven", entonces el nombre (en holandés ) de la Universidad Tecnológica de Eindhoven de los Países Bajos . El sistema THE era principalmente un sistema por lotes [3] que admitía la multitarea ; no fue diseñado como un sistema operativo multiusuario . Era muy parecido al SDS 940 , pero "el conjunto de procesos en el sistema THE era estático". [3]

El sistema THE aparentemente introdujo las primeras formas de memoria virtual paginada basada en software (la Electrologica X8 no admitía la gestión de memoria basada en hardware ), [3] liberando a los programas de verse obligados a utilizar ubicaciones físicas en la memoria del tambor . Lo hizo utilizando un compilador ALGOL modificado (el único lenguaje de programación soportado por el sistema de Dijkstra) para "generar automáticamente llamadas a rutinas del sistema , lo que aseguraba que la información solicitada estuviera en la memoria, intercambiándola si era necesario". [3] La memoria virtual paginada también se utilizó para almacenar en búfer los datos del dispositivo de entrada/salida (E/S), y para una parte importante del código del sistema operativo, y casi todo el compilador ALGOL 60 . En este sistema se utilizaron por primera vez semáforos como construcción de programación.

Diseño

El diseño del sistema de multiprogramación THE es importante por el uso de una estructura en capas , en la que las capas "superiores" dependen únicamente de las capas "inferiores":

Los diseñadores impusieron la restricción de que las capas superiores sólo pueden depender de las inferiores para hacer más manejable el razonamiento sobre el sistema (utilizando métodos cuasiformales ) y también para facilitar la construcción y prueba del sistema de forma incremental. Las capas se implementaron en orden, la capa 0 primero, con pruebas exhaustivas de las abstracciones proporcionadas por cada capa por turno. Esta división del núcleo en capas era similar en algunos aspectos al modelo posterior de segmentación de anillos de Multics . Varios sistemas operativos posteriores han utilizado capas hasta cierto punto, incluidos Windows NT y macOS , aunque normalmente con menos capas.

El código del sistema fue escrito en lenguaje ensamblador para la computadora holandesa Electrologica X8 . Esta computadora tenía un tamaño de palabra de 27 bits, 48 ​​kilopalabras de memoria central , [3] 512 kilopalabras de memoria de tambor que proporcionaba un almacén de respaldo para el algoritmo de caché LRU , lectores de cintas de papel, perforadoras de cintas de papel, trazadores e impresoras.

Ver también

Referencias

  1. ^ Dijkstra, Edsger W. La estructura del sistema de multiprogramación 'THE' (EWD-196) (PDF) . Archivo EW Dijkstra. Centro de Historia Estadounidense, Universidad de Texas en Austin .(transcripción) (14 de junio de 1965)
  2. ^ Dijkstra, EW (1968), "La estructura del sistema de multiprogramación 'THE'", Comunicaciones del ACM , 11 (5): 341–346, doi : 10.1145/363095.363143 , S2CID  2021311
  3. ^ abcde Silberschatz, Abraham; Peterson, James L. (mayo de 1988), "13: Perspectiva histórica", Conceptos de sistemas operativos , p. 512