Data General AOS

AOS
Data General AOS
Ontwikkelaar(s) Data General
OS-familie AOS
Bronmodel Closed source
Uitgebracht 1976
Recentste uitgave
  • AOS/VS 7.70 (1992)
  • AOS/VS II 3.20 (1995)
Kerneltype Monolithisch
Programmeertaal Assembleertaal
Desktopomgeving command-line interface
Licentie(s) Propriëtaire software
Status Stopgezet
Portaal  Portaalicoon   Informatica

AOS (Advanced Operating System) is een familie van besturingssystemen voor de minicomputers van Data General (DG). AOS werd geïntroduceerd in 1976 voor de 16-bits Eclipse-lijn,[1] gevolgd door AOS/VS (Advanced Operating System/Virtual Storage) en AOS/RT32 in 1980 en AOS/VS II in 1988 voor de 32-bits Eclipse MV-lijn.[2]

AOS en AOS/VS

AOS/VS maakte gebruik van de beveiligingsarchitectuur met 8 ringen van de Eclipse MV-hardware, waarbij ring 7 de minst bevoorrechte was en ring 0 de meest bevoorrechte.[3] De AOS/VS kernel draaide in ring 0 en gebruikte adressen in ring 1 voor datastructuren gerelateerd aan virtuele adresvertalingen. Ring 2 werd niet gebruikt en was gereserveerd voor toekomstig gebruik door de kernel. De Agent, die een groot deel van de systeemoproepvalidatie voor de AOS/VS kernel uitvoerde, evenals I/O buffering en veel compatibiliteitsfuncties, draaide in ring 3 van elk proces. Ring 4 werd gebruikt door verschillende DG-producten zoals de INFOS II DBMS. Ringen 5 en 6 waren gereserveerd voor gebruikersprogramma's, maar werden zelden gebruikt, behalve voor grote software zoals de MV/UX emulator en Oracle die ring 5 gebruikten. Alle gebruikersprogramma's draaiden in ring 7.

De AOS software was veel geavanceerder dan concurrerende PDP-11 besturingssystemen. 16-bits AOS-applicaties draaiden native onder AOS/VS en AOS/VS II op de 32-bits Eclipse MV-lijn. AOS/VS was het meest gebruikte DG-softwareproduct en bevatte een command-line interpreter (CLI) die complexe scripting mogelijk maakte.

De 16-bits versie van de CLI staat bekend om zijn Easter egg dat refereert aan de interne codenaam van AOS/VS: een gebruiker die het commando xyzzy typte, kreeg als respons van de CLI "Nothing Happens". Toen een 32-bits versie van de CLI beschikbaar kwam onder AOS/VS II, meldde dezelfde opdracht in plaats daarvan "Twice As Much Happens".

Ook het Unix-besturingssysteem was beschikbaar: MV/UX was een aangepaste versie van System V.2 Unix die onder AOS/VS draaide.[4]

De AOS- en AOS/VS-kernels waren volledig in assembleertaal geschreven. Vrijwel alle AOS- en AOS/VS-hulpprogramma's die in de releases van het besturingssysteem waren opgenomen, werden geschreven in DG/L, een variant van ALGOL/60. Aanvankelijk volgden AOS/VS-hulpprogramma's nauwgezet de ontwikkeling van de AOS-broncode. Naarmate AOS/VS volwassen werd, werden veel van de door DG geleverde hulpprogramma's herschreven om te profiteren van de 32-bits adresruimte en om de afhankelijkheid van assembleertaal te verminderen, wat vaak resulteerde in aanzienlijke verbeteringen in functionaliteit, prestaties en betrouwbaarheid in vergelijking met hun AOS-voorouders.

AOS/VS II

AOS/VS II werd geïntroduceerd in 1988 en zou oorspronkelijk gewoon versie 8.00 van het AOS/VS-besturingssysteem zijn. Het introduceerde echter een nieuw bestandssysteem dat niet compatibel was met het originele AOS- en AOS/VS-bestandssysteem en bevatte ook nieuwe functies zoals Access Control List (ACL)-groepen. Omdat sommige klanten niet wilden upgraden naar het nieuwe bestandssysteem of niet wilden investeren in nieuwe hardware, stemde Data General ermee in om de bugfix-ondersteuning van "Classic" AOS/VS voort te zetten, terwijl de nieuwe ontwikkelingen onder de naam AOS/VS II zouden uitgebracht worden met versienummer die opnieuw van 1.00 zouden beginnen.

Andere nieuwe functies die deel uitmaakten van AOS/VS II waren onder andere een volledige TCP/IP-stack, NFS-ondersteuning,[5] uitgebreide kerneladresruimte met behulp van ring 1 en een logische cache voor gebruikersgegevens op schijfniveau. Classic AOS/VS had een cache voor metadata op schijfniveau, maar niet voor gebruikersgegevens.