logo

Čo je jadro?

V informatike, Kernel je počítačový program, ktorý je jadrom alebo srdcom operačného systému. Predtým, ako sa podrobne porozprávame o jadre, poďme najprv pochopiť jeho základ, t. j. operačný systém v počítači.

Operačný systém

Operačný systém alebo OS je systémový softvér, ktorý funguje ako rozhranie medzi hardvérovými komponentmi a koncovým používateľom. Umožňuje spustenie iných programov. Každý počítačový systém, či už ide o stolný počítač, prenosný počítač, tablet alebo smartfón, musí mať operačný systém na poskytovanie základných funkcií pre zariadenie. Niektoré široko používané operačné systémy sú Windows , Linux , MacOS, Android, iOS atď.

Čo je jadro v operačnom systéme?

Čo je jadro
  • Ako je uvedené vyššie, jadro je základnou súčasťou OS (operačného systému); má teda plnú kontrolu nad všetkým v systéme. Každá operácia hardvéru a softvéru je riadená a spravovaná jadrom.
  • Funguje ako most medzi aplikáciami a spracovaním údajov na hardvérovej úrovni. Je to centrálna súčasť OS.
  • Je to časť OS, ktorá sa vždy nachádza v pamäti počítača a umožňuje komunikáciu medzi softvérovými a hardvérovými komponentmi.
  • Je to počítačový program, ktorý sa ako prvý načítal pri spustení systému (po bootloaderi). Po načítaní spravuje zostávajúce spustenia. Spravuje tiež požiadavky na pamäť, periférne zariadenia a I/O zo softvéru. Okrem toho prekladá všetky I/O požiadavky do inštrukcií spracovania dát pre CPU. Zvláda aj iné úlohy ako správa pamäte, správa úloh a správa diskov .
  • Jadro je uchovávané a zvyčajne načítané do samostatného pamäťového priestoru, známeho ako chránený priestor jadra. Je chránený pred prístupom aplikačných programov alebo menej dôležitých častí OS.
  • Iné aplikačné programy, ako je prehliadač, textový procesor, audio a video prehrávač, využívajú oddelený pamäťový priestor známy ako užívateľský priestor.
  • Vďaka týmto dvom oddeleným priestorom sa používateľské údaje a údaje jadra navzájom nerušia a nespôsobujú žiadnu nestabilitu a pomalosť.

Funkcie jadra

Jadro operačného systému je zodpovedné za vykonávanie rôznych funkcií a má kontrolu nad systémom. Niektoré hlavné zodpovednosti jadra sú uvedené nižšie:

    Správa zariadenia
    Na vykonávanie rôznych akcií procesy vyžadujú prístup k periférnym zariadeniam, ako sú myš, klávesnica atď., ktoré sú pripojené k počítaču. Jadro je zodpovedné za ovládanie týchto zariadení pomocou ovládačov zariadení. Tu, a ovládač zariadenia je počítačový program, ktorý pomáha alebo umožňuje OS komunikovať s akýmkoľvek hardvérovým zariadením.
    Jadro udržiava zoznam všetkých dostupných zariadení a tento zoznam môže byť už známy, nakonfigurovaný používateľom alebo zistený OS za behu.Správa pamäte
    Jadro má plnú kontrolu nad prístupom k pamäti počítača. Každý proces vyžaduje na fungovanie určitú pamäť a jadro umožňuje procesom bezpečný prístup k pamäti. Na pridelenie pamäte je prvý krok známy ako virtuálne adresovanie, ktorá sa vykonáva stránkovaním alebo segmentáciou. Virtuálne adresovanie je proces poskytovania virtuálnych adresných priestorov procesom. Tým sa zabráni vzájomnému padaniu aplikácií.Riadenie zdrojov
    Jednou z dôležitých funkcií jadra je zdieľanie zdrojov medzi rôznymi procesmi. Musí zdieľať zdroje tak, aby každý proces jednotne pristupoval k zdroju.
    Jadro tiež poskytuje spôsob synchronizácie a medziprocesová komunikácia (IPC). Je zodpovedný za prepínanie kontextu medzi procesmi.Prístup k počítačovým zdrojom
    Jadro je zodpovedné za prístup k počítačovým zdrojom, ako sú RAM a I/O zariadenia. RAM alebo pamäť s náhodným prístupom sa používa na to, aby obsahoval údaje aj pokyny. Každý program potrebuje na vykonanie prístup k pamäti a väčšinou vyžaduje viac pamäte, než je dostupná. V takom prípade hrá svoju úlohu jadro a rozhoduje o tom, ktorú pamäť každý proces použije a čo robiť, ak požadovaná pamäť nie je k dispozícii.
    Jadro tiež prideľuje požiadavku aplikácií na používanie I/O zariadení, ako sú klávesnice, mikrofóny, tlačiarne atď.

Typy jadra

Existuje hlavne päť typov jadra, ktoré sú uvedené nižšie:

Čo je jadro

1. Monolitické jadrá

V monolitickom jadre je rovnaký pamäťový priestor sa používa na implementáciu užívateľských služieb a služieb jadra.

Čo je jadro

To znamená, že v tomto type jadra sa nepoužíva žiadna odlišná pamäť pre používateľské služby a služby jadra.

Keďže využíva rovnaký pamäťový priestor, veľkosť jadra sa zväčšuje, čím sa zvyšuje celková veľkosť operačného systému.

Vykonávanie procesov je tiež rýchlejšie ako pri iných typoch jadra, pretože nevyužíva oddelený priestor pre používateľov a jadro.

získajte dĺžku poľa v c

Príklady monolitických jadier sú Unix, Linux, Open VMS, XTS-400 atď.

Výhody:

  • Vykonávanie procesov je tiež rýchlejšie, pretože neexistuje žiadny oddelený priestor pre používateľov a priestor jadra a menej softvéru.
  • Keďže ide o jeden softvér, jeho zdroje aj kompilované formy sú menšie.

Nevýhody:

  • Ak ktorákoľvek služba vygeneruje chybu, môže dôjsť k zrúteniu celého systému.
  • Tieto jadrá nie sú prenosné, čo znamená, že pre každú novú architektúru musia byť prepísané.
  • Veľké, a preto je ťažké ich spravovať.
  • Pre pridanie novej služby je potrebné upraviť celý operačný systém.

2. Mikrojadro

Čo je jadro

Mikrojadro sa tiež označuje ako MK a líši sa od tradičného jadra alebo monolitického jadra. V tomto, užívateľské služby a služby jadra sú implementované do dvoch rôznych adresných priestorov: užívateľský priestor a kernelový priestor . Keďže používa rôzne priestory pre obe služby, veľkosť mikrojadra sa zmenšuje a tým sa znižuje aj veľkosť operačného systému.

Mikrojadrá sa ľahšie spravujú a udržiavajú v porovnaní s monolitickými jadrami. Ak však dôjde k väčšiemu počtu systémových volaní a prepínania kontextu, môže to znížiť výkon systému tým, že ho spomalí.

história v jave

Tieto jadrá používajú systém odovzdávania správ na spracovanie požiadavky z jedného servera na druhý server.

Mikrokernely poskytujú iba niektoré základné služby, ako napríklad definovanie adresných priestorov pamäte, IPC (medziprocesová komunikácia) a riadenie procesov. Ostatné služby, ako je sieťovanie, neposkytuje jadro a spravuje ich program v používateľskom priestore známy ako serverov .

Jednou z hlavných nevýhod monolitických jadier je, že chyba v jadre môže zrútiť celý systém, je možné odstrániť v mikrokerneli. Rovnako ako v mikrokerneli, ak dôjde k zlyhaniu procesu jadra, zrúteniu celého systému možno stále zabrániť reštartovaním služieb spôsobených chybami.

Príklady mikrokernel sú L4, AmigaOS, Minix, K42 , atď.

Výhody

  • Mikrojadrá sa dajú ľahko spravovať.
  • Novú službu je možné jednoducho pridať bez úpravy celého OS.
  • Ak v mikrokerneli dôjde k zlyhaniu procesu jadra, stále je možné zabrániť zrúteniu celého systému.

Nevýhody

  • Existuje viac požiadaviek na softvér na prepojenie, čo znižuje výkon systému.
  • Riadenie procesov je veľmi komplikované.
  • Chyby v správach sa ťažko opravujú.

3. Hybridné jadro

Čo je jadro

Hybridné jadrá sú známe aj ako modulárne jadrá a je to kombinácia monolitických a mikrojadier. Využíva rýchlosť monolitických jadier a modularitu mikrojadier.

Hybridné jadro možno chápať ako rozšírenú verziu mikrojadra s ďalšími vlastnosťami monolitického jadra. Tieto jadrá sú široko používané v komerčných OS, ako sú rôzne verzie MS Windows.

Je to veľmi podobné mikrokernelu, ale obsahuje aj nejaký dodatočný kód v priestore jadra na zvýšenie výkonu systému.

Hybridné jadrá umožňujú spúšťať niektoré služby ako napr sieťový zásobník v priestore jadra na zníženie výkonu v porovnaní s tradičným mikrokernelom, ale stále umožňuje spúšťať kód jadra (ako sú ovládače zariadení) ako servery v užívateľskom priestore.

Príklady hybridného jadra sú Windows NT, Netware, BeOS atď.

Výhody:

  • Na testovanie sa nevyžaduje reštart.
  • Technológia tretích strán môže byť integrovaná rýchlo.

Nevýhody:

generátor náhodných čísel v c
  • Existuje možnosť viacerých chýb s viacerými rozhraniami, cez ktoré sa dá prejsť.
  • Údržba modulov môže byť pre niektorých správcov mätúca, najmä pri riešení problémov, ako sú rozdiely v symboloch.

4. Nanojadro

Ako už názov napovedá, v Nanokerneli je úplný kód jadra veľmi malý, čo znamená, že kód spustený v privilegovanom režime hardvéru je veľmi malý . Tu pojem nano definuje jadro, ktoré podporuje rozlíšenie nanosekundových hodín.

Príklady nanokernelu sú EROS atď.

Výhody

  • Poskytuje hardvérové ​​abstrakcie aj pri veľmi malej veľkosti.

Nevýhody

  • Nanokernel nemá systémové služby.

5. Exokernel

Exokernel sa stále vyvíja a je experimentálnym prístupom pri navrhovaní OS.

Tento typ jadra sa líši od ostatných jadier ako v tomto; ochrana zdrojov je oddelená od správy, čo nám umožňuje vykonávať prispôsobenia špecifické pre aplikáciu.

Výhody:

  • Systém založený na exokerneli môže obsahovať viacero knižničných operačných systémov. Každá knižnica exportuje iné API, napríklad jedno sa dá použiť na vývoj používateľského rozhrania na vysokej úrovni a druhé sa dá použiť na ovládanie v reálnom čase .

Nevýhody:

  • Dizajn exokernelu je veľmi zložitý.

Čo je to Kernel Panics?

Ako sme už diskutovali, toto jadro riadi celý počítačový systém; preto ak zlyhá, môže zničiť celý systém. V systémoch MacOS a Linux je takáto nežiaduca udalosť známa ako „ Kernel Panic.“ Aby sme sa zotavili z kernel Panic, musíme reštartovať systém.

Zvyčajne sú tieto paniky jadra spôsobené problémami s hardvérovou komunikáciou. Ak teda dochádza k opakovaným panikám jadra, skúste odpojiť menej požadované alebo nepotrebné zariadenia a skontrolujte, či sa problém vyriešil alebo nie.