Jdi na obsah Jdi na menu
 


Co je to Linux?

Linux je jádrem několika počítačových operačních systémů. Je známým příkladem svobodného softwaru a Open source vývoje: narozdíl od proprietárních operačních systémů jako Windows či Mac OS je celý jeho zdrojový kód volně k dispozici pro veřejnost a kdokoli jej může svobodně používat, upravovat a dále distribuovat.

Ačkoliv termín Linux značí Linuxové jádro, často se používá pro označení celých unixových operačních systémů (známých jako GNU/Linux), které sestávají z Linuxového jádra a zároveň z knihoven a nástrojů z projektu GNU, ale i z dalších zdrojů. V nejširším významu Linuxová distribuce uceleně spojuje základní systém s velkým balíkem aplikačního softwaru a navíc často zajišťuje uživatelsky přívětivou instalaci a následné aktualizace.

Zpočátku byl Linux vyvíjen a používán zejména jednotlivými nadšenci. Časem ale získal podporu velkých společností jako IBM, Hewlett-Packard a Novell pro využití na serverech, ale poslední dobou získává popularitu i na desktopovém trhu. Zastánci a analytici připisují jeho úspěch nezávislosti na dodavateli, nízkých nákladech, flexibilitě, bezpečnosti a spolehlivosti.

Linux byl původně vyvíjen pro počítače s procesorem architektury i386. Dnes ale podporuje všechny populární počítačové architektury, ale i mnoho dalších. Používá se v řadě zařízení od embedded systémů (jako mobilních telefony či roboti) přes osobní počítače až po superpočítače.

 

Historie

V roce 1983 založil Richard Stallman projekt GNU, který nyní poskytuje základní část většiny linuxových systémů (viz pojem GNU/Linux níže). Cílem projektu GNU je vyvinout kompletní unixový operační systém složený výhradně ze svobodného softwaru. Začátkem 90. let byly v rámci projektu GNU vytvořeny a shromážděny všechny potřebné součásti - knihovny, překladač, textový editor, shell a další software, ovšem kromě nejnižší úrovně, tedy jádra.

V roce 1990 začal projekt GNU vyvíjet své vlastní jádro jménem GNU Hurd (po upuštění od předchozího pokusu jménem Trix). Podle Thomase Bushnella, původního architekta Hurdu, bylo původním plánem přepracovat jádro BSD 4.4-Lite. V ohlédnutí po letech řekl: "Dnes mi je jasné, jaký by toto jádro mohlo mít úspěch, a že by svět byl dnes jiný" [1]. Přesto se Stallman, kvůli špatné spolupráci programátorů z Berkley, rozhodl použít mikrojádro Mach. Ale, jak se později ukázalo, vývoj byl nečekaně složitý a pokračoval velmi pomalu.

Mezitím v roce 1991 započal vývoj jiného jádra, které nakonec dostalo jméno "Linux". Původně ho začal psát finský student helsinské univerzity Linus Torvalds jako svůj koníček. Torvalds vycházel z Minixu, což byl zjednodušený klon Unixu napsaný Andrewem Tanenbaumem pro účely výuky návrhu operačních systémů. Avšak Tanenbaum nikomu nedal svolení k úpravám svého systému, a tak Torvadls napsal vlastní náhradu Minixu. Linux začal jako emulátor terminálu napsaný v IA-32 assembleru a jazyce C, který byl pak zkompilován do binární podoby a nabootován z diskety, takže mohl běžet mimo původní operační systém. V terminálovém emulátoru běžela dvě vlákna: jedno pro odesílání znaků na sériový port a druhé pro příjem. Když pak Linus chtěl číst nebo zapisovat data na disk, rozšířil tento terminál, který uměl přepínat úlohy, o celý ovladač souborového systému. Poté se začal pomalu rozvíjet v celé jádro operačního systému určené pro systémy kompatibilní se standardem POSIX.

První verze linuxového jádra (0.01) byla vydána na internetu 17. září 1991, další následovala v říjnu téhož roku [2]. Od té doby se na tomto projektu podílely tisíce vývojářů z celého světa. Model vývoje linuxového jádra a podobného softwaru je krásně popsán v eseji Erica S. Raymonda Katedrála a bazar.

