Linux

Z Multimediaexpo.cz

Tento článek se týká operačních systémů založených na Linuxu a souvisejících témat. Čistě jen linuxovému jádru se věnuje samostatná stránka. Linux se také jmenuje planetka a prací prášek.
Start Linuxu

Linux je jádrem (kernelem) několika počítačových operačních systémů. Je známým příkladem svobodného softwaru a vývoje open source softwaru – na rozdíl od proprietárních operačních systémů jako Microsoft 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 za podmínky, že zároveň dodá i zdrojové kódy.

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ů (též označováno jako GNU/Linux, viz níže), 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, Nokia a Novell pro využití na serverech, a 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 procesory architektury i386 (tedy 80386 a kompatibilními). Dnes ale podporuje všechny populární počítačové architektury i mnoho z těch méně obvyklých. Používá se v řadě zařízení od embedded systémů (jako mobilních telefony, roboti či multimediální přehrávače) přes osobní počítače až po superpočítače. Zatímco na trhu s osobními počítači je podíl Linuxu malý, pohybující se mezi 0,5 % až 3 %, (TOPlist: globální statistika), mezi superpočítači naopak Linux masivně převažuje. (Top500.com: Operating system Family share for 11/2009). Na českých webových serverech se jeho podíl pohybuje okolo 70 % (Statistika Root.cz: 21. 7. 2008).

Obsah

Historie

Richard Stallman, zakladatel projektu svobodného operačního systému GNU
Linus Torvalds, tvůrce linuxového jádra

V roce 1983 založil Richard Stallman GNU projekt, 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 GNU 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ředevším glibc), překladač (GCC), textový editor (Emacs), shell (bash) 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 Kalifornské univerzity v Berkeley, 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ů a zisku z prodeje licencí. Avšak Tanenbaum nikomu nedal svolení k úpravám svého systému, a tak Torvalds napsal vlastní náhradu Minixu. Linux začal jako emulátor terminálu napsaný v jazyce symbolických adres procesoru IA-32 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. Torvalds a další vývojáři uzpůsobili jádro, aby lépe spolupracovalo s komponentami z projektu GNU a s dalšími uživatelskými programy, aby tak vznikl 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 jednotlivci.

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. Torvalds 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á licenci MIT.

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).

Linux a GNU/Linux

Ohledně správného označení operačních systémů založených na linuxovém jádře se vlečou dlouhé spory. Free Software Foundation vidí linuxové distribuce používající GNU software jako varianty GNU operačního systému a požadují, aby se takové systémy označovaly jako GNU/Linux, případně „Na Linuxu založený GNU systém“. Média a velká část uživatelů preferují krátké označení této rodiny operačních systémů jako Linux. Přestože některé distribuce striktně používají označení GNU/Linux (zejména Debian), není příliš rozšířené ani v tisku ani v hovorové řeči. V současné době jsou v obvyklých distribucích Linuxu vlastní GNU projekty v menšině, i když mnoho dalších projektů (součástí distribuce) využívá licence od GNU (GPL, LGPL). Je tedy zřejmé, že se jedná spíše o ideovou záležitost.

Distribuce

Linux se převážně používá jako jádro distribucí (zkráceně též distro). Ty jsou sestavovány jednotlivci, týmy dobrovolníků, ale i komerčními firmami za cílem finančního zisku. 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í.[1][2]

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 na internetu [4]

Přehled distribucí

Mezi nejznámější distribuce Linuxu patří:

Aplikace

Moderní distribuce Linuxu obsahují grafické rozhraní pro přidávání a odebírání software. Instalace nových aplikací pak probíhá pomocí několika málo kliknutí myší. Výběr takto dostupného software je velmi široký a pro běžného uživatele PC více než dostačuje. Samozřejmostí je také možnost manipulovat s aplikacemi z příkazového řádku.

Použitelnost a podíl na trhu

Za své dlouhé působení Linux získal mnoho příznivců 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 je nasazen i na jednoznačně nejvýkonnějším superpočítači BlueGene).

V posledních letech se Linux pozvolna rozšiřuje i do firemní sféry a na domácí počítače,[3] ale jeho podíl je stále řádově jedno procento. Přestože zvládá prakticky všechny činnosti od počítače očekávané a mezi jeho přednosti patří bezpečnost, nízká cena a flexibilita, rozšíření stále brání zejména velké množství aplikací dostupných pouze pod Microsoft Windows (zvláště her) a nejistá podpora spuštění těchto konkrétních 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.

