Invia.cz
Last minute
Tunisko
Dovolená v Chorvatsku
Pojeďte do Egypta
Bulharsko
Vydělávejte peníze s INVIA.CZ
| Linux | |
| vyvíjí | Linus Torvalds (tvůrce) a další |
| aktuální verze | 2.6.26 (13. července 2008) |
| OS | - |
| typ softwaru | Jádro operačního systému |
| licence | GPL |
| web | http://www.kernel.org/ |
| logo produktu | |
Linuxové jádro nebo též kernel Linuxu je jádro svobodného operačního systému unixového typu. V roce 1991 jej začal vyvíjet Linus Torvalds, ale následně se přidaly tisíce programátorů z celého světa.
Původně bylo napsáno pro procesory architektury i386, ale postupně bylo portováno na mnoho dalších platforem. Skoro celé je napsáno v jazyce C s některými rozšířeními GCC, ale obsahuje i některé kousky assembleru (v AT&T syntaxi).
Je vyvíjeno pod licencí GNU General Public License (GPL), takže zdrojový kód je svobodným softwarem.
Linuxové jádro je známo jako základ systému GNU/Linux. Kromě jádra tvoří systém i další knihovny, nástroje a programy a celek se nazývá GNU/Linuxová distribuce, kterých existuje velké množství.
Do linuxového jádra přispívá téměř 1000 vývojářů ze 100 různých firem z celého světa. Od roku 2005 se počet vývojářů ztrojnásobil. 70-95% vývojářů je za svoji práci placeno, čili neplatí mýtus, že je jádro vyvíjeno jen dobrovolníky. Největšími přispěvateli do jádra jsou společnosti Red Hat (11,2 % změn) Novell (8,9 % změn), IBM (8,3 % změn) a následují Oracle, MontaVista a Cisco. Do jádra se denně připíše 3621 řádka kódu a nová verze vychází jednou za 2,7 měsíce.[1]
Obsah |
Historicky první Linuxové jádro bylo označeno verzí 0.01 [1], Linus Torvalds k němu napsal v roce 1991 do usenetové skupiny comp.os.minix se slovy:
| „ | Pracuji na (svobodném) operačním systému (jako koníček, nebude to velké a profesionální jako gnu) pro klony 386(486) AT. | “ |
| — Linus Torvalds | ||
Linus Torvalds chtěl svůj systém pojmenovat Freax, slovo vzniklé zkombinovaním anglického slova freak (případně free) a písmene x jako odkazu na Unix, protože Linux se mu zdálo příliš sebestředné. Když později své soubory nahrál na ftp server (ftp.funet.fi), administrátor serveru Ari Lemmke adresář se soubory nazval Linux, jelikož se mu jméno Freax nelíbilo.[2]
Verze jádra jsou (až na níže uvedenou výjimku) značeny trojicí číslic oddělenými tečkami např. 2.0.10, 2.2.23, 2.4.31 a z poslední řady 2.6.1. První dvě čísla označují tzv. vývojovou řadu neboli větev (2.0.x, 2.5.x, 2.6.x). Řady se sudým druhým číslem jsou stabilní, ostatní jsou nestabilní. Nestabilní řady přecházejí ve stabilní, které se vyvíjí paralelně. Například řada 2.3 přešla v 2.4, řada 2.5 přešla v 2.6 (ale 2.4 se stále vyvíjí). Některé vlastnosti z novějších řad se přenášejí i do starších - tomu se říká backport.
Mezi každou změnou číslice za druhou tečkou ve verzi přichází na řadu kandidáti novější verze.
Vezmeme-li v úvahu jádro 2.6.16, následníkem je 2.6.17. Jeho finálnímu uvolnění předchází vystavení balíků v kandidátské verzi 2.6.17-rc1, -rc2 atd. většinou v týdenních intervalech. Až poté, co se vývoj dostatečně ustabilní (v posledních -rc je změn méně a vetšinou jen záplatového typu), uvolní se finální verze, ve zmíněném případě to bude 2.6.17.
V nedávné době doznalo číslování drobných změn. Řada 2.6 je nyní vydávána s dalším (čtvrtým) podčíslem. Po uvolnění finální verze (2.6.17) se začne vyvíjet 2.6.18-rc1, -rc2 atd. Pokud se během vývoje objeví opravy kritických nebo bezpečnostních chyb, jsou zařazeny do podverze poslední stabilní verze (2.6.17.1, 2.6.17.2 atd.). Vývojové -rc verze totiž obsahují nové neotestované vlastnosti a proto většina uživatelů používá stabilní verze. Tyto opravné verze umožní uživateli mít stabilní jádro s posledními bezpečnostními bugfixy (opravami bugů).
Nemůžeme opomenout jádra vydávaná různými osobami. Přípona tvořená ze znaků jména, přezdívky či zkratky účelu je obvykle připojovaná na konec verze. Chceme-li použít real-time jádro, získáme aplikovatelný kód, který přidá do názvu -rt. Vývojáři nezřídka kdy používají jádro Andrew Mortona s příponou -mm, svého času bylo populární i -ac Alana Coxe.
Linus Torvalds dohlíží pouze na změny týkající se poslední verze jádra. Správu starších verzí svěřil do rukou jiným programátorům:
| Stabilní řada jádra | Správce |
|---|---|
| 2.0 | David Weinehall |
| 2.2 | Marc-Christian Petersen (původně Alan Cox) |
| 2.4 | Willy Tarreau (původně Marcelo Tosatti) |
| 2.6 | Andrew Morton / Linus Torvalds |
Linuxové jádro je koncipováno jako jednolitá část kódu s podporou načítání externích modulů. Toho se používá kvůli zvýšení stability, urychlení běhu jádra, zmenšení velikosti samotného jádra a zmenšení paměťových nároků.
Linuxové jádro obsahuje podporu opravdového multitaskingu (umožňuje provozovat více úloh/aplikací zároveň), virtuální paměti, správy paměti (správa paměti řízená jádrem, nikoli aplikacemi), sdílených knihoven, modulů, sdílených copy-on-write spustitelných souborů a nezávislých síťových vrstev podporujících mimo jiné síťové protokoly IPv4 a IPv6.
V současné době je Linux modulárním monolitickým jádrem. Ovladače zařízení typicky běží v ring 0 s plným přístupem k hardwaru, avšak některé se nacházejí v uživatelském prostoru. Na rozdíl od standardních monolitických jader lze ovladače zařízení jednoduše konfigurovat jako moduly a za běhu je zavádět či odstraňovat. Rovněž na rozdíl od typických monolitických jader lze na moduly za určitých podmínek uplatňovat preemptivní multitasking. Tato vlastnost byla přidána za účelem lepšího řízení hardwarových přerušení a pro zlepšení podpory symetrického multiprocessingu. Preemptivnost navíc snižuje latenci, a tak zvyšuje citlivost, což je důležité v real-time aplikacích a desktopových nasazeních.
Fakt, že Linux není mikrojádro byl známým tématem flame waru mezi Linusem Torvaldsem a Andy Tanenbaumem v diskusní skupině comp.os.minix v roce 1992. [2] [3]
V současné době je z těch vyšších podporován pouze jazyk C. Existují však rozšíření umožňující programování součástí v jazyce C++. Tato skutečnost byla mnohokrát diskutována, nicméně s výsledkem takovým, že nelze podporu C++ v nativním jádře Linuxu očekávat ani v budoucnu.
Platformně závislé úseky vyžadovaly komunikaci s hardware na nižší úrovni, proto v podstromu architektur lehce narazíme na kód psaný základním strojovým jazykem – assemblerem.
Linux momentálně dokáže běžet na následujících počítačových platformách:
Kompletní seznam portů naleznete na Linux Ports.
Jádro samotné je poskytování pod licencí GPL verze 2. Některé části mohou být pod licencí GPL v2 a novější (označováno jen jako "GPL"), případně i pod dalšími svobodnými licencemi.
Moduly (ovladače) mohou být tvořeny pod záštitou jedné z hned několika licencí: GPL, GPL v2, GPL s dalšími právy, duální BSD/GPL, duální MPL/GPL a konečně proprietární. Moduly s proprietární licencí jsou ale problematické - nelze je šířit v jednom celku s jádrem, vývojáři jádra se k nim většinou staví odmítavě a v některých případech mohou být nelegální (záleží na způsobu implementace).[3]
Maskotem Linuxu je tučňák jménem Tux vytvořený Larry Ewingem v roce 1996.
Existuje mnoho variant Tuxe, některé ve 3D.
Maskotem je právě tučňák, protože Linus Torvalds podle svých slov „má rád tučňáky, toť vše.“ Jméno Tux prý znamená Torvaldsův UniX a už mu to zůstalo. [4]
V prostředí OS Linux je „panic“ systémová chyba vyvolaná jádrem, která na rozdíl od chyb vyvolaných uživatelskými programy nevyhnutelně vede k zastavení práce počítače. Tento stav je možné vyvolat zavoláním funkce panic z hlavičkového souboru sys/system.h. Většinou je však vyvolán neošetřenou procesorovou výjimkou, jako například odkazováním se do neplatné části paměti. Tyto neošetřené výjimky jsou často důsledkem chyby v kódu jádra, případně ale také mohou indikovat hardwarové selhání, například paměti RAM nebo chyb v aritmetických funkcích procesoru.