Linux (operačný systém)

Linux je počítačový operačný systém a jeho jadro. Patrí medzi najznámejšie a najúspešnejšie príklady slobodného softvéru a vývojového modelu open source.
Termín "Linux" sa vzťahuje na jadro Linuxu, ale v bežnej reči sa používa na opis celej rodiny operačných systémov UNIXového typu, ktoré sú založené na linuxovom jadre, zatiaľ čo knižnice a nástroje pochádzajú zvyčajne z projektu GNU (takéto zoskupenie sa označuje ako GNU/Linux). Linuxové distribúcie často zoskupujú základný systém s veľkým množstvom programov spravovaných systémom „balíčkov“.
Hoci bol spočiatku používaný a vyvíjaný nadšenými jednotlivcami, v súčasnosti jeho vývoj prebieha pod záštitou Linux Foundation v úzkej spolupráci s viac ako 1200 spoločnosťami, medzi nimi sú napr. Fujitsu, HP, Samsung, IBM, Intel, Oracle, CISCO, NEC, Red Hat, Microsoft či Google.
Aplikácie.
Linux je vhodnou voľbou pre rôzne druhy internetových serverov, hlavne kvôli natívnej implementácii softvéru ako Apache, MySQL, PHP/Perl/Python a kvôli bezpečnosti a stabilite vyplývajúcej z vývojového modelu. Alternatívou v tomto prípade sú napr. BSD deriváty (FreeBSD, OpenBSD, NetBSD).
Linux je výhodný aj pre programátorov, keďže existuje prístup ku všetkým zdrojovým kódom, neexistujú tu problémy s nezdokumentovanými funkciami a najpoužívanejší voľne dostupný kompilátor GCC patrí ku špičke. Nezanedbateľným faktorom je, že je dostupné množstvo programovacích prostredí, z ktorých väčšina je open source a teda netreba za ich používanie platiť.
Od roku 2013 je platforma Steam dostupná aj pre Linux. Vďaka tomu je väčšina populárnych titulov portovaná aj pre túto platformu. Začiatkom roka 2015 prekročil počet dostupných hier 1000 kusov. Existuje aj množstvo voľne šíriteľných hier, open source zatiaľ v tejto oblasti zaostáva. V Linuxe je však možné prevádzkovať niektoré aplikácie a hry pre systém Microsoft Windows, pomocou adaptačnej vrstvy Wine (a prípadne doplňujúcich produktov ako Cedega).
Pre použitie systému ako desktopový systém existujú kvalitné aplikácie pre všetky bežné úlohy: desktopové prostredia, kancelárske balíky (LibreOffice, Apache OpenOffice, Caligra), aplikácie pre prácu s internetom (Chromium, Chrome, Firefox, Thunderbird, Evolution, Pidgin, Kopete, Konqueror), multimédiami (VLC, MPlayer, Xine, Amarok) a grafikou (GIMP, Inkscape, Blender). V niektorých oblastiach dostupnosť aplikácií zatiaľ zaostáva: DTP, profesionálne audio. Okrem open source aplikácií existuje pre desktop aj množstvo proprietárneho softvéru (Flash Player, Opera, Skype, Nero).
Linux je portabilný operačný systém, za čo sčasti vďačí faktu, že väčšina kódu je v jazyku C, ktorého kompilátor je dostupný na množstve platforiem. Linux beží na platformách od multiprocesorových superpočítačov a mainframov ako IBM System z9, cez PC, notebooky a pracovné stanice (x86, iMac, PowerBook, Digital Alpha) až po vnorené zariadenia, mobilné telefóny, PDA či Apple iPod. V portabilite mu konkuruje NetBSD.
Podľa aplikácie existujú distribúcie Linuxu tvoriace buď univerzálny operačný systém alebo špecializovaný na konkrétny účel, pozri #Najznámejšie distribúcie.
Distribúcie.
Pod pojmom "distribúcia" sa rozumie celok, ktorý obsahuje "základný systém" tvorený jadrom a ovládačmi zariadení a programy podľa zamerania distribúcie. Hoci je jadro Linuxu voľne šíriteľné, časť programov môže byť komerčného charakteru, prípadne sa platí za technickú podporu.
Distribúcie sa odlišujú zameraním, môžu byť všeobecné s veľkým množstvom programov (napr. desktopové) alebo užšie špecializované, cieľovou skupinou, licenčným modelom, jazykovým a geografickým zameraním, použitím preferovaného desktopového prostredia (KDE, Gnome, a pod.), podporovanou počítačovou architektúrou a radom ďalších kritérií.
Prehľad distribúcii.
Pretože je distribúcií veľmi veľa, vznikla potreba vytvorenia stránok, ktoré by sústredili informácie o distribúciách, a taktiež informovali o nových vydaniach a dôležitých zmenách. Najznámejšiou takouto stránkou je Distrowatch, ktorú vytvoril Ladislav Bodnár. Pre začiatočníkov je vhodná napríklad podstránka, kde sa porovnávajú Hlavné distribúcie Linuxu. Dnes sa tu nachádzajú informácie aj o BSD systémoch.
Jadro.
Kernel bol pôvodne vyvinutý pre mikroprocesor Intel 80386, ale v súčasnosti podporuje množstvo architektúr, okrem PC od tzv. vnorených systémov (mobilný telefón, PDA, router) po superpočítače alebo herné konzoly ako PlayStation 2 alebo PlayStation 3. Vývoj začal v roku 1991 ako osobné hobby Linusa.
Jadro Linuxu je schopné bežať ako na jednoprocesorovom počítači, tak aj na viacprocesorovom počítači (akými sú napríklad výkonné servery), pričom dokáže využívať spojený výkon dostupných procesorov.
Architektúra jadra je monolitická, ale je možné nahrávať a uvoľňovať moduly za behu systému. Ovládače zariadení bežia zvyčajne v okruhu 0 s plným prístupom k hardvéru. Linux podporuje preemptívny multitasking, virtuálnu pamäť, zdieľané knižnice, nahrávanie modulov na požiadanie, zdieľané copy-on-write programy, správnu správu pamäte a TCP/IP podporu.
Linux jadro od verzie 4.0 podporuje aktualizovanie jadra za behu systému bez nutnosti reštartovania.
Linuxové jadro tvorí základ aj známych operačných systémov ako Android a Chrome OS.
Grafické rozhranie.
Pri použití Linuxu ako desktopového operačného systému je nevyhnutné kvalitné a rýchle grafické rozhranie, ktoré je realizované prostredníctvom X servera (XFree86 alebo X.Org), nad ktorým beží správca okien alebo častejšie kompletné desktopové prostredie. Medzi najznámejšie patria KDE, Gnome, Unity, Cinnamon, MATE či XFCE. Súčasné slobodné desktopové prostredia ponúkajú prakticky všetky funkcie ako komerčné prostredia, často však ponúkajú viac možností na konfiguráciu a zmenu vzhľadu. Veľkou výhodou systému GNU/Linux je možnosť mať nainštalovaných viac prostredí a podľa potreby medzi nimi prepínať. Existuje aj možnosť používať pokročilé 3D efekty priamo na pracovnej ploche prostredníctvom OpenGL rozšírenia Xgl alebo AIGLX a slobodného kompozitného správcu okien Compiz.
História Linuxu.
Vývoj začal v roku 1991 ako osobné hobby Linusa. Vytvoril prvú funkčnú verziu a zverejnil na internete zdrojový kód. Ku kódu začali prispievať ľudia z komunity a Torvalds účinkoval ako koordinátor projektu. (Ďalej pozri #Vývojový model)
Linux bol prvé funkčné unixové jadro operačného systému, ktoré bolo licencované slobodnou licenciou (konkrétne GNU GPL). V tej dobe bol OS GNU dokončený a poskytoval ucelený a funkčný základný systém, ale vývoj jeho jadra ustal. Vyššie vrstvy tiež existovali v podobe X Window systému. Integráciou s týmito komponentami sa stal Linux plnohodnotným operačným systémom. Aby bola táto integrácia umožnená, Linus Torvalds zmenil licenciu na GPLv2.
Neskôr bolo uvoľnené aj stabilné jadro GNU zvané Hurd a iné skupiny vývojárov vyvinuli iné jadrá, ktoré bez problémov fungujú s OS GNU (napr. FreeBSD, GNU Mach).
GNU/Linux sa stal atraktívnym pre veľké podniky, keď vznikol projekt Apache. Apache je úspešný webový server, ktorý v tej dobe, ale i dnes ponúka mnohé funkcie, ktoré v komerčných produktoch rovnakého typu nenájdete. Najdôležitejšou vlastnosťou Apache bolo, že dokázal prevádzkovať súčasne viacero webových lokalít.
Vývojový model.
Vývojový model je otvorený a decentralizovaný.
Otvorenému vývojovému modelu, čo znamená že ktokoľvek má prístup ku zdrojovému kódu, sa pripisuje úspech Linuxu. Jeho pôvodný autor Linus Torvalds sa riadil myšlienkou „uvoľňovať [zdrojový kód] skoro, uvoľňovať často a počúvať odozvy od používateľov“. Viac o otvorenom modeli píše Eric Raymond vo svojej knihe „Katedrála a bazár“, kde ho porovnáva s klasickým modelom vývoja v uzavretom tíme špecialistov.
Dôležitý argument v prospech otvoreného modelu je praktický úspech v stabilite a bezpečnosti. Ten je založený na hypotéze, že čím viac ľudí sa môže pozieť na zdrojový kód, tým skôr sa nájdu a opravia chyby. V tejto otázke stojí proti princípu nazvanému jeho oponentami security through obscurity.
Opakom je uzavretý model, kde odhaliť a opraviť chybu môže len člen uzavretého tímu, ktorý má prístup ku zdrojovému kódu.
Decentralizovanosť znamená, že existuje viacero konkurentných repozitárov kódu, ktorí udržiavajú rôzni vývojári (vetva Linusa Torvaldsa je jedným z nich). Porovnaj napr. centralizovaným otvoreným s vývojovým modelom FreeBSD.