Zvýrazněné jádro - Accent kernel

Přízvuk byl operační systém jádro vyvinut v Univerzita Carnegie Mellon (CMU). Accent byl vyvinut v návaznosti na Aleph jádro vyvinutý na University of Rochester, oprava několika problémů a opětovné zaměření hardwarové podpory pro sítě pracovní stanice stroje (konkrétně Tři řeky PERQ ) namísto minipočítače. Accent byl součástí Projekt SPICE na CMU, která probíhala v letech 1981 až 1985. Vývoj Accentu vedl přímo ke slavnému Machovo jádro.

Původní projekt Aleph používal kopírování dat, aby programy mohly komunikovat. Aplikace se mohly otevřít porty, což by jim umožnilo přijímat data zasílaná jinými programy. Myšlenkou bylo napsat několik servery který by řídil prostředky na stroji a předával data dál, dokud se nedostal ke koncovému uživateli. V tomto ohledu to bylo koncepčně podobné Unix, i když implementace byla hodně odlišná, místo paměti se používaly zprávy. Ukázalo se, že to má řadu problémů, zejména kopírování paměti na jejich Zatmění dat bylo velmi drahé.

V roce 1979 jeden z techniků Aleph, Richard Rashid, odešel na CMU a zahájil práce na nové verzi Aleph, která se vyhnula problémům. Zejména společnost Accent cílila na pracovní stanice s funkcí a MMU, pomocí MMU "kopírovat" velké bloky paměti přes mapování, takže se paměť jeví na dvou různých místech. Pouze data, která byla změněna jedním nebo druhým programem, by musela být fyzicky kopírována pomocí copy-on-write algoritmus.

Chcete-li pochopit rozdíl, zvažte dva interagující programy, z nichž jeden přivádí soubor do druhého. Pod Aleph by data od poskytovatele musela být zkopírována do uživatelského procesu 2kB najednou (kvůli funkcím Eclipse). Pod Accentem se data jednoduše „objevila“ v uživatelském procesu za cenu několika pokynů zaslaných na MMU. Pouze v případě, že uživatelský proces změnil data, bude třeba cokoli zkopírovat a dokonce i pak pouze ty části dat, které se skutečně změnily.

Dalším problémem v Aleph bylo, že jeho porty byly identifikovány jedinečnými ID, která byla přiřazena postupně. Pro program bylo jednoduché „uhodnout“ je, a získat tak přístup ke zdrojům v počítači, které mu nebyly uděleny. Díky tomu byl systém Aleph poměrně nejistý.

Za tímto účelem společnost Accent nastavila interní ID portu pouze na jádro. Instance otevření programu porty byly předány zpět různá ID, uložená v mapování v jádře. Kdykoli byla do jádra odeslána zpráva k doručení, nejprve zkontrolovala, zda má program přístup k danému portu, porovnáním s mapovací tabulkou pro tento program. Hádání čísel portů již nefungovalo, ID portů programu nedávaly ponětí o „skutečných“ ID v jádře a jakýkoli pokus o rozhovor na jednom, který jádro výslovně nerozdalo, byla chyba. Tak byly zastoupeny porty společnosti Accent schopnosti, udělení práv k použití prostředků v důsledku předání platného ID portu. Tento druh systému schopností, pomocí předmět - specifické identifikátory schopností, se nazývá a Systém C-seznamu.

Po několika letech začal projekt Accent vypadat čím dál méně zajímavě. Na začátku 80. let se mnozí domnívali, že budoucího zvýšení výkonu se dosáhne přidáním dalších CPU strojům, něco, na co jádro Accentu opravdu nebylo vybaveno. Přidáním problému bylo, že se objevovala nová generace výkonnějších pracovních stanic, což znamená, že Accent by k nim pravděpodobně stejně musel být přenesen. Stejně tak Unix vyrostl the operační systém volby pro experimentální práci, a to jak na návrhu operačního systému, tak i vývojová platforma pro uživatelské aplikace.

Za účelem řešení těchto změn bylo rozhodnuto ukončit práci na Accentu a začít znovu. Nový systém by používal systém portů společnosti Accent v rámci unixového jádra, čímž by vytvořil známý Machovo jádro.

Některé funkce Accentu:

Reference


externí odkazy

  • Rashid, Richard F.; George G. Robertson. „Accent: komunikační jádro síťového operačního systému“ (PDF). Citovat deník vyžaduje | deník = (Pomoc)[trvalý mrtvý odkaz ]