THE multiprogramming system
El sistema de multiprogramació THE o THE OS va ser un sistema operatiu d'ordinador dissenyat per un equip dirigit per Edsger W. Dijkstra, descrit en monografies el 1965-66 i publicat el 1968. Dijkstra mai va anomenar el sistema; "THE" és simplement l'abreviatura de "Technische Hogeschool Eindhoven", després el nom (en holandès) de la Universitat de Tecnologia d'Eindhoven dels Països Baixos. El sistema THE era principalment un sistema per lots que admetia la multitasca; no va ser dissenyat com un sistema operatiu multiusuari. S'assemblava molt a l'SDS 940, però "el conjunt de processos del sistema THE era estàtic".[1] El sistema THE aparentment va introduir les primeres formes de memòria virtual paginada basada en programari (l'Electrologica X8 no admetia la gestió de memòria basada en maquinari), alliberant els programes de ser obligats a utilitzar ubicacions físiques a la memòria del tambor. Ho va fer utilitzant un compilador ALGOL modificat (l'únic llenguatge de programació suportat pel sistema de Dijkstra) per "generar automàticament crides a les rutines del sistema, que s'assegurava que la informació sol·licitada estigués a la memòria, canviant si fos necessari". La memòria virtual paginada també es va utilitzar per a la memòria intermèdia de dades del dispositiu d'entrada/sortida (I/O), i per a una part important del codi del sistema operatiu, i gairebé tot el compilador ALGOL 60. En aquest sistema, els semàfors es van utilitzar com a constructe de programació per primera vegada.[2] DissenyEl disseny del sistema de multiprogramació THE és significatiu pel seu ús d'una estructura en capes, en la qual les capes "superiors" només depenen de les capes "inferiores":[3]
La restricció que les capes superiors només poden dependre de les capes inferiors va ser imposada pels dissenyadors per tal de fer més manejable el raonament sobre el sistema (utilitzant mètodes quasi formals) i també per facilitar la construcció i prova del sistema de manera incremental. Les capes es van implementar en ordre, la capa 0 primer, amb proves exhaustives de les abstraccions proporcionades per cada capa al seu torn. Aquesta divisió del nucli en capes era similar d'alguna manera al model de segmentació d'anell posterior de Multics. Diversos sistemes operatius posteriors han utilitzat fins a cert punt les capes, inclosos Windows NT i macOS, encara que normalment amb menys capes. El codi del sistema es va escriure en llenguatge ensamblador per a l'ordinador Dutch Electrologica X8. Aquest ordinador tenia una mida de paraula de 27 bits, 48 kiloparaules de memòria bàsica, 512 kiloparaules de memòria de tambor que proporcionaven un magatzem de suport per a l'algorisme de memòria cau LRU, lectors de cintes de paper, perforadores de cinta de paper, traçadors i impressores.[4] Referències
|