New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Linuxové jádro - Wikipedie, otevřená encyklopedie

Linuxové jádro

Z Wikipedie, otevřené encyklopedie

Linux
vyvíjí Linus Torvalds (tvůrce) a další
aktuální verze 2.6.19.2 (10. leden 2007)
OS -
typ softwaru Jádro operačního systému
licence GPL
web http://www.kernel.org/
logo produktu Linuxový maskot Tux (vytvořil Larry Ewing)

Linuxové jádro 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í.

Obsah

[editovat] Historie

Historicky první Linuxové jádro bylo označeno verzí 0.01 [1], Linus Torvalds jej napsal v roce 1991 se slovy:

Ahoj všichni, kdo používáte Minix -

Makám na (volném) operačním systému (mám to jako koníček, nic velkého
a profesionálního jako gnu) pro klony 386(486) AT.

Od té doby se Linux změnil, stal se velkým a profesionálním pro nejen x86 mašiny, do dnešní podoby.

Je několik verzí vzniku samotného jména Linux. Při pátrání se může připlést do rukou kniha (ISBN 0-7382-0333-5), v níž lze nalistovat přibližně toto:

„Linux bylo moje pracovní jméno,“ říká Linus, „ale jestli je to
doopravdy používáno jako oficiální, budou si lidi myslet, že jsem
egomaniak a nebudou to brát ani trochu vážně. A tak jsem vybral
tohle velmi praštěné jméno: Freax“ - free + freak + x. „Divné, já
vím.“ Ari Lemmke, který provozoval FTP síť (pozn. překl.: myslí se
funet.fi), se rozhodl nedát tomu nálepku podobnou Freax a tak místo
toho použil pracovní jméno.

[editovat] Časová osa

  • Duben 1991 - Tehdy 21-letý Linus Torvalds začíná pracovat na jednoduchých funkcích operačního systému.
  • 0.0.1 - září 1991 (10 239 řádek kódu)
  • 0.11 - prosinec 1991 - První verze, pod kterou lze zkompilovat Linux 0.11.
  • 0.95 - březen 1992 - První verze schopná spuštění X Window System.
  • 1.0.0 – 14.3. 1994 (176 250 řádek kódu)
  • 1.2.0 – 7.3. 1995 (310 950 řádek kódu)
  • 2.0.0 – 9.6. 1996 (777 956 řádek kódu)
  • 2.2.0 – 25.1. 1999 (1 800 847 řádek kódu)
  • 2.4.0 – 4.1. 2001 (3 377 902 řádek kódu)
  • 2.6.0 – 17.12. 2003 (5 929 913 řádek kódu)
  • 2.6.16.11 - 24.4. 2006 (6 981 110 řádek kódu)

[editovat] Verze

[editovat] Číslování verzí

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říchá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 proprietární 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řídá do názvu -rt. Vývojáři nezřídkakdy používají jádro Andrew Mortona s příponou -mm, svého času bylo populární i -ac Alana Coxe.

[editovat] Údržba

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

[editovat] Historie stabilních verzí

[editovat] Architektura

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. Narozdí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ěž narozdí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]

[editovat] Programovací jazyky

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.

[editovat] Přenositelnost

Linux momentálně dokáže běžet na následujících počítačových platformách:

  • ARM
  • Axis Communications CRIS
  • FujitsuFR-V
  • Hewlett Packard Alpha
  • Hewlett Packard PA-RISC
  • Hitachi: SuperH (SEGA Dreamcast), H8/300
  • IBM S/390 (31bitové)
  • IBM zSeries a System z9 mainframe (64bitové)
  • Intel 80386 a vyšší (i386): IBM PC a kompatibilní s procesory:
  • Intel IA-64
  • MIPS
  • Motorola 68020 a vyšší:
    • novější Amigy: A1200, A2500, A3000, A4000
    • Apple Macintosh II, LC, Quadra, Centris a raná série Performa
    • stanice Sun Microsystems série 3 (experimentální, používá Sun-3 MMU)
    • stroje nezaložené na Sun 68020 vyžadují PMMU Motorola 68851
  • NEC v850e
  • Renesas M32R
  • PowerPC a IBM POWER:
    • většina novějších počítačů Apple (všechny Power Macintoshe používající PCI, omezená podpora pro starší NuBus Power Mac)
    • klony PCI Power Mac pod značkami Power Computing, UMAX a Motorola
    • Amigas upgradované „Power-UP“ kartou (jako Blizzard nebo CyberStorm)
    • systémy IBM RS/6000, iSeries a pSeries
    • deskyPegasos I a II
    • některé embedded PowerPC platformy
  • SPARC a UltraSparc: Sun série 4, pracovní stanice a servery SPARCstation/SPARCserver, Ultra, Blade a Fire, stejně jako kolny od výrobce Tatung a další

Kompletní seznam portů naleznete na Linux Ports.

[editovat] Licencování

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

[editovat] Maskot

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]


[editovat] Kernel panic

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, případně ale také mohou indikovat hardwarové selhání, například paměti RAM nebo chyb v aritmetických funkcích procesoru.

[editovat] Odkazy

[editovat] Externí odkazy

[editovat] Linux 2.6

[editovat] Stránky týkající se jádra


Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu