Operační systém Linux čerpal inspiraci z Unixu, avšak není jeho identickou kopií, i když se mu v mnohém podobá. Následující text objasňuje klíčové rozdíly mezi těmito dvěma významnými systémy.
Je rozdíl skutečně tak markantní?
Linux je volně dostupný operační systém s otevřeným zdrojovým kódem. Na druhé straně, Unix je komerční produkt, nabízený různými dodavateli, z nichž každý nabízí vlastní variantu, obvykle určenou pro konkrétní hardware. Jedná se o drahý a uzavřený systém. Ovšem, jak Linux, tak Unix plní v podstatě stejné úlohy podobným způsobem, že? Z větší části ano.
Avšak situace je mnohem komplexnější. Existují rozdíly, které přesahují technické a architektonické aspekty. Pro hlubší porozumění vlivům, které formovaly Unix a Linux, je nutné se podívat na jejich historii.
Původ systému Unix
Unix má za sebou více než 50 let vývoje. Byl vyvinut ve společnosti Digital Equipment Corporation (DEC) pomocí jazyka symbolických instrukcí na počítači DEC PDP/7 jako neformální projekt v Bell Labs, která tehdy spadala pod AT&T. Krátce poté byl přenesen na počítač DEC PDP/11/20 a následně se rozšířil mezi další počítače v Bell Labs. Přepsání do programovacího jazyka C v roce 1973 vedlo k verzi 4 Unixu, což bylo významné, neboť vlastnosti jazyka C a překladače umožnily snadnější přenos Unixu na nové hardwarové platformy.
V roce 1973 Ken Thompson a Dennis Ritchie prezentovali příspěvek o Unixu na konferenci, což vyvolalo vlnu žádostí o kopie. Vzhledem k tomu, že prodej operačních systémů byl mimo rámec aktivit AT&T, nemohl být Unix prodáván jako produkt. Proto byl distribuován jako zdrojový kód s licencí. Nominální poplatek pokryl náklady na dopravu, balení a „přiměřený poplatek“. Unix byl dodáván „tak, jak je“, bez technické podpory a oprav chyb. Uživatelé však získali zdrojový kód, který mohli upravovat.
Unix si rychle získal oblibu v akademickém prostředí. V roce 1975 strávil Ken Thompson přestávku v Bell Labs na Kalifornské univerzitě v Berkeley. Zde začal se studenty pracovat na vylepšení místní verze Unixu. Zájem o tyto úpravy rostl, což vedlo k prvnímu vydání Berkeley Software Distribution (BSD). Nejednalo se o samostatný operační systém, ale o kolekci programů a úprav systému, které bylo možné přidat k existujícímu Unixu. Následující verze BSD již byly plnohodnotnými unixovými systémy.
Tak vznikly dvě hlavní větve Unixu: AT&T a BSD. Všechny další varianty, například AIX, HP-UX a Oracle Solaris, jsou odvozeny právě z těchto dvou. V roce 1984 došlo ke zmírnění omezení pro AT&T, což společnosti umožnilo vyrábět a prodávat Unix.
Následně byl Unix komercializován.
Zrození Linuxu
Komercializace Unixu byla vnímána jako omezení svobod pro uživatele počítačů, proto se Richard Stallman rozhodl vytvořit operační systém založený na svobodě. Tato svoboda spočívala v možnosti upravovat zdrojový kód, šířit upravené verze softwaru a používat software libovolným způsobem.
Zamýšlený operační systém měl replikovat funkce Unixu, aniž by obsahoval jeho zdrojový kód. Systém byl nazván GNU a v roce 1983 byl založen Projekt GNU za účelem jeho vývoje. V roce 1985 Stallman založil Free Software Foundation pro propagaci, financování a podporu projektu GNU.
Vývoj všech součástí systému GNU probíhal úspěšně, s výjimkou jádra. Vývojáři GNU pracovali na mikrokernelu zvaném GNU Hurd, ale pokrok byl pomalý (i dnes se stále vyvíjí a blíží se k vydání). Bez jádra však nemohl existovat žádný operační systém.
V roce 1987 Andrew S. Tanenbaum zveřejnil operační systém s názvem MINIX (mini-Unix) jako učební pomůcku pro studenty, kteří studovali návrh operačních systémů. MINIX byl funkční systém podobný Unixu, ale měl určitá omezení, především v oblasti souborového systému. Zdrojový kód musel být dostatečně malý, aby bylo možné ho probrat během jednoho univerzitního semestru, a některé funkce musely být obětovány.
Pro lepší pochopení fungování Intel 80386 ve svém novém PC, student informatiky Linus Torvalds napsal jednoduchý kód pro přepínání úloh jako cvičení. Tento kód se stal základem prvního linuxového jádra. Torvalds měl znalosti o MINIXu. Ve skutečnosti bylo jeho první jádro vyvíjeno na MINIXu pomocí překladače GCC od Richarda Stallmana.
Torvalds se rozhodl vytvořit operační systém, který by překonal omezení MINIXu určeného pro výuku. V roce 1991 učinil své slavné oznámení na Usenet skupině MINIXu a žádal o komentáře a návrhy ke svému projektu.
Linux není klon Unixu. Pokud by jím byl, jednalo by se o Unix. Není jím, pouze se mu podobá. Termín „klon“ se používá, když je malá část originálu kultivována do nové repliky. Linux byl vytvořen tak, aby vypadal a fungoval podobně jako Unix a plnil stejné potřeby. Jedná se spíše o replikant než o klon.
Linux byl jádrem, které hledalo operační systém, a GNU byl operační systém, který hledal jádro. Zpětně se zdá nevyhnutelné, co se stalo dál. Změnilo to svět.
Kdo se podílí na vývoji?
Linuxová distribuce je složena z mnoha různých částí, které pocházejí z mnoha různých zdrojů. Linuxové jádro, sada základních nástrojů GNU a uživatelské aplikace se spojují, aby vytvořily plnohodnotnou distribuci. Někdo to však musí dělat – kombinovat, spravovat a udržovat – stejně tak jako někdo musí vyvíjet jádro, aplikace a základní nástroje. Správci a komunity distribucí, stejně jako vývojáři jádra, hrají významnou roli v uvedení Linuxu do života.
Linux je výsledkem společného úsilí dobrovolníků, organizací jako Canonical a Red Hat, a jednotlivců podporovaných průmyslem.
Každý komerční Unix je vyvíjen jako jeden celek, s využitím vlastních, nebo přísně kontrolovaných externích, vývojových kapacit. Často mají jedinečné jádro a jsou navrženy speciálně pro hardwarové platformy dodávané daným prodejcem.
Bezplatné a open-source deriváty BSD Unixu, jako FreeBSD, OpenBSD a DragonBSD, používají kombinaci starého a nového kódu BSD. V současnosti se jedná o komunitní projekty spravované podobně jako linuxové distribuce.
Standardy a dodržování
Obecně platí, že Linux není plně kompatibilní ani se Single Unix Specification (SUS), ani s POSIX. Snaží se oběma standardům vyhovět, ale nesnaží se je bezvýhradně naplňovat. Existují výjimky, jako například Inspur K-UX, čínský Linux, který je s POSIXem kompatibilní.
Skutečný Unix, stejně jako komerční nabídky, je kompatibilní. Některé deriváty BSD, včetně všech verzí macOS kromě jedné, jsou kompatibilní s POSIX. Názvy variant, jako AIX, HP-UX a Solaris, jsou ochranné známky příslušných organizací.
Ochranné známky a autorská práva
Linux je registrovaná ochranná známka Linuse Torvaldse. Linux Foundation spravuje tuto ochrannou známku jeho jménem. Linuxové jádro a základní nástroje jsou vydávány pod různými „copyleft“ GNU General Public Licenses. Zdrojový kód je volně dostupný.
Unix je registrovaná ochranná známka společnosti The Open Group. Je chráněn autorskými právy, je majetkem a má uzavřený zdrojový kód.
FreeBSD je chráněno autorskými právy FreeBSD Project a zdrojový kód je dostupný.
Rozdíly v používání
Z pohledu uživatele, který pracuje s příkazovým řádkem, nejsou rozdíly příliš znatelné. Díky standardům POSIX a shodě může být software napsaný pro Unix kompilován pro Linux s minimálním úsilím o portování. Například skripty Shell lze ve většině případů používat na Linuxu bez úprav.
Některé nástroje příkazového řádku mají mírně odlišné možnosti, ale v podstatě je na obou platformách k dispozici stejný soubor nástrojů. Například IBM AIX má AIX Toolbox pro linuxové aplikace. Správci systému tak mohou nainstalovat stovky balíčků GNU (jako Bash, GCC atd.).
Různé varianty Unixu se liší v grafických uživatelských rozhraních (GUI), které mají k dispozici, a totéž platí i pro Linux. Uživatel Linuxu, který je zvyklý na prostředí GNOME nebo Mate, se bude muset zpočátku adaptovat při setkání s KDE nebo Xfce, ale brzy si na ně zvykne. Podobné je to s řadou GUI dostupných v Unixu, například Motif, Common Desktop Environment a X Window System. Všechna jsou však dostatečně podobná, aby se v nich každý, kdo zná koncepty okenního prostředí s dialogy, menu a ikonami, dokázal orientovat.
Rozdíly se projeví více při správě systémů. Například existují různé init mechanismy. Deriváty Unix System V a větve BSD mají odlišné init systémy. Bezplatné varianty BSD zachovaly init schémata BSD. Distribuce Linuxu standardně používají init systém odvozený z Unix System V nebo systemd.
Manuální vs. Automat
Pokud umíte řídit jedno, umíte řídit i druhé – i když na začátku to může být trochu náročné.
Kromě ceny jsou rozdíly ve filozofii, licencování, modelu vývoje, organizaci komunity a způsobu řízení větší a významnější než rozdíly v příkazech mezi například jednou verzí grep a jinou.
Největší rozdíly nejsou ty, které vidíte na obrazovce.