Jádro Linuxu i jádro MacOS jsou založeny na UNIXu. Někteří lidé říkají, že macOS je „linux“, někteří tvrdí, že oba systémy jsou kompatibilní díky podobnosti příkazů a hierarchie souborového systému.

Dnes bych chtěl ukázat trochu z obojího a ukázat rozdíly a podobnosti mezi jádrem Linuxu & jádrem Macu, jak jsem se zmínil v předchozích článcích o jádru Linuxu.

Obsah

Jádro macOS

V roce 1985 Steve Jobs opustil společnost Apple kvůli neshodám s generálním ředitelem Johnem Sculleym a představenstvem společnosti Apple. Poté založil novou počítačovou společnost NeXT. Jobs chtěl rychle uvést na trh nový počítač (s novým operačním systémem). Aby tým NeXTu ušetřil čas, použil jádro Carnegie Mellon Mach a části kódové základny BSD k vytvoření operačního systému NeXTSTEP.

Operační systém NeXTSTEP pro stolní počítače

NeXT se nikdy nestal finančně úspěšným, částečně kvůli Jobsovu zvyku utrácet peníze, jako by byl stále ve společnosti Apple. Mezitím se Apple několikrát neúspěšně pokusil aktualizovat svůj operační systém, dokonce navázal spolupráci s IBM. V roce 1997 Apple koupil NeXT za 429 milionů dolarů. V rámci transakce se Steve Jobs vrátil do Applu a NeXTSTEP se stal základem macOS a iOS.

Jádro Linuxu

Na rozdíl od jádra macOS nebyl Linux vytvořen jako součást komerčního podniku. Místo toho jej v roce 1991 vytvořil student informatiky Linus Torvalds. Původně bylo jádro napsáno podle specifikací Linusova počítače, protože chtěl využít výhod svého nového procesoru 80386.

Linus zveřejnil kód svého nového jádra na webu v srpnu 1991. Brzy dostával návrhy kódu a zdrojů po celém světě. Následující rok Orest Zborowski portoval systém X Windows System do Linuxu a dal mu možnost podporovat grafické uživatelské rozhraní.

Zdroje jádra MacOS

Jádro MacOS je oficiálně známé jako XNU. Zkratka znamená „XNU není Unix“. Podle oficiální stránky Apple na Githubu je XNU „hybridní jádro, které kombinuje jádro Mach vyvinuté na Carnegie Mellon University s komponentami FreeBSD a C++ pro ovladače“.

Subsystémová část kódu BSD je „obvykle implementována jako servery uživatelského prostoru v mikrojádrových systémech“. Část Mach je zodpovědná za nízkoúrovňovou práci, jako je multitasking, chráněná paměť, správa virtuální paměti, podpora ladění jádra a konzolové vstupy/výstupy.

zdroje jádra MacOS

Mapa systému MacOS: srdce všeho se jmenuje Darwin; a v jeho rámci máme oddělené systémové nástroje a jádro XNU, které se skládá z části z jádra Mach a z jádra BSD.

Na rozdíl od Linuxu je toto jádro rozděleno na takzvané hybridní jádro, které umožňuje, aby se jedna jeho část zastavila kvůli údržbě, zatímco druhá pokračuje v práci. V několika debatách se tím také otevřela otázka, že hybridní jádro je stabilnější; pokud se jedna jeho část zastaví, druhá ji může znovu spustit.

Zdroje linuxového jádra

Zatímco jádro macOS kombinuje možnosti mikrojádra Mach a monolitického jádra jako BSD, Linux je pouze monolitické jádro. Monolitické jádro je zodpovědné za správu procesoru, paměti, komunikaci mezi procesy, ovladače zařízení, souborový systém a volání systémových služeb. To znamená, že dělá vše bez dílčích částí.

Očividně to již vyvolalo mnoho diskusí i u samotného Linuse a dalších vývojářů, kteří tvrdí, že monolitické jádro je kromě toho, že je pomalejší, náchylnější k chybám; Linux je však každoročně opakem a lze jej optimalizovat jako hybridní jádro. Navíc s pomocí RedHatu nyní jádro obsahuje Live Patch, který umožňuje údržbu v reálném čase bez nutnosti restartu.

Rozdíly mezi jádrem MacOS (XNU) a Linuxu

  1. Jádro MacOS (XNU) existuje déle než Linux a bylo založeno na kombinaci dvou ještě starších kódových základen. To převažuje ve prospěch, kvůli stabilitě a historii
  2. Na druhou stranu je Linux novější, napsaný od základu a používaný na mnoha dalších zařízeních; natolik, že je přítomen ve všech 500 nejlepších mezi nejlepšími superpočítači a v nedávno slavnostně otevřeném severoamerickém superpočítači.

V rozsahu systému nemáme správce balíčků přes příkazový řádek v terminálu macOS.

Instalace balíčků ve formátu .pkg – například BSD – probíhá přes tento příkazový řádek, pokud ne přes grafické uživatelské rozhraní:

$ sudo installer -pkg /path/to/package.pkg -target /

POZNÁMKA: MacOS .pkg je úplně jiný než BSD .pkg!

Nemyslete si, že macOS podporuje programy BSD a naopak. Nepodporuje a neinstaluje se. V macOS můžeš mít příkaz ekvivalentní apt, pod 2 možnostmi:

Instalace Homebrewor MacPorts. Nakonec budete mít následující syntaxi:$ brew install PACKAGE

$ port install PACKAGE

Pamatujte, že ne všechny programy/balíčky dostupné pro Linux nebo BSD budou v MacOS Ports.

Kompatibilita

Ohledně kompatibility není moc co říct; jádro Darwin a jádro Linuxu jsou stejně odlišné, jako když porovnáte jádro Windows NT s jádrem BSD. Ovladače napsané pro Linux nefungují v systému MacOS a naopak. Musí být předem zkompilovány; Zajímavé je, že Linux má řadu démonů pro MacOS, včetně tiskového serveru CUPS!“

Co máme společné v kompatibilitě, jsou vlastně terminálové nástroje jako balíčky GNU Utils nebo Busybox, takže máme nejen BASH, ale také gcc, rm, dd, top, nano, vim atd. A to je vlastní všem aplikacím založeným na UNIXu. Kromě toho máme architekturu složek souborového systému, společné složky společné pro kořenový systém v /, / lib, / var, / atd, / dev atd.

Závěr

MacOS a Linux mají své podobnosti a rozdíly, stejně jako BSD ve srovnání s Linuxem. Protože však vycházejí z UNIXu, mají společné vzory, díky nimž je jejich prostředí důvěrně známé. Ti, kteří používají Linux a migrují pro macOS nebo naopak, budou znát řadu příkazů a funkcí.

Nejvýraznějším rozdílem bude grafické rozhraní, jehož problém bude otázkou osobního přizpůsobení.


Hostování LinuxAndUbuntu sponzoruje společnost massiveGRID

.