Před vydáním verze 0.01 Linus naimplementoval dostatek POSIXových systémových volání, aby bylo možné spustit shell GNU Bash. Díky tomuto základnímu prostředí se vývoj mohl rozběhnout mnohem rychleji. Původně bylo pro nastavení, kompilaci a instalaci Linuxu potřeba mít funkční systém Minix. První verze Linuxu též vyžadovaly pro spuštění z disku, aby běžel jiný operační systém, ale brzy vznikly nezávislé spouštěče, z nichž nejznámější bylo Lilo. Linuxový systém zanedlouho předběhl Minix co do funkčnosti. Torvadls a další vývojáři jádra uzpůsobili jádro, aby lépe spolupracovalo s komponentami z projektu GNU a s dalšími uživatelskými programy, aby tak vzniknul kompletní, plně funkční, svobodný operační systém.

Dodnes Torvalds pokračuje přímo ve vývoji jádra, zatímco ostatní subsystémy jako třeba GNU komponenty jsou vyvíjeny samostatně. Vývoj kompletních systémů, které zahrnují základní systém spolu grafickými prostředími jako KDE či GNOME (které využívají služeb X Window Systému) a množstvím aplikačního softwaru, dnes obstarává mnoho distribucí. Linuxové distribuce dnes vyvíjejí a spravují neziskové organizace, komerční společnosti, ale i jedinci.

Logem a maskotem Linuxu je tučnák Tux vycházející z obrázku Larryho Ewinga z roku 1996. Kromě toho existují i jiná, méně známá zpodobnění, viz OS-tan. Jméno "Linux" nevytvořil sám Torvalds, ale Ari Lemmke, který pracoval na helsinské univerzitě jako správce FTP serveru ftp.funet.fi, kde byla uveřejněna první verze Linuxu. Torvadls navrhoval jméno "Freax" jako free (svobodný) + freak (blázen) + x (unixový systém), ale to se Lemmkemu nelíbilo a na FTP serveru vytvořil adresář "Linux" jako "Linusův Minix" [3]. Toto jméno se později stalo ochrannou známkou (viz níže).

Licence

Linuxové jádro a mnoho dalších GNU komponent je licencováno pod GNU General Public License (GPL). Zdrojové kódy software pod GPL mohou být svobodně upravovány a používány, šířeny však musí být opět pod GPL (jestliže se je rozhodnete dále šířit) avšak binární formy software používající GPL mohou být poskytovány za libovolně vysokou úplatu. Ostatní subsystémy mohou mít jiné licence, ale všechny spadají do kategorie svobodného softwaru/open source. Některé knihovny například mají volnější licenci LGPL a X Window System používá MIT licenci.

Ochrannou známku Linux (č. 1916230) na "software počítačového operačního systému, který usnadňuje práci s počítačem" vlastní Linus Torvalds. Licencování této ochranné známky nyní obstarává Linux Mark Institute (LMI).

Výslovnost

Slovo Linux se v češtině vyslovuje měkce bez přízvuku. I se vyslovuje jako ve slově milion a x na konci jako ks, jako ve slově xylofon. V hovorové řeči se řídce vyskytuje i výslovnost koncového x jako ch. Anglická výslovnost se mírně liší stát od státu.

Distribuce

Linux se převážně používá jako jádro linuxových distribucí (zkráceně též distro). Ty jsou sestavovány jednotlivci, volnými týmy, ale i profesionálními organizacemi. Typická distribuce zahrnuje jádro, další systémový a aplikační software spolu s prostředky, jak celý systém nainstalovat na počítač. Různé distribuce byly vyvinuty k různým účelům, mezi než patří možnost mít hotový systém připravený k použití, lokalizace, podpora určité počítačové architektury, použití v real-time a v embedded systémech. Některé záměrně obsahují výhradně svobodný software. V současné době existuje kolem 450 různých distribucí [4].

Typická distribuce k obecnému použití obsahuje linuxové jádro, určité GNU knihovny a nástroje, příkazové shelly a tisíce balíčků aplikačního softwaru - od kancelářských balíků a grafického prostředí X Window System, přes kompilátory různých jazyků, textové editory a vědecké nástroje. Mnoho screenshotů různých linuxových distribucí a programů lze na nalézt zde [5].

Přehled distribucí

Použitelnost a podíl na trhu

Za své dlouhé působení Linux získal mnoho přiznivců a významné místo na trhu operačních systémů. Zatím je rozšířený zejména na internetových a intranetových serverech a v oblasti vysoce výkonných výpočetních stanic (v žebříčku 500 největších superpočítačů zaujímá podíl 74,4% procenta, Linux obsahuje i BlueGene, superpočítač od IBM, který v žebříčku zaujímá 1. místo).

V posledních letech se Linux postupně rozšiřuje i do firemní sféry, zatím však není příliš rozšířený na domácích počítačích. Přestože na zvládá psaní dokumentů, práci v síti, přehrávání multimédií apod., rozšíření stále brání zejména velké množství aplikací dostupných pouze pod Windows (zvláště her) a nedokonalá podpora běhu těchto aplikací pod Linuxem.

Instalace

Instalace se liší podle zvolené linuxové distribuce. Většina distribucí nabízí textovou i grafickou verzi instalace, kterou obvykle zvládne i začátečník - mnozí tvrdí, že instalace některých distribucí Linuxu je výrazně snadnější než u konkurenčních Microsoft Windows. Při instalaci se také obvykle nainstaluje nejen samotný operační systém, ale i veškerý software potřebný k používání počítače (ovšem ve verzi, která byla k dispozici v době vydání distribuce).

Běh aplikací z Windows

Pro běh aplikací z Windows je dnes k dispozici řada emulátorů. Některé z nich jsou založené na vytváření plnohodnotných virtuálních strojů. Jiné pouze překládají systémová volání, což vede k mnohem efektivnějšímu běhu spouštěných aplikací. Existují komerční i open-source implementace, z nichž nejznámější je WINE. Dále lze použít emulátory virtuálního PC:

  • Bochs open source IA-32 (x86) PC emulator
  • QEMU is a generic and open source processor emulator
  • VMWare (proprietární)

Programování na Linuxu

Základním programovacím jazykem v Linuxu je jazyk C a sada GCC, která obsahuje překladače pro několik jazyků (zejména C a C++). Nedílnou součástí programovacích nástrojů jsou i GNU binutils, které obsahují nástroje pro překlad assembleru a linkování binárních objektových souborů do spustitelné podoby; na systému Linux jsou standardně objektové soubory i spustitelné programy uloženy ve formátu ELF (executable and linkable format). Prostředí GNU nabízí i řadu dalších nástrojů pro usnadnění vývoje složitějších programů (make, autoconf, gettext).

Linux podporuje i celou řadu dalších programovacích jazyků. Kromě jednoduchého jazyka zabudovaného přímo v příkazové řádce (shell) jsou nejpoužívanějšími jazyky v linuxovém prostředí Perl a Python.

Programování v Linuxu většinou probíhá v cyklu: programátor napíše zdrojový kód v textovém editoru, pak spustí v příkazové řádce kompilátor a program otestuje. Existují i programátorské editory, které za programátora spustí kompilátor a případně ve zdrojovém textu označí chyby. Samozřejmostí je i zvýraznění syntaxe a nyní jsou k dispozici již i rozvinutá plně funkční vývojová prostředí označovaná jako IDE nebo v případě grafického návrhu GUI označovaná RAD. Tato prostředí jsou obvykle určena pro grafické rozhraní X Windows. Vesměs jsou zaměřená na kompilované jazyky, existují ale i taková, která podporují ladění skriptovacích jazyků (např. Pythonu), například IDEA.

Podpora

Podpora linuxových distribucí je obvykle realizována komerčními společnostmi. V případě společností, jako jsou Novell, Red Hat nebo Mandriva, jde přímo o společnosti spravující určitou distribuci. Na druhé straně jsou společnosti jako např. VA Linux, které se specializují na aplikace řešení postavených na GNU/Linuxu.

Nejrozšířenější model podpory je ten, že s koupí distribuce dostáváte právo využít omezenou podporu po omezený čas a v případě potřeby můžete později dokoupit další služby.