Jádro operačního systému: Porovnání verzí
Smazaný obsah Přidaný obsah
Korektura textu značka: editace z Vizuálního editoru |
interní odkazy, vhodnější slovesa, pravopisné chyby, typo |
||
Řádek 2:
'''Jádro''' je v [[Informatika (počítačová věda)|informatice]] označení pro '''jádro''' [[Operační systém|operačního systému]]. Jádro je zavedeno do [[Operační paměť|operační paměti]] při startu ([[bootování]]) [[počítač]]e a je mu 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 ostatních běžících [[Proces (program)|procesů]]. Anglický název ''kernel'' znamená v 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>
Hlavní úkol jádra spočívá v přidělovaní [[
Pro zajištění bezpečnosti [[operační systém|operačního systému]] je nutné, aby procesor podporoval dva módy činnosti: omezený pro aplikace a privilegovaný (se speciálními [[Strojová instrukce|strojovými instrukcemi]]) pro jádro. Privilegovanému módu se proto někdy říká ''kernel mód''.
Podle architektury operačního systému se typicky rozlišuje [[
== Základní povinnosti jádra ==
Základní účel jádra
* [[Procesor]] (centrální procesorová jednotka neboli procesor).
* [[Elektronická paměť|Paměť]] počítače. Paměť je používána k ukládání jak [[Strojová instrukce|strojových instrukcí]] programů tak i dat. Obvykle musí být v paměti přítomno obojí, aby se mohl provést program. Často chce paměť používat mnoho programů, dohromady požadujících více paměti než má počítač k dispozici. Jádro má za povinnost rozhodování, kterou část paměti může každý proces použít a rozhodnout co dělat, když je nedostatek volné paměti. (viz také [[virtuální paměť]]).
* Jakékoliv vstupně/výstupní (I/O) zařízení přítomné v počítači, jako jsou [[Pevný disk|diskové jednotky]], [[Počítačová tiskárna|tiskárny]], [[displej]]e a další. Jádro přidělí žádostem aplikací příslušná I/O zařízení (nebo podčást ze zařízení, v případě [[soubor]]ů na disku nebo oken na displeji) a pečuje vhodným způsobem o užívání zařízení (typicky do bodu kde aplikace nepotřebuje znát implementační detaily zařízení)
Řádek 21:
=== Správa procesu ===
Hlavním úkolem jádra je umožnit vykonávání aplikací a podporovat je metodami jako je abstrakce [[hardware]]. K 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 (informatika)|zásobník]] pro program a poté předává řízení na pozici uvnitř programu, kde začíná jeho vykonávání.
[[Multitasking]] jádra umožňuje poskytovat uživateli [[Iluze|iluzi]] současného běhu libovolného počtu procesů na počítači. Typicky počet procesů které mohou na systému běžet zároveň je rovný počtu nainstalovaných procesorů (nicméně to nemusí tak být, když procesor podporuje zároveň simultánní [[multithreading]]).
V preemptivním multitaskingovém systému jádro dává každému programu procesor na určitý časový úsek a přepíná z procesu na proces tak rychle, že to uživateli připadá jako by procesy běžely zároveň. Jádro používá plánovací [[algoritmus]] k výběru, který proces poběží další a kolik času mu bude přiděleno. Vybraný algoritmus může dovolit některým procesům, aby měly vyšší prioritu než ostatní. Jádro obvykle také poskytuje procesům prostředky pro komunikaci (již zmíněné IPC), například [[
Ostatní systémy (většinou na méně výkonných počítačích) můžou poskytovat kooperativní [[multitasking]], kde každému procesu je dovoleno běžet nepřerušeně dokud nevyšle speciální žádost, která ohlásí jádru, že může přepnout na jiný proces. Tyto dotazy jsou známy pod jménem „[[yielding]]“ a typicky se vyskytují v souvislosti s meziprocesovou komunikací nebo čekáním na událost. Starší verze operačních systémů [[Microsoft Windows|Windows]] a [[Mac OS|MAC]] používaly kooperativní multitasking, ale přešly na preemptivního jakmile výkon počítačům, pro které byly určeny, vzrostl.
Operační systém může také podporovat multiprocesing (symetrický - SMP - nebo s neuniformním přístupem k paměti - [[Non-Uniform Memory Access|NUMA]]); v tom případě různé programy a [[Vlákno (program)|vlákna]] mohou běžet na různých procesorech. Jádro musí být pro takový systém navrženo: musí být [[reentrantní]], což znamená že mohou bezpečně běžet dvě různé části jednoho kódu zároveň. To obvykle vyžaduje použití synchronizačního mechanizmu (jako je [[spinlock]]) k zajištění že žádné dva procesy nemohou měnit
=== Správa paměti ===
|