stringtranslate.com

El sistema multiprogramación

El sistema multiprogramación THE 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; "THE" 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 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 (el Electrologica X8 no soportaba 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 compatible con el sistema de Dijkstra) para "generar automáticamente llamadas a rutinas del sistema , que se aseguraban de 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 significativa del código del sistema operativo, y casi todo el compilador ALGOL 60. En este sistema, los semáforos se utilizaron como una construcción de programación por primera vez.

Diseño

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

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

El código del sistema se escribió 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 almacenamiento de respaldo para el algoritmo de caché LRU , lectores de cinta de papel, perforadoras de cinta de papel, trazadores e impresoras.

Véase 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'", Communications of the 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ág. 512