TRIX (operační systém) - TRIX (operating system)
Vývojář | MIT je Laboratoř pro informatiku (LCS) |
---|---|
Rodina OS | Unixový |
Pracovní stav | Historický |
Zdrojový model | Otevřený zdroj |
První vydání | 1986 |
K dispozici v | Angličtina |
Platformy | NuMachine |
Jádro typ | Monolitické jádro |
Výchozí uživatelské rozhraní | Rozhraní příkazového řádku |
TRIX je síťově orientovaný výzkumný operační systém vyvinutý na konci 70. let v MIT je Laboratoř pro informatiku (LCS) profesorem Steve Ward a jeho výzkumná skupina. Běželo to na NuMachine a měl vzdálené volání procedury funkce zabudovaná do jeho jádro, ale jinak byl Verze 7 Unix podobně.
Návrh a implementace
Při spuštění by NuMachine načetl stejný program na každý CPU v systému a předal každé instanci číselné ID CPU, na kterém běžel. Společnost TRIX spoléhala na tento design, že první procesor nastavil globální datové struktury a poté nastavil příznak, který signalizuje dokončení inicializace.[1] Poté měla každá instance jádra přístup k globálním datům.[1] Systém také podporoval data soukromá pro každý CPU.[1] Přístup k souborovému systému poskytl program v uživatelský prostor.[1][2]
Jádro podporovalo nepojmenovaná vlákna běžící v doménách.[1] Doména byla ekvivalentem unixového procesu bez ukazatele zásobníku[2] (každé vlákno v doméně mělo ukazatel zásobníku[2]). Vlákno může změnit domény,[1] a plánovač systému by migroval vlákna mezi CPU, aby udržel všechny procesory zaneprázdněné.[1] Vlákna měla přístup k jedinému druhu primitiva vzájemného vyloučení a jedné ze sedmi priorit.[1] Plánovač byl navržen tak, aby se tomu vyhnul prioritní inverze.[1] Programy uživatelského prostoru mohly vytvářet vlákna prostřednictvím a potěr
systémové volání.[1]
Sběratel odpadu by pravidelně identifikoval a uvolnil nepoužívané domény.[1]
Model sdílené paměti používaný ke koordinaci práce mezi různými způsobenými CPU paměťová sběrnice sváru a bylo známo, že je zdrojem neefektivity.[1][2] Návrháři věděli o návrzích, které by zmírnily tvrzení.[2] Původní design TRIX skutečně používal neblokovací mechanismus předávání zpráv,[2] ale „bylo zjištěno, že tato implementace má nedostatky často v literatuře přehlížené,“[2] včetně špatného výkonu.[2]
Přestože byl operační systém TRIX poprvé implementován na NuMachine, šlo spíše o výsledek dostupnosti NuMachine na MIT než o jakoukoli charakteristiku architektury.[1] Systém byl navržen tak, aby byl snadno přenosný.[2] Byl implementován převážně v jazyce C s malým montážním kódem. Primitiv vzájemného vyloučení lze přenést na jakoukoli architekturu s atomem zkouška a nastavení instrukce.[1]
Pokus o použití projektu GNU
Richard Stallman zmiňuje v roce 1985 Manifest GNU že "existuje počáteční jádro" pro Operační systém GNU, „ale k emulaci Unixu je zapotřebí mnohem více funkcí.“[3] Toto byl odkaz na jádro TRIXu, které se autoři TRIXu rozhodli distribuovat jako svobodný software.[4]
V projevu v říjnu 1986 Stallman uvedl, že „jádro TRIX běží a má určité omezené množství kompatibility s Unixem, ale potřebuje mnohem víc. V současné době má souborový systém, který používá stejnou strukturu na disku jako starověký Souborový systém Unix ano. To usnadnilo ladění věci, protože mohli nastavit soubory pomocí Unixu a pak mohli spustit TRIX, ale tento souborový systém nemá žádnou z funkcí, které považuji za nezbytné. “[5] Funkce, které si Stallman přál přidat (správa verzí souborů, odstranění, informace o tom, kdy a jak a kde byl soubor zálohován na pásku, aktualizace atomických souborů), nebyly obecně spojeny s Unixem.
V prosinci 1986 použili vývojáři jádro TRIXu jako základnu při svém prvním pokusu o vytvoření jádro pro GNU. Nakonec se rozhodli, že Trix je nepoužitelný jako výchozí bod, a to především proto, že:
- běželo to jen na „temném, nákladném 68000 krabice",[4] a proto by vyžadoval portování jiným architektury, a
- bylo rozhodnuto, že Mach microkernel byl lepší základní design pro serverový operační systém.[Citace je zapotřebí ] Tento druhý pokus se vyvinul do GNU Hurd.
Viz také
Reference
- ^ A b C d E F G h i j k l m n „Implementace více procesorů operačního systému TRIX“ (PDF). Citováno 2012-07-02.
- ^ A b C d E F G h i „TRIX: Operační systém orientovaný na komunikaci“ (PDF). Citováno 2012-07-02.
- ^ „Manifest GNU“. Citováno 2010-08-05.
- ^ A b Stallman, Richard M. (leden 1987). „Stav projektu GNU“. Bulletin GNU. Free Software Foundation. 1 (2). Citováno 2018-05-12.
- ^ „RMS lecture at KTH“. 1986-10-30. Citováno 2018-05-12.
Další čtení
- Ward, S.A. TRIX: síťově orientovaný operační systém. COMPCON, jaro 1980, s. 344–349.
externí odkazy
- Zdrojový kód jádra TRIX (může také být procházet online )
- Hurdská historie na Projekt GNU webová stránka