V računalništvu, Jedro je računalniški program, ki je jedro ali srce operacijskega sistema. Preden podrobno razpravljamo o jedru, najprej razumemo njegovo osnovo, tj. operacijski sistem v računalniku.
Operacijski sistem
Operacijski sistem ali OS je sistemska programska oprema, ki deluje kot vmesnik med komponentami strojne opreme in končnim uporabnikom. Omogoča delovanje drugih programov. Vsak računalniški sistem, ne glede na to, ali je namizni, prenosni, tablični ali pametni telefon, mora imeti OS, ki zagotavlja osnovne funkcije za napravo. Nekateri operacijski sistemi, ki se pogosto uporabljajo, so Windows , Linux , MacOS, Android , iOS itd.
Kaj je jedro v operacijskem sistemu?
- Kot je razloženo zgoraj, je jedro osrednji del OS (operacijskega sistema); zato ima popoln nadzor nad vsem v sistemu. Vsako operacijo strojne in programske opreme upravlja in upravlja jedro.
- Deluje kot most med aplikacijami in obdelavo podatkov na ravni strojne opreme. Je osrednja komponenta OS.
- Je del operacijskega sistema, ki se vedno nahaja v pomnilniku računalnika in omogoča komunikacijo med komponentami programske in strojne opreme.
- To je računalniški program, ki se prvi naloži ob zagonu sistema (po zagonskem nalagalniku). Ko je naložen, upravlja preostale zagone. Prav tako upravlja zahteve po pomnilniku, zunanjih napravah in V/I iz programske opreme. Poleg tega prevede vse I/O zahteve v navodila za obdelavo podatkov za CPE. Opravlja tudi druge tovrstne naloge upravljanje pomnilnika, upravljanje opravil in upravljanje diska .
- Jedro se hrani in običajno naloži v ločen pomnilniški prostor, znan kot zaščiten prostor jedra. Zaščiten je pred dostopom aplikacijskih programov ali manj pomembnih delov OS.
- Drugi aplikacijski programi, kot so brskalnik, urejevalnik besedil, avdio in video predvajalnik, uporabljajo ločen pomnilniški prostor, znan kot uporabniški prostor.
- Zaradi teh dveh ločenih prostorov uporabniški podatki in podatki jedra ne motijo drug drugega in ne povzročajo nestabilnosti in počasnosti.
Funkcije jedra
Jedro operacijskega sistema je odgovorno za izvajanje različnih funkcij in ima nadzor nad sistemom. Nekatere glavne odgovornosti jedra so podane spodaj:
Za izvajanje različnih dejanj potrebujejo procesi dostop do perifernih naprav, kot so miška, tipkovnica itd., ki so povezane z računalnikom. Jedro je odgovorno za nadzor teh naprav z uporabo gonilnikov naprav. Tukaj, a gonilnik naprave je računalniški program, ki pomaga ali omogoča operacijskemu sistemu komunicirati s katero koli strojno napravo.
Jedro vzdržuje seznam vseh razpoložljivih naprav in ta seznam je lahko že znan, konfiguriran s strani uporabnika ali pa ga OS zazna med izvajanjem.
Jedro ima popoln nadzor nad dostopom do pomnilnika računalnika. Vsak proces za delovanje potrebuje nekaj pomnilnika, jedro pa procesom omogoča varen dostop do pomnilnika. Za dodelitev pomnilnika je prvi korak znan kot virtualno naslavljanje, kar se izvede s strani ali segmentacijo. Virtualno naslavljanje je proces zagotavljanja virtualnih naslovnih prostorov procesom. To prepreči, da bi se aplikaciji zrušili ena v drugo.
Ena od pomembnih funkcij jedra je deljenje virov med različnimi procesi. Vire mora deliti tako, da vsak proces enotno dostopa do vira.
Jedro ponuja tudi način za sinhronizacijo in medprocesno komunikacijo (IPC). Odgovoren je za preklapljanje konteksta med procesi.
Jedro je odgovorno za dostop do računalniških virov, kot so RAM in V/I naprave. RAM ali pomnilnik z naključnim dostopom uporablja se tako, da vsebuje podatke in navodila. Vsak program mora za izvajanje dostopati do pomnilnika in večinoma želi več pomnilnika od razpoložljivega. V tem primeru jedro igra svojo vlogo in se odloči, kateri pomnilnik bo vsak proces uporabil in kaj storiti, če zahtevani pomnilnik ni na voljo.
Jedro tudi dodeli zahtevo aplikacij za uporabo V/I naprav, kot so tipkovnice, mikrofoni, tiskalniki itd.
Vrste jedra
Obstaja predvsem pet vrst jedra, ki so podana spodaj:
1. Monolitna jedra
V monolitnem jedru je isti pomnilniški prostor se uporablja za izvajanje uporabniških storitev in storitev jedra.
To pomeni, da se v tej vrsti jedra ne uporablja drugačen pomnilnik za uporabniške storitve in storitve jedra.
Ker uporablja isti pomnilniški prostor, se velikost jedra poveča, kar poveča skupno velikost OS.
Izvajanje procesov je tudi hitrejše od drugih vrst jedra, saj ne uporablja ločenega prostora za uporabnika in jedra.
Primeri monolitnih jeder so Unix, Linux, Open VMS, XTS-400 itd.
Prednosti:
- Izvajanje procesov je prav tako hitrejše, saj ni ločenega uporabniškega prostora in prostora jedra ter manj vključene programske opreme.
- Ker gre za en kos programske opreme, so tako viri kot prevedeni obrazci manjši.
Slabosti:
- Če katera koli storitev ustvari kakršno koli napako, lahko zruši celoten sistem.
- Ta jedra niso prenosljiva, kar pomeni, da jih je treba za vsako novo arhitekturo ponovno napisati.
- Velike velikosti in jih je zato težko upravljati.
- Če želite dodati novo storitev, je treba spremeniti celoten operacijski sistem.
2. Mikrojedro
Mikrojedro se imenuje tudi MK , in se razlikuje od tradicionalnega jedra ali monolitnega jedra. V tem, uporabniške storitve in storitve jedra so implementirane v dva različna naslovna prostora: uporabniški prostor in prostor jedra . Ker uporablja različne prostore za obe storitvi, se velikost mikrojedra zmanjša, kar zmanjša tudi velikost operacijskega sistema.
Mikrojedra je lažje upravljati in vzdrževati v primerjavi z monolitnimi jedri. Kljub temu, če bo prišlo do večjega števila sistemskih klicev in preklapljanja konteksta, bo to morda zmanjšalo delovanje sistema, ker bo počasen.
Ta jedra uporabljajo sistem za posredovanje sporočil za obravnavanje zahtev z enega strežnika na drugega strežnika.
Mikrojedra zagotavljajo samo nekatere bistvene storitve, kot je definiranje pomnilniških naslovnih prostorov, IPC (medprocesna komunikacija) in upravljanje procesov. Druge storitve, kot je mreženje, ne zagotavlja jedro in jih upravlja program uporabniškega prostora, znan kot strežniki .
Eno od glavnih pomanjkljivosti monolitnih jeder, da lahko napaka v jedru zruši celoten sistem, je mogoče odstraniti v mikrojedru. Tako kot pri mikrojedru, če se proces jedra zruši, je zrušitev celotnega sistema še vedno mogoče preprečiti s ponovnim zagonom storitev, ki so povzročile napako.
Primeri podjetja Microkernel so L4, AmigaOS, Minix, K42 itd.
Prednosti
ni vhodnega signala
- Mikrojedra je mogoče enostavno upravljati.
- Novo storitev je mogoče preprosto dodati brez spreminjanja celotnega operacijskega sistema.
- Če se v mikrojedru zruši proces jedra, je še vedno mogoče preprečiti zrušitev celotnega sistema.
Slabosti
- Obstaja več zahtev po programski opremi za povezovanje, kar zmanjšuje zmogljivost sistema.
- Upravljanje procesov je zelo zapleteno.
- Napake pri sporočanju je težko odpraviti.
3. Hibridno jedro
Hibridna jedra so znana tudi kot modularna jedra , in je kombinacija monolitnih in mikrojeder. Izkorišča hitrost monolitnih jeder in modularnost mikrojeder.
Hibridno jedro lahko razumemo kot razširjeno različico mikrojedra z dodatnimi lastnostmi monolitnega jedra. Ta jedra se pogosto uporabljajo v komercialnih OS, kot so različne različice MS Windows.
Zelo je podoben mikrojedru, vendar vključuje tudi nekaj dodatne kode v prostoru jedra za izboljšanje zmogljivosti sistema.
Hibridna jedra omogočajo izvajanje nekaterih storitev, kot npr omrežni sklad v prostoru jedra za zmanjšanje zmogljivosti v primerjavi s tradicionalnim mikrojedrom, vendar še vedno omogoča izvajanje kode jedra (kot so gonilniki naprav) kot strežniki v uporabniškem prostoru.
Primeri hibridnega jedra so Windows NT, Netware, BeOS itd.
Prednosti:
- Za testiranje ni potreben ponovni zagon.
- Tehnologijo tretjih oseb je mogoče hitro integrirati.
Slabosti:
- Obstaja možnost več hroščev z več vmesniki.
- Vzdrževanje modulov za nekatere skrbnike je lahko zmedeno, zlasti ko se ukvarjajo s težavami, kot so razlike v simbolih.
4. Nanojedro
Kot že ime pove, v Nanokernelu je celotna koda jedra zelo majhna, kar pomeni, da je koda, ki se izvaja v privilegiranem načinu strojne opreme, zelo majhna . Tukaj izraz nano definira jedro, ki podpira nanosekundno ločljivost ure.
.naslednja java
Primeri nanojeder so EROS itd.
Prednosti
- Zagotavlja abstrakcije strojne opreme tudi pri zelo majhni velikosti.
Slabosti
- Nanokernel nima sistemskih storitev.
5. Eksojedro
Exokernel se še vedno razvija in je eksperimentalni pristop za načrtovanje OS.
Ta vrsta jedra se od drugih jeder razlikuje po tem; zaščita virov je ločena od upravljanja, kar nam omogoča, da izvajamo prilagoditve za posamezne aplikacije.
Prednosti:
- Sistem, ki temelji na eksojedru, lahko vključuje več knjižničnih operacijskih sistemov. Vsaka knjižnica izvozi drugačen API, na primer enega lahko uporabite za razvoj uporabniškega vmesnika na visoki ravni, drugega pa za nadzor v realnem času .
Slabosti:
- Zasnova eksojedra je zelo zapletena.
Kaj je Kernel Panics?
Kot smo že omenili, to jedro nadzoruje celoten računalniški sistem; torej, če se zruši, lahko uniči celoten sistem. V sistemih MacOS in Linux je tak nezaželen dogodek znan kot ' Kernel Panic.' Za obnovitev po jedru Panic moramo znova zagnati sistem.
Običajno te panike jedra povzročijo težave s komunikacijo strojne opreme. Zato, če se pojavljajo ponavljajoče se panike jedra, poskusite odklopiti manj potrebne ali nepotrebne naprave in preverite, ali je težava odpravljena ali ne.