Jádro operačního systému: Porovnání verzí

Smazaný obsah Přidaný obsah
úpravy po přesunu
m +ref
Řádek 1:
[[Soubor:Kernel_Layout_cs.svg|thumb|200px|Jádro zprostředkovává přístup [[Software|programů]] k [[hardware]] počítače]]
'''Jádro operačního systému''' ({{Vjazyce|en}} {{Cizojazyčně|en|''kernel''}}) je v&nbsp;[[Informatika|informatice]] část [[Operační systém|operačního systému]], která je zavedena do [[Operační paměť|operační paměti]] při startu ([[bootování]]) [[počítač]]e a je jí předáno řízení. U pokročilých operačních systémů jádro nikdy neztrácí kontrolu nad počítačem a po celou dobu jeho běhu koordinuje činnost všech spuštěných [[Proces (program)|procesů]].{{doplňte zdroj}} Anglický název '''kernel''' znamená v&nbsp;překladu jádro pecky, zrno nebo ztvrdlou dužinu ovoce.<ref>http://slovnik.seznam.cz/?q=kernel&lang=en_cz{{Citace – překlad anglického slova ''kernel''</ref>monografie
| příjmení = Herout
| jméno = Lukáš
| odkaz na autora =
| titul = Výpočetní technika I
| url = http://docplayer.cz/8305879-Ing-bohuslav-ruzicka-csc-ing-lukas-herout-ph-d-studijni-zatez-pocet-vyukovych-hodin-podle-poctu-kreditu-semestr-4-144-24-120-90.html
| vydavatel = Bankovní institut vysoká škola, a.s
| místo = Praha
| rok =
| vydání =
| počet stran = 92
| kapitola = 3.3. Operační systémy
| strany = 35
| isbn =
| jazyk =
}}</ref>
 
Anglický název ''kernel'' znamená v&nbsp;překladu jádro pecky, zrno nebo ztvrdlou dužinu ovoce.<ref>http://slovnik.seznam.cz/?q=kernel&lang=en_cz – překlad anglického slova ''kernel''</ref>
 
== Charakteristika ==
Hlavní úkol jádra spočívá v&nbsp;přidělovaní [[Elektronická paměť|paměti]] a času [[mikroprocesor|procesoru]] (či procesorů) programům, ovládání zařízení počítače (pomocí [[Ovladač zařízení|ovladačů]]) a abstrakci funkcí (aby bylo např. možné načítat soubory z&nbsp;[[Pevný disk|pevného disku]] a z&nbsp;jednotky [[CD-ROM]] stejným příkazem).
 
Řádek 20 ⟶ 38:
Nakonec, jádro musí poskytnout běžícím programům metodu jak žádat o přístup k&nbsp;těmto prostředkům.
 
=== Správa procesuprocesů ===
Hlavním úkolem jádra je umožnit vykonávání aplikací a podporovat je metodami jako je abstrakce [[hardware]]. K&nbsp;běhu aplikace jádro typicky nastavuje adresní prostor pro aplikaci, nahrává soubory obsahující aplikační kód do paměti (třeba pomocí [[stránkování paměti]]), nastavuje [[Zásobník (datová struktura)|zásobník]] pro program a poté předává řízení na pozici uvnitř programu, kde začíná jeho vykonávání.
 
Řádek 67 ⟶ 85:
[[Soubor:Kernel-hybrid.svg|thumb|260px|Hybridní jádro]]
{{Podrobně|Hybridní jádro}}
Hybridní jádro se snaží zkombinovat rychlost a jednoduchost designu monolitického jádra s&nbsp;bezpečnostními výhodami mikrojader. Proto jsou hybridní jádra něco mezi monolitickým jádrem a mikrojádrem. To znamená že některé služby (jako souborový systém nebo implementace síťového protokolu) běží v&nbsp;jádře ke zredukování režie proti mikrojádrům, ale jiné části monolitického jádra (ovladače zařízení) běží jako server v&nbsp;uživatelském prostoru.
 
Hybridní jádra jsou něco mezi monolitickým jádrem a mikrojádrem. To znamená že některé služby (jako souborový systém nebo implementace síťového protokolu) běží v&nbsp;jádře ke zredukování režie proti mikrojádrům, ale jiné části monolitického jádra (ovladače zařízení) běží jako server v&nbsp;uživatelském prostoru.
 
=== Monolitická jádra vs. mikrojádra ===
S&nbsp;rostoucí velikostí jádra se objevuje množství problémů koncepce monolitického jádra. Jeden z&nbsp;nejvýraznějších je zvětšování „paměťového„otisku otisku“v paměti“ ({{Vjazyce2|''kernel footprint''}}), tedy množství paměti zabrané přímo jádrem. [[Virtuální paměť]] tento problém do určité míry odstraňuje, ale ne všechny počítačové architektury mají podporu virtuální paměti. Ke snížení velikosti jádra se musí vykonávat rozsáhlé úpravy k&nbsp;opatrnému odstranění nepotřebného kódu, které mohou být velmi složité vzhledem k&nbsp;nejasné vzájemné závislostí mezi částmi jádra s&nbsp;miliony řádků zdrojového kódu.
 
Některé nevýhody monolitického jádra je možné odstranit používáním modulů: ovladače zařízení stále běží v&nbsp;prostoru jádra se vší efektivitou, kterou to přináší, ale jsou do značné míry nezávislé a je možné nahrávat jen ty, které jsou pro daný počítač zapotřebí. Příkladem takového systému je například [[Linux]] nebo [[FreeBSD]]. Přesto, debata mezi [[Linus Torvalds|Linusem Torvaldsem]] a [[Andrew S. Tanenbaum|Andrewem Tanenbaumem]] na téma, že Linux by měl být raději mikrojádro, se rozrostla na slavnou [[flame war|vášnivou diskusi]].