Aleph kernel - Aleph kernel
Aleph is een beëindigde kernel van het besturingssysteem die is ontwikkeld aan de Universiteit van Rochester als onderdeel van hun RIG- project in 1975. Aleph was een vroege weg naar de creatie van het eerste praktische microkernelbesturingssysteem , Mach .
Aleph gebruikte communicatie tussen processen om gegevens tussen programma's en de kernel te verplaatsen, zodat toepassingen op transparante wijze toegang konden krijgen tot bronnen op elk apparaat op het lokale netwerk (dat op dat moment een experimenteel Xerox Ethernet van 3 Mbit / s was ). Het project liep uiteindelijk uit na een aantal jaren als gevolg van snelle veranderingen in de computerhardwaremarkt, maar de ideeën leidden tot de oprichting van Accent aan de Carnegie Mellon University , wat op zijn beurt leidde tot Mach .
Applicaties die zijn geschreven voor het RIG-systeem, worden gecommuniceerd via poorten . Poorten waren in wezen berichtenwachtrijen die werden onderhouden door de Aleph-kernel, geïdentificeerd door een machine- unieke (in tegenstelling tot wereldwijd unieke) ID die bestaat uit een proces-ID, poort-ID-paar. Processen kregen bij het opstarten automatisch een procesnummer of pid toegewezen en konden de kernel dan vragen om poorten te openen. Processen kunnen verschillende poorten openen en ze vervolgens "lezen", automatisch blokkeren en toestaan dat andere programma's worden uitgevoerd totdat gegevens binnenkomen. Processen kunnen ook een ander "overschaduwen" door een kopie te ontvangen van elk bericht dat wordt verzonden naar degene die het schaduwt. Evenzo konden programma's op een ander "tussenkomen", berichten ontvangen en in wezen het oorspronkelijke bericht uit het gesprek verwijderen.
RIG is geïmplementeerd op een aantal Data General Eclipse minicomputers . De poorten zijn geïmplementeerd met behulp van geheugenbuffers, beperkt tot 2 kB groot. Dit veroorzaakte aanzienlijke overhead bij het kopiëren van grote hoeveelheden gegevens. Een ander probleem, dat pas achteraf werd gerealiseerd, was dat het gebruik van globale ID's het mogelijk maakte dat kwaadwillende software naar poorten "gokte" en daardoor toegang kreeg tot bronnen die ze niet hadden moeten hebben. En aangezien die ID's waren gebaseerd op de programma-ID, veranderden de poort-ID's als het programma opnieuw werd opgestart, waardoor het moeilijk werd om servers te schrijven met clients die voor service op een specifiek poortnummer konden vertrouwen.
Referenties
Rashid, Richard F (1986). "Van RIG tot Accent tot Mach: de evolutie van een netwerkbesturingssysteem". Proceedings of 1986 ACM Fall gezamenlijke computerconferentie . blz. 1128-1137. ISBN 0-8186-4743-4. S2CID 1114881 .