Unix je jedním z nejoblíbenějších operačních systémů na světě díky své široké základně podpory a rozšíření. Původně byl vyvinut jako multitaskingový systém pro minipočítače a mainframy v polovině 70. let 20. století. Od té doby se stal jedním znejpoužívanějších operačních systémů vůbec, a to i přes někdy nepřehledné rozhraní a nedostatek centrální standardizace.
Skutečný důvod popularity Unixu? Mnozí hackeři mají pocit, že Unix je ta správná věc – jediný pravý operační systém. Z toho vyplývá vývoj Linuxu rozšiřující se skupinou unixových hackerů, kteří si chtějí zašpinit ruce vlastním systémem.
Verze Unixu existují pro mnoho systémů, od osobních počítačů až po superpočítače, jako je Cray Y-MP. Většina verzíUnixu pro osobní počítače je poměrně drahá a těžkopádná. V době psaní tohoto článku stála verze Systemu V pro jeden stroj od společnosti AT&T pro počítač 386 přibližně 1500 amerických dolarů.
Linux je volně šiřitelná verze Unixu, původně vyvinutá Linusem Torvaldsem, který začal pracovat na Linuxu v roce 1991 jako student na Helsinské univerzitě ve Finsku.Linus nyní pracuje pro Transmeta Corporation, start-up v Santa Claře v Kalifornii, a nadále udržuje jádro Linuxu, tedy nejnižší úroveň jádra operačního systému.
Linus uvolnil počáteční verzi Linuxu zdarma na internetu a nechtěně tak dal vzniknout jednomu z největších fenoménů vývoje softwaru všech dob. Dnes je autorem a správcem Linuxu skupina několika tisíc (ne-li více) vývojářů, kteří volně spolupracují na internetu. vznikly společnosti, které poskytují podporu Linuxu, balí jej do snadno instalovatelných distribucí a prodávají pracovní stanice s předinstalovaným softwarem Linuxu. V březnu 1999 se v San Jose v Kalifornii konal první veletrh Linux World Expo, kterého se údajně zúčastnilo více než 12 000 lidí.Většina odhadů uvádí počet uživatelů Linuxu na celém světě někde kolem 10 milionů (a očekáváme, že v době, kdy budete číst tento článek, bude toto číslo vypadat jako malé).
Linux, inspirovaný operačním systémem Minix Andrewa Tanenbauma (další volný Unix pro PC – i když velmi jednoduchý), vznikl jako třídní projekt, ve kterém chtěl Linus vytvořit jednoduchý unixový systém, který by mohl běžet na PC s procesorem 386. První diskuse o Linuxu probíhaly v diskusní skupině Usenet comp.os.minix. Tyto diskuse se zabývaly převážně vývojem malého akademickéhoUnixového systému pro uživatele Minixu, kteří chtěli více.
Velice raný vývoj Linuxu se zabýval převážně funkcemi přepínání úloh v chráněném režimu rozhraní 80386, vše bylo napsáno v kódu assembleru. Linus píše:
Od té doby už to šlo jako po másle: kódování bylo stále chlupaté, ale měl jsem k dispozici několik zařízení a ladění bylo snazší. V této fázi jsem začal používat C,a to určitě urychluje vývoj. Tehdy jsem se také začal vážně zabývat svými megalomanskými nápady vytvořit „lepší Minixnež Minix“. Doufal jsem, že se mi někdy podaří překompilovatgcc pod Linuxem…
Dva měsíce na základní nastavení, ale pak jen o něco déle, než jsem měl diskový ovladač (vážně zabugovaný, ale náhodou na mém stroji fungoval)a malý souborový systém. To bylo zhruba v době, kdy jsem dal k dispozici verzi 0.01: nebyla hezká, neměla ovladač disket a neuměla skoro nic. Myslím, že tu verzi nikdo nikdy nezkompiloval. Ale v té době už jsem byl závislý a nechtěl jsem přestat, dokud se mi nepodaří vyhodit Minix.
Ve verzi 0.01 pro Linux nebylo nikdy vydáno žádné oznámení. Zdrojové kódy verze 0.01nebyly ani spustitelné: obsahovaly pouze základy zdrojového kódu jádra a předpokládaly, že máte přístup k počítači Minix, abyste si je mohli zkompilovat a pohrát si s nimi.
5. října 1991 Linus oznámil první „oficiální“ verzi Linuxu, verzi 0.02.
Ve verzi 0.02 se objevilo první oznámení. V té době Linus dokázal spustitbash (GNU Bourne AgainShell) a gcc (GNU Ccompiler), ale mnoho dalšího nefungovalo. Opět se jednalo o systém určený pro hackery. Primárním zaměřením byl vývoj jádra; žádná z otázek uživatelské podpory, dokumentace, distribuce atd. nebyla vůbec řešena. Dnes je situace zcela jiná – skutečné vzrušení ve světě Linuxu se týká grafických uživatelských prostředí, snadno instalovatelných distribučních balíčků a vysokoúrovňových aplikací, jako jsou grafické nástroje a balíky pro zvýšení produktivity.
Linus napsal v comp.os.minix:
Stýská se vám po krásných časech Minixu-1.1, kdy muži byli muži a sami si psali ovladače zařízení? Jste bez pěkného projektu a jen toužíte vycenit zuby na operační systém, který si můžete zkusit upravit pro svépotřeby? Přijde vám frustrující, když na Minixu všechno funguje?Už žádné celonoční snahy zprovoznit šikovný program? Pak by tento příspěvek mohl být právě pro vás.
Jak jsem se zmínil před měsícem, pracuji na bezplatné verzi podobného programu pro počítače AT-386. Konečně se dostala do stádia, kdy je dokonce použitelná (i když nemusí být, záleží na tom, co chcete), a jsem ochoten poskytnout zdrojové kódy pro širší distribuci. je to teprve verze 0.02 … ale úspěšně jsem pod ní spustilbash, gcc,GNU make, GNUsed, compress atd.
Po verzi 0.03 Linus zvýšil číslo verze na 0.10, protože na systému začalo pracovat více lidí. Po několika dalšíchrevizích Linus zvýšil číslo verze na 0.95, aby vyjádřil svéočekávání, že systém je velmi brzy připraven k „oficiálnímu „vydání. (Obecně se softwaru nepřiděluje číslo verze 1.0, dokud není teoreticky kompletní nebo bez chyb.) To bylo vbřeznu 1992. Téměř o rok a půl později, koncem prosince 1993, bylo jádro Linuxu stále ve verzi0.99.pl14 – asymptoticky se blížilo verzi 1.0. Verze 1.0 se objevila v březnu1994. V době psaní tohoto článku (březen 1999) je současná verze jádra 2.2.6, zatímco verze jádra 2.3 se souběžněvyvíjí. (Podrobněji si vysvětlíme konvence verzování Linuxu.)
Linux by nemohl vzniknout bez nástrojůGNU, které vytvořila Free Software Foundation. jejich kompilátor gcc, o kterém si povíme v kapitole 13, dal život kódu Linuse Torvaldse. Nástroje GNU byly s vývojem Linuxu spjaty od samého počátku. Vzhledem k zásadnímu přínosu těchto nástrojů Nadace pro svobodný software dokonce požaduje, aby se distribuce Linuxu s doprovodnými nástroji nazývaly GNU/Linux.
Berkeley Unix (BSD) také sehrál důležitou roli v Linuxu – ani ne tak při jeho vytváření, ale při poskytování nástrojů, které jej činí populárním. Většina nástrojů, které jsou součástí linuxových distribucí, byla přenesena zBSD. Zvláště důležité jsou síťoví démoni a nástroje. Síťový kód jádra Linuxu byl vyvinut od základu (ve skutečnosti dvakrát nebo třikrát), ale démoni a nástroje jsou původní z BSD.
Dnes je Linux kompletním klonem Unixu, který je schopen provozovat X Window System, TCP/IP, Emacs, web, poštu a zpravodajský software, na co si vzpomenete. Téměř všechny hlavní balíky svobodného softwaru byly portovány na Linux a začíná být k dispozici i komerční software. Ve skutečnosti mnoho vývojářů začíná psát aplikace pro Linux a později je přenáší na jiné unixové systémy. Podporováno je více hardwaru než v původních verzích jádra. Mnoho lidí provedlo na systémech Linuxu benchmarky a zjistilo, že jsou rychlejší než pracovní stanice od společností Sun Microsystems a Compaq, a v široké škále benchmarků dosahuje Linux lepších nebo stejných výsledků jako Windows 98 a Windows NT.
Kdo by kdy tušil, že tento „malý“ klon Unixu vyroste a ovládne celý svět osobních a serverových počítačů?