Pokud jste vývojář softwaru ve svých 20 nebo 30 letech, vyrostli jste ve světě, kterému dominuje Linux. Je významným hráčem v datových centrech po celá desetiletí, a přestože je těžké najít definitivní zprávy o podílu operačních systémů na trhu, podíl Linuxu na operačních systémech pro datová centra může dosahovat až 70 %, přičemž téměř celé zbývající procento představují varianty Windows. . Vývojáři používající jakýkoli velký veřejný cloud mohou očekávat, že cílový systém bude provozovat Linux. Důkazy o tom, že Linux je všude, v posledních letech vzrostly, když přidáte Android a vestavěné systémy založené na Linuxu do chytrých telefonů, televizorů, automobilů a mnoha dalších zařízení.
Přesto většina softwarových vývojářů, dokonce i ti, kteří vyrostli během této úctyhodné „linuxové revoluce“, alespoň slyšeli o Unixu. Zní to podobně jako Linux a pravděpodobně jste slyšeli, že lidé používají tyto termíny zaměnitelně. Nebo jste možná slyšeli, že Linux se nazývá operační systém „podobný Unixu“.
Takže, co je to za Unix? Karikatury hovoří o kouzelnických „šedovousech“ sedících za zářícími zelenými obrazovkami, píšících C kód a shell skripty, poháněné staromódní, překapávanou kávou. Unix má ale mnohem bohatší historii než ty vousaté C programátory ze 70. let. Zatímco článků popisujících historii Unixu a srovnání "Unix vs. Linux" je mnoho, tento článek nabídne pozadí na vysoké úrovni a seznam hlavních rozdílů mezi těmito komplementárními světy.
Začátky Unixu
Historie Unixu začíná v AT&T Bell Labs koncem 60. let 20. století s malým týmem programátorů, kteří chtějí napsat víceúlohový operační systém pro více uživatelů pro PDP-7. Dva z nejpozoruhodnějších členů tohoto týmu ve výzkumném zařízení Bell Labs byli Ken Thompson a Dennis Ritchie. Zatímco mnoho unixových konceptů bylo odvozeno od jeho předchůdce (Multics), rozhodnutí unixového týmu na počátku 70. let 20. století přepsat tento malý operační systém do jazyka C je tím, co Unix oddělilo od všech ostatních. V té době byly operační systémy jen zřídka, pokud vůbec, přenosné. Místo toho byly operační systémy svou povahou designu a nízkoúrovňovým zdrojovým jazykem těsně propojeny s hardwarovou platformou, pro kterou byly vytvořeny. Refaktorováním Unixu na programovací jazyk C by nyní Unix mohl být portován na mnoho hardwarových architektur.
Kromě této nové přenositelnosti, která Unixu umožnila rychle expandovat mimo Bell Labs k dalšímu výzkumu, akademickému a dokonce i komerčnímu využití, bylo několik klíčových zásad návrhu operačního systému atraktivních pro uživatele a programátory. Unixová filozofie Kena Thompsona se za prvé stala výkonným modelem modulárního softwarového návrhu a výpočetní techniky. Filozofie Unixu doporučovala používat malé, účelově vytvořené programy v kombinaci k provádění komplexních celkových úkolů. Vzhledem k tomu, že Unix byl navržen pro soubory a kanály, je tento model „spojování“ vstupů a výstupů programů dohromady do lineární sady operací na vstupu stále v módě i dnes. Ve skutečnosti současný model cloudless computingu vděčí za mnohé ze svého dědictví Unixové filozofii.
Rychlý růst a konkurence
Na konci 70. a 80. let se Unix stal kořenem rodokmenu, který se rozšířil napříč výzkumem, akademickou sférou a rostoucí obchodní činností operačního systému Unix. Unix nebyl software s otevřeným zdrojovým kódem a zdrojový kód Unixu byl licencovatelný prostřednictvím dohod s jeho vlastníkem, společností AT&T. První známá softwarová licence byla prodána University of Illinois v roce 1975.
Unix na akademické půdě rychle rostl a Berkeley se stalo významným centrem činnosti, vzhledem k tomu, že tam v 70. letech měl Ken Thompson volno. Se všemi aktivitami kolem Unixu v Berkeley se zrodila nová dodávka unixového softwaru:Berkeley Software Distribution neboli BSD. Zpočátku nebylo BSD alternativou k Unixu AT&T, ale doplňkem s dalším softwarem a schopnostmi. V době, kdy v roce 1979 přišla 2BSD (druhá distribuce softwaru v Berkeley), přidal Bill Joy, absolvent Berkeley, nyní známé programy jako vi
a C shell (/bin/csh).
Kromě BSD, které se stalo jednou z nejpopulárnějších větví rodiny Unixů, komerční nabídky Unixu explodovaly v 80. letech a do 90. let se jmény jako HP-UX, IBM AIX, Sun Solaris, Sequent a Xenix. Jak větve rostly z původního kořene, začaly „války Unixu“ a standardizace se stala novým středobodem komunity. Standard POSIX se zrodil v roce 1988, stejně jako další standardizace navazující na The Open Group do 90. let.
Další zdroje pro Linux
- Cheat pro příkazy Linuxu
- Cheat sheet pro pokročilé příkazy systému Linux
- Bezplatný online kurz:Technický přehled RHEL
- Síťový cheat pro Linux
- Cheat sheet SELinux
- Cheat pro běžné příkazy pro Linux
- Co jsou kontejnery systému Linux?
- Naše nejnovější články o Linuxu
Přibližně v této době AT&T a Sun vydali System V Release 4 (SVR4), který byl přijat mnoha komerčními prodejci. Samostatně se rodina BSD operačních systémů v průběhu let rozrostla, což vedlo k některým variacím open source, které byly vydány pod dnes již známou licencí BSD. To zahrnovalo FreeBSD, OpenBSD a NetBSD, každý s mírně odlišným cílovým trhem v odvětví serverů Unix. Tyto varianty Unixu mají i dnes určité využití, ačkoli mnozí viděli, že jejich podíl na trhu serverů se zmenšil na jednociferné (nebo nižší). BSD může mít dnes největší instalační základnu ze všech moderních unixových systémů. Také každou hardwarovou jednotku Apple Mac dodanou v nedávné historii může BSD nárokovat, protože její operační systém OS X (nyní macOS) je odvozen od BSD.
Zatímco celá historie Unixu a jeho akademických a komerčních variant by mohla zabrat mnohem více stránek, v zájmu zaměření našeho článku přejděme k vzestupu Linuxu.
Zadejte Linux
To, co dnes nazýváme operačním systémem Linux, je ve skutečnosti spojením dvou snah z počátku 90. let. Richard Stallman se snažil vytvořit skutečně svobodnou a open source alternativu k proprietárnímu unixovému systému. Pracoval na utilitách a programech pod názvem GNU, což je rekurzivní zkratka znamenající "GNU není Unix!" Přestože probíhal projekt jádra, ukázalo se, že je obtížné ho realizovat a bez jádra by nebylo možné realizovat sen o svobodném a open source operačním systému. Byla to práce Linuse Torvalda – vytvoření funkčního a životaschopného jádra, které nazval Linux –, která přivedla k životu kompletní operační systém. Vzhledem k tomu, že Linus používal několik nástrojů GNU (např. GNU Compiler Collection nebo GCC), spojení nástrojů GNU a linuxového jádra bylo perfektní.
Linuxové distribuce ožily s komponenty GNU, linuxového jádra, MIT X-Windows GUI a dalších BSD komponent, které bylo možné používat pod open source BSD licencí. Raná popularita distribucí jako Slackware a poté Red Hat poskytla „běžným uživatelům PC“ v 90. letech přístup k operačnímu systému Linux a spolu s ním mnoho proprietárních unixových systémových schopností a utilit, které používali ve svém pracovním nebo akademickém životě.
Vzhledem k tomu, že všechny linuxové komponenty mají svobodný a otevřený zdroj, mohl kdokoli s trochou úsilí vytvořit distribuci Linuxu a brzy se celkový počet distribucí vyšplhal na stovky. Mnoho vývojářů samozřejmě využívá Linux buď prostřednictvím cloudových poskytovatelů, nebo pomocí populárních bezplatných distribucí, jako je Fedora, Canonical's Ubuntu, Debian, Arch Linux, Gentoo a mnoho dalších variant. Komerční nabídky Linuxu, které poskytují podporu nad rámec bezplatných a open source komponent, se staly životaschopnými, protože mnoho podniků, včetně IBM, migrovalo z proprietárního Unixu na nabízení middlewarových a softwarových řešení na Linuxu. Red Hat vybudoval model komerční podpory kolem Red Hat Enterprise Linux, stejně jako německý poskytovatel SUSE se SUSE Linux Enterprise Server (SLES).
Porovnání Unixu a Linuxu
Doposud jsme se podívali na historii Unixu a vzestup Linuxu a GNU/Free Software Foundation podporující svobodnou a open source alternativu k Unixu. Pojďme se podívat na rozdíly mezi těmito dvěma operačními systémy, které sdílejí mnoho ze stejného dědictví a mnoho ze stejných cílů.
Z pohledu uživatelské zkušenosti se toho příliš neliší! Velkou částí přitažlivosti Linuxu byla dostupnost operačního systému napříč mnoha hardwarovými architekturami (včetně moderních PC) a schopnost používat nástroje známé správcům a uživatelům unixových systémů.
Kvůli standardům POSIX a shodě by mohl být software napsaný na Unixu kompilován pro operační systém Linux s obvykle omezeným úsilím o portování. Shell skripty lze v mnoha případech použít přímo na Linuxu. Zatímco některé nástroje měly mírně odlišné možnosti příznaku/příkazového řádku mezi Unixem a Linuxem, mnohé fungovaly na obou stejně.
Jedna vedlejší poznámka je, že popularita hardwaru a operačního systému macOS jako platformy pro vývoj, která se zaměřuje hlavně na Linux, lze přičíst operačnímu systému macOS podobnému BSD. Mnoho nástrojů a skriptů určených pro systém Linux funguje snadno v terminálu macOS. Mnoho softwarových komponent s otevřeným zdrojovým kódem dostupných na Linuxu je snadno dostupných prostřednictvím nástrojů, jako je Homebrew.
Zbývající rozdíly mezi Linuxem a Unixem se týkají hlavně licenčního modelu:open source vs. proprietární, licencovaný software. Také nedostatek společného jádra v unixových distribucích má důsledky pro dodavatele softwaru a hardwaru. Pro Linux může dodavatel vytvořit ovladač zařízení pro konkrétní hardwarové zařízení a očekávat, že v rozumné míře bude fungovat ve většině distribucí. Kvůli komerčním a akademickým větvím unixového stromu může prodejce napsat různé ovladače pro varianty Unixu a mít licencování a další problémy související s přístupem k SDK nebo distribučnímu modelu pro software jako binární ovladač zařízení napříč mnoha Unixové varianty.
Jak obě komunity během posledního desetiletí dospěly, mnoho pokroků v Linuxu bylo přijato ve světě Unixu. Mnoho GNU utilit bylo zpřístupněno jako doplňky pro unixové systémy, kde vývojáři chtěli funkce z GNU programů, které nejsou součástí Unixu. Například AIX od IBM nabídl AIX Toolbox pro linuxové aplikace se stovkami softwarových balíčků GNU (jako Bash, GCC, OpenLDAP a mnoho dalších), které bylo možné přidat do instalace AIX a usnadnit tak přechod mezi systémy Linux a AIX založenými na Unixu. .
Proprietární Unix je stále naživu a dobře, a protože mnoho hlavních dodavatelů slibuje podporu pro jejich aktuální vydání až do roku 2020, je samozřejmé, že Unix tu bude v dohledné době. Také větev BSD unixového stromu je open source a NetBSD, OpenBSD a FreeBSD mají silnou uživatelskou základnu a komunity s otevřeným zdrojovým kódem, které nemusí být tak viditelné nebo aktivní jako Linux, ale v nedávných zprávách o sdílení serverů si drží svou pozici. , s výrazně nad proprietárními Unixovými čísly v oblastech, jako je webové poskytování.
Linux ukázal významnou výhodu oproti proprietárnímu Unixu v jeho dostupnosti na velkém množství hardwarových platforem a zařízení. Raspberry Pi, oblíbené mezi fandy a nadšenci, je založeno na Linuxu a otevřelo dveře celému spektru IoT zařízení s Linuxem. Již jsme zmínili zařízení Android, auta (s Automotive Grade Linux) a chytré televizory, kde má Linux velký podíl na trhu. Každý poskytovatel cloudu na planetě nabízí virtuální servery s Linuxem a mnoho dnešních nejpopulárnějších cloudových nativních stacků je založeno na Linuxu, ať už mluvíte o kontejnerových runtimech nebo Kubernetes nebo mnoha bezserverových platformách, které získávají na popularitě.
Jednou z nejvýraznějších reprezentací vzestupu Linuxu je transformace Microsoftu v posledních letech. Kdybyste před deseti lety řekli softwarovým vývojářům, že operační systém Windows v roce 2016 „poběží Linux“, většina z nich by se hystericky zasmála. Ale existence a popularita Windows Subsystem for Linux (WSL), stejně jako nedávno oznámené funkce, jako je port Windows Docker, včetně podpory LCOW (Linuxové kontejnery pro Windows), jsou důkazem dopadu, který Linux měl – a jasně bude mít i nadále – napříč světem softwaru.
Tento článek byl původně publikován v květnu 2018 a byl aktualizován editorem.