Instalovat se může přímo z instalačního média (pak se ovšem nainstalují aplikace ve verzi, která byla k dispozici v době vydání distribuce) nebo lze z instalačního média pouze nabootovat a stáhnout aktuální verzi distribuce ze sítě. Některé distribuce lze také instalovat z jiného běžícího systému (jiné distribuce Linuxu), i když je to spíš zajímavost pro odborníky než doporučená metoda pro začátečníka.

Běh aplikací napsaných pro Microsoft Windows

Pro běh aplikací z MS 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ž jednak vede k mnohem efektivnějšímu běhu spouštěných aplikací a jednak k efektivnějšímu využití stávajícího hardwaru (například podpora 3D akcelerace u grafických karet). Jejich nevýhodou je pak možnost použití pouze na architektuře x86 a kompatibilních. Existují implementace komerční i open-source, z nichž nejznámější je Wine. Za zmínku stojí i odnož Cedega, která se specializuje na možnost hraní her napsaných pro Microsoft Windows, nebo CrossOver. Dále lze použít emulátory virtuálního PC: Bochs, QEMU, VirtualBox (GPL), 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 jazyka symbolických adres 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. Protože Linux se stal velice populární platformou pro provoz WWW serverů, tak obrovské množství uživatelských aplikací které se dnes běžně provozují pod tímto systémem jsou ve skutečnosti webové aplikace napsané v jazyce PHP.

Intuitivní tvorba grafického rozhraní v Glade

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ě návrhu grafického uživatelského rozhraní označovaná RAD. Tato prostředí jsou obvykle určena pro grafické rozhraní X Window System. Vesměs jsou zaměřená na kompilované jazyky, existují ale i taková, která podporují ladění skriptovacích jazyků (např. Pythonu), například IDEA. K programování grafických aplikací lze použít např. Anjuta, Glade či KDevelop (primárně pro prostředí KDE).

Podpora

Podpora Linuxových distribucí je obvykle realizována komerčními společnostmi. V případě společností, jako jsou Canonical, 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 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.

Pro uživatele distribucí, které jsou zdarma, slouží jako poměrně dobrá podpora řada diskusních fór, v angličtině i češtině.

Bonmot

Linux is like a wigwam — no gates, no windows, apache inside.

Související články

Literatura

  • SOBELL, Mark G. : LINUX – Praktický průvodce , Computer Press, 1999. ISBN 80-7226-190-8
  • SCHRODER, Carla : Linux – Kuchařka administrátora sítě , Computer Press, 2009. ISBN 978-80-251-2407-9. s. 608.

Reference

  1. http://lwn.net/Distributions/
  2. http://www.distrowatch.com/
  3. http://marketshare.hitslink.com/report.aspx?qprid=5&qpcustom=Linux

Externí odkazy

Obecné

Dokumentace

Média (v češtině)

Propagace

Uživatelské skupiny

Články

Přednášky (video)


Flickr.com nabízí fotografie, obrázky a videa k tématu
Linux
Commons nabízí fotografie, obrázky a videa k tématu
Linux
Operační systémy
BSD
FreeBSD • NetBSD • OpenBSD • DragonFly BSD
Linux (distribuce)
Debian • Fedora • Gentoo • Knoppix • Mandriva • Red Hat • Slackware • SUSE • Ubuntu • další...
Mac OS
System 6 • System 7 • Mac OS 8 • Mac OS 9 • Mac OS X
Windows pro DOS
1.0 • 2.0 • 3.0 • 3.1x • Windows 95 • Windows 98 • Windows Me
Windows NT
NT 3.1 • NT 3.5 • NT 3.51 • NT 4.0 • Windows 2000 
Windows XP • Windows Vista • Windows 7 • Windows 8 • Windows 8.1 • Windows 10 • Windows 11
Windows NT Server
Server 2003 • Server 2008 • Server 2008 R2 • Server 2012 • Server 2012 R2
Mobilní telefony a PDA
Android • BlackBerry OS • iOS • Maemo • PalmOS • webOS • Symbian OS • Windows CE • Windows Mobile
OS/2
OS/2 2.1 • OS/2 Warp 3.0 • OS/2 Warp 4.0 • OS/2 Aurora 4.5 • eComStation • ArcaOS
DOS
MS-DOS • PC-DOS • DR-DOS • FreeDOS • PTS-DOS
Další
NeXTSTEP • BeOS • ZETA • Haiku • Atari TOS • GeoWorks Ensemble • UNIX • AmigaOS • QNX • Solaris 
OpenVMSSyllableReactOS • Multics • Plan 9 from Bell Labs