Accentkärna

Accent är en kärna i operativsystemet , mest känd för att vara föregångaren till Mach-kärnan . Ursprungligen utvecklad vid Carnegie Mellon University (CMU), var Accent influerad av Aleph-kärnan som utvecklades vid University of Rochester . Accent förbättrar den äldre kärnan, fixar flera problem och riktar om hårdvarustödet för nätverk av arbetsstationsmaskiner (specifikt Three Rivers PERQ ) istället för minidatorer . Accent var en del av SPICE-projektet på CMU som pågick från 1981 till 1985. Utvecklingen av Accent ledde direkt till introduktionen av Mach, som används i NeXTSTEP , GNU Hurd och moderna Apple-operativsystem inklusive Mac OS och iOS .

Det ursprungliga Aleph-projektet använde datakopiering för att tillåta program att kommunicera. Applikationer kan öppna portar , vilket gör att de kan ta emot data som skickas till dem av andra program. Tanken var att skriva ett antal servrar som skulle styra resurser på maskinen och skicka data vidare tills den nådde en slutanvändare. I detta avseende liknade konceptet Unix , även om implementeringen var mycket annorlunda, med meddelanden istället för minne. Detta visade sig ha ett antal problem, särskilt att kopiering av minne på deras Data General Eclipse var mycket dyrt.

1979 lämnade en av Aleph-ingenjörerna, Richard Rashid , för CMU och började arbeta på en ny version av Aleph som undvek dess problem. I synnerhet riktade sig Accent på arbetsstationsmaskiner med en MMU , som använder MMU för att "kopiera" stora minnesblock via mappning , vilket gör att minnet ser ut att finnas på två olika platser. Endast data som ändrades av ett eller annat program skulle behöva kopieras fysiskt med hjälp av kopiera-på-skriv- algoritmen.

För att förstå skillnaden, överväg två interagerande program, ett matar en fil till ett annat. Under Aleph skulle data från leverantören behöva kopieras 2kB åt gången (på grund av funktionerna i Eclipse) till användarprocessen. Under Accent "visades" data helt enkelt i användarprocessen för kostnaden av några instruktioner som skickades till MMU. Endast om användarprocessen ändrade data skulle någonting behöva kopieras, och även då bara de delar av data som faktiskt ändrades.

Ett annat problem i Aleph var att dess portar identifierades av unika ID:n som tilldelades sekventiellt. Det var enkelt för ett program att "gissa" dem och därigenom få tillgång till resurser på datorn som det inte hade beviljats. Detta gjorde Aleph-systemet ganska osäkert.

För att åtgärda detta gjorde Accent port-ID:s internt till kärnan endast. Förekomster av ett program som öppnade portar gavs tillbaka olika ID:n, lagrade i en mappning i kärnan. Närhelst ett meddelande skickades till kärnan för leverans, skulle det först kontrollera att programmet hade tillgång till porten i fråga genom att jämföra med mappningstabellen för det programmet. Att gissa portnummer inte längre fungerade, programmets port-ID gav ingen aning om de "riktiga" ID:n i kärnan, och varje försök att prata med en som inte uttryckligen delas ut av kärnan var ett fel. Således representerade Accents portar kapacitet , som beviljade rättigheter att använda resurser som ett resultat av att de fick ett giltigt port-ID. Denna typ av kapacitetssystem, som använder ämnesspecifika identifierare för kapacitet, kallas ett C-listsystem .

Efter några år började Accent-projektet se mindre och mindre intressant ut. I början av 1980-talet ansåg många att framtida prestandavinster skulle göras genom att lägga till fler processorer till maskiner, något som Accent-kärnan inte riktigt var utrustad för att hantera. Ytterligare till problemet var att en ny generation av kraftfullare arbetsstationer dök upp, vilket innebar att Accent sannolikt skulle behöva porteras till dem ändå. Likaså hade Unix vuxit till det valda operativsystemet för experimentellt arbete, både när det gäller design av operativsystem, såväl som en utvecklingsplattform för användarapplikationer.

För att komma till rätta med dessa förändringar beslutades det att avsluta arbetet med Accent och börja om igen. Det nya systemet skulle använda Accents portsystem i en Unix-kärna och skapa den berömda Mach-kärnan .

Några funktioner i Accent:


externa länkar

  •    Rashid, Richard F. ; George G. Robertson (december 1981). Accent: En kommunikationsorienterad nätverksoperativsystemkärna (PDF) . Sosp '81. s. 64–75. doi : 10.1145/800216.806593 . ISBN 9780897910620 . S2CID 15890135 .