Je macOS UNIX? (a co to znamená?)

Photo of author

By etechblogcz

Je macOS systémem UNIX, nebo se mu pouze podobá? Pokusíme se objasnit tuto dlouhotrvající diskuzi a zároveň se podíváme na standardy jako POSIX a SUS.

macOS: Skutečný UNIX, nebo jen jeho napodobenina?

Toto téma vyvolává mnoho nejasností. Jaké je postavení macOS? Kolik původních prvků z UNIXu si zachoval dnešní macOS a záleží na tom vůbec? Abychom mohli rozhodnout, zda je něco skutečně „unixové“, musíme si nejprve definovat, co přesně tyto pojmy znamenají a kdo o tom může rozhodovat.

Začněme u kořenů.

Unix vznikl před více než půl stoletím v Bell Labs, výzkumném oddělení společnosti AT&T. V roce 1973 byla verze 4 Unixu přepsána do programovacího jazyka C, což výrazně zlepšilo jeho přenositelnost mezi různými hardwarovými platformami. Ve stejném roce Ken Thompson a Dennis Ritchie, dva z hlavních tvůrců Unixu, prezentovali svůj projekt na konferenci o operačních systémech, což vedlo k okamžitému zájmu o jeho kopie.

Vzhledem k dohodě o omezení z roku 1956, která společnosti AT&T zakazovala „jakékoli jiné podnikání kromě poskytování komunikačních služeb“, nemohl být Unix vnímán jako ziskový produkt. Společnost se proto rozhodla distribuovat Unix jako zdrojový kód pod poměrně liberální licencí. Poplatky pokrývaly pouze náklady na přepravu a balení a „přiměřený honorář“.

Šíření Unixu do světa

Protože Unix byl poskytován bez podpory „tak, jak je“, začala se formovat komunita, která si navzájem pomáhala, opravovala chyby a rozšiřovala jeho možnosti. Zdroje kódu byly volně dostupné, což umožňovalo jejich úpravy a vylepšování. Začaly se objevovat různé varianty Unixu, upravené pro specifické potřeby různých organizací.

Bob Fabry, profesor informatiky na UC Berkeley, se zúčastnil konference Symposium on Operating Systems Principles v roce 1973, kde slyšel prezentaci Thompsona a Ritchieho o systému UNIX Time-Sharing System.

Fabry si vyžádal kopii operačního systému a v roce 1974 byl Unix nainstalován na PDP/11 v Computer Sciences Research Group (CSRG) na UC Berkeley. Ken Thompson zde strávil rok a pracoval na tom, co se brzy stalo univerzitní verzí Unixu. Změny a doplňky UC Berkeley byly distribuovány pod názvem Berkeley Software Distribution (BSD), která se postupně stala plnohodnotnou distribucí unixového systému, známou jako BSD. Čísla verzí, jako 4.2BSD, označovala jednotlivá vydání.

V roce 1984 byla společnost AT&T zbavena omezení z roku 1956 a mohla začít oficiálně prodávat svůj operační systém. Ten obsahoval i kód z BSD, například TCP/IP, vi a C shell, csh. I přes tuto vzájemnou spolupráci však existovaly problémy s licencováním. BSD totiž obsahovalo AT&T kód, který nebyl open source, zatímco některé jeho prvky ano.

Aby se tyto problémy vyřešily, byla vytvořena verze BSD bez AT&T kódu. Po odstranění tohoto kódu však chybělo asi 20 % jádra. William Jolitz napsal chybějící části a tato verze Unixu byla vydána jako 386BSD. Projekt 386BSD sice skončil, ale v roce 1993 se stal základem pro projekty NetBSD a FreeBSD.

Tím jsme získali první část skládačky: FreeBSD.

Další díl do mozaiky

Poté, co byl v roce 1985 propuštěn z Apple, Inc., Steve Jobs založil společnost NeXT, Inc.. Pro svůj sortiment pracovních stanic vyvinula společnost NeXT operační systém NeXTSTEP, který využíval BSD jako základ, ale představil zcela nové jádro.

NeXT použil upravenou verzi mikrojádra Mach a 4.3BSD k vytvoření NeXTSTEP, což je druhá část naší skládačky. Mach byl vyvinut na Carnegie Mellon pro usnadnění výzkumu distribuovaných a paralelních výpočtů. Výzkumný tým použil BSD jako operační systém a nahradil jeho jádro, místo aby psal svůj vlastní operační systém.

XNU: Srdce macOS

V roce 1996 Apple, Inc. koupil NeXT, Inc. a tím získal NeXTSTEP. Apple začal vyvíjet operační systém, který se později stal macOS Mac OS X. Vylepšil jádro Mach a nahradil ho pokročilejší verzí vyvinutou a používanou v operačním systému Open Software Foundation OSF/1. Apple také aktualizoval komponenty BSD na novější verze z distribuce FreeBSD.

Apple začlenil prvky jádra BSD zpět do jádra Mach a vyvinul hybridní jádro, které kombinuje vlastnosti monolitické i mikrokernelové architektury.

Součástí systému se stal také I/O Kit, který Apple vyvinul na základě NeXTSTEP DriverKit. To umožnilo přidávat ovladače do jádra bez nutnosti jeho modifikace.

XNU je třetí a poslední část naší skládačky.

Standardy POSIX a SUS

V roce 1996 se dvě normalizační organizace – X/Open a Open Software Foundation – sloučily a vytvořily The Open Group.

Open Group se zabývá certifikací systémů.