Aleph-kjernen - Aleph kernel
Aleph er en avviklet operativsystemkjerne utviklet ved University of Rochester som en del av deres RIG- prosjekt i 1975. Aleph var et tidlig sett på veien mot opprettelsen av det første praktiske operativsystemet Microkernel , Mach .
Aleph brukte kommunikasjon mellom prosesser for å flytte data mellom programmer og kjernen, slik at applikasjoner kunne få tilgang til ressurser på en hvilken som helst maskin i lokalnettverket (som den gang var en eksperimentell Xerox Ethernet på 3 Mbit / s ). Prosjektet gikk etter hvert ut etter flere år på grunn av raske endringer i maskinvaremarkedet, men ideene førte til opprettelsen av Accent ved Carnegie Mellon University , som igjen førte til Mach .
Programmer skrevet for RIG-systemet kommunisert via porter . Portene var i det vesentlige meldingskøer som ble opprettholdt av Aleph-kjernen, identifisert av en maskin unik (i motsetning til globalt unik) ID bestående av et prosess-ID, port-id-par. Prosesser ble automatisk tildelt et prosessnummer, eller pid , ved oppstart, og kunne da be kjernen om å åpne porter. Prosesser kan åpne flere porter og deretter "lese" dem, automatisk blokkere og la andre programmer kjøre til data kom. Prosesser kan også "skygge" en annen, og motta en kopi av hver melding som sendes til den den skyggelagte. På samme måte kan programmer "gripe inn" på en annen, motta meldinger og i hovedsak kutte den opprinnelige meldingen ut av samtalen.
RIG ble implementert på en rekke Data General Eclipse minidatamaskiner . Portene ble implementert ved hjelp av minnebuffere, begrenset til 2 kB i størrelse. Dette ga betydelig overhead ved kopiering av store datamengder. Et annet problem, som først ble realisert i ettertid, var at bruken av globale ID-er tillot skadelig programvare å "gjette" på havner og derved få tilgang til ressurser de ikke burde hatt. Og siden disse ID-ene var basert på program-ID-en, endret port-ID-ene hvis programmet ble startet på nytt, noe som gjorde det vanskelig å skrive servere med klienter som kunne stole på et spesifikt portnummer for service.
Referanser
Rashid, Richard F (1986). "Fra RIG til aksent til Mach: utviklingen av et nettverksoperativsystem". Proceedings of 1986 ACM Fall joint computer conference . s. 1128–1137. ISBN 0-8186-4743-4. S2CID 1114881 .