Charakteristika OS Linux
Charakteristika OS Linux
Linux je moderní víceúlohový a víceuživatelský OS, který vyhovuje standardu POSIX a podporuje víceprocesové systémy (až 32 procesorů). Je kompatibilní s většinou standardů pro UNIX. Díky softwarovému balíku Samba může fungovat i jako souborový a tiskový server pro Windows. Linux podporuje různé typy souborových systémů; ty, které byly speciálně vyvinuty pro Linux (např. ext2fs), ale i souborové systémy pro Windows (NTFS, VFAT, FAT), Macintosh, OS/2, Amiga nebo souborový systém ISO 9660 CD-ROM, který umožňuje čtení všech standardních formátů CD-ROM.
Jednou z nejsilnějších stránek Linuxu je podpora práce v sítích. Nabízí kompletní implementaci protokolu TCP/IP a podporuje i síťový souborový systém NFS (Network File System). Obsahuje kompletní klienty a služby protokolu TCP/IP (FTP, Telent, SMTP atd.). Jádro Linuxu obsahuje také úplnou podporu síťových firewallů pro monitorování síťových paketů a obranu proti neoprávněnému přístupu.
Distribuce Linuxu
Distribuce kromě vlastního jádra systému obsahují další programové vybavení, systémové nástroje, knihovny a aplikace. Distribuce je možné získat stažením z Internetu, zakoupením nebo vypálením CD. Většina distribucí je zadarmo, výjimkou jsou především placené tzv. enterprise distribuce, k nímž bývá poskytována kvalitní technická podpora. Distribuce se v některých aspektech mohou lišit (umístění některých konfiguračních souborů, systémů balíčků), v mnoha se naopak podobají.
Distribuce lze rozdělit do následujících kategorií:
Všeobecné – představují plnohodnotný OS s mnoha programy, bývají vhodné jak pro desktop, tak pro server. Patří sem Debian, RedHat, Fedora Core, Suse, Mandrake, Slackware.
Specializované – jsou většinou přizpůsobené pro konkrétní účel, např. router nebo firewall. Obvykle mají velmi malé hardwarové nároky, některé jsou dokonce přizpůsobeny pro práci bez pevného disku. Patří sem TinyLinux, Floppyfw, FREESCO, czfdebian.
Živé (live) – není nutné instalovat na pevný disk, stačí je nabootovat z CD. Slouží k vyzkušení Linuxu nebo tam, kde není možné instalovat vlastní OS (Knoppix, Danix, ABC Linux).
Architektura systému
Linux se skládá z jádra a programů uspořádaných do instalačních programových balíčků. Jádro a balíčky tvoří dohromady určitou distribuci.
Jádro představuje množinu obslužných programů trvale umístěných v paměti, k nimž má každý proces přístup. Je základem OS a odpovídá za správu všech hardwarových prostředků počítače, jako jsou disky, síťový rozhraní atd. Na rozdíl od systému Windows neobsahuje jádro Linuxu žádné knihovny na aplikační úrovni ani grafické uživatelské rozhraní.
Obslužné programy jádra systému mohou být volány několika způsoby:
systémové volání (system call) – zajistí aktivaci určitého kódu jádra jménem volajícího procesu (např. volární read přečte data z deskriptoru souboru),
obsluha přerušení – když určitý proces vykonává činnost, při níž se dostane do stavu čekání (např. čtení dat z klávesnice), uvede jádro tento proces do stavu spánku (sleep) a místo něj aktivuje jiný proces, který přerušení obslouží.
Služby jádra v OS Linux
Jádro OS Linux je označováno někdy za monolitické – ovladače zařízení jsou součástí jádra. Jiné operační systémy používají architekturu tzv. mikrojádra (microkernel v OS Windows), v niž ovladače zařízení a další obslužné programy jsou do paměti zaváděny až podle potřeby a nejsou nutně v RAM přítomny. Linux však podporuje i tzv. zaváděné ovladače zařízení, které mohou být zavedeny do paměti nebo z ní odstraněny prostřednictvím příkazu uživatele. Proto je někdy jádro označováno za hybridní (kombinace monolitického a mikrojádra).
Linuxové jádro umožňuje využívat speciálních vlastností chráněného módu procesorů Intel (od 80386), zejména pro správu paměti v chráněném módu.
Podporuje tzv. pravý hardwarový paralelismus, kdy jednotlivá vlákna linuxového jádra mohou běžet současně na více procesorech.
Stránkování na vyžádání (on pageing demand) – z disku zavádí pouze ty segmenty programu, které jsou zrovna aktivní; pokud je jeden program spuštěn vícekrát, je v paměti umístěna pouze jedna jeho kopie.
Sdílené dynamické knihovny DLL – knihovní moduly jsou zaváděny do paměti až dynamicky za běhu programu a programy mohou sdílet společný kód uložený v jedné knihovně umístěné na disku (úspora paměti i disku).
Virtuální paměť se stránkováním do tzv. odkládacího prostoru (swap space); jakmile aplikace potřebují více fyzické paměti, než kolik je v počítači momentálně fyzicky nainstalováno, odloží do tohoto procesu neaktivní stránky operační paměti (paměťová stránka má standardně velikost 4 KB). Při opakovaném přístupu ke stránkám se data načtou z disku zpět do hlavní operační paměti.
Cachování diskového přístupu – snaha vyhýbat se relativně pomalému přístupu k disku udržováním těch částí souborů v paměti, k nimž procesor nedávno přistupoval; jádro k tomu využívá veškerou volnou fyzickou paměť.
Ukládáním obsahu paměti na disk (core dump) programu, který provedl neplatnou operaci (např. přístup k neplatnému místu v paměti); výpis se promítne do souboru s názvem core v adresáři, kde inkriminovaný program běžel.
Verze jádra Linuxu
Jádro Linuxu má svoje vlastní číslo verze. Verze jádra je označena třemi čísly ve formátu X.Y.Z, kde X je tzv. hlavní číslo (major), Y je vedlejší číslo (minor), Z představuje tzv. patch level – verze oprav chyb a bezpečnostních záplat.
V libovolně daném okamžiku existují dvě nejaktuálnější verze jádra:
stabilní verze (stabel) – je určena pro běžné uživatele Linuxu, kteří nehodlají systém měnit a provádět časté kompilace jádra; tato verze je číslována vždy sudým číslem na konci (např. 2.4);
vývojová verze – velice rychle se mění a není vždy zaručena plná funkčnost; je ukončena vedlejším lichým číslem (např. 2.5);
Programové vybavení pro Linux
Většina programového vybavení pro systém Linux má označení GNU. Nejdůležitějším programem systému je shell – příkazový interpret, který čte a vykonává příkazy zadané uživatelem. Nabízí mimo jiné řízení úloh (umožňuje uživateli ovládat několik současně běžících procesů), přesměrování vstupu a výstupu nebo příkazový jazyk pro psaní dávek – tzv. shellové skripty. Příkazových interpretů je celá řada; nejoblíbenější je pravděpodobně bash.
Systém balíčků
Balíčky představují standardní archivační soubory, které slouží jako instalátory programů. Součástí balíčků jsou tyto informace:
-
seznam balíčků a vlastností, na kterých balíček závisí. Bez splnění závislostí se nový balíček nainstaluje, naopak instalovaný balíček nepůjde odstranit, pokud by se tím závislosti porušily
-
popis balíčku.
-
informace, které jiné balíčky nahrazuje.
-
instalační a odinstalační skripty.
Systém si udržuje databázi nainstalovaných balíčků a informací o nich – tím lze např. určit, kterému balíčku patří určitý soubor v systému. Základním nástrojem na správu balíčků je program rpm. Existují některé programy pro automatizaci správy balíčků.