Informatikos srityje, Branduolys yra kompiuterio programa, kuri yra operacinės sistemos šerdis. Prieš išsamiai aptardami branduolį, pirmiausia supraskime jo pagrindą, t. y., kompiuterio operacinę sistemą.
Operacinė sistema
Operacinė sistema arba OS yra sistemos programinė įranga, veikianti kaip sąsaja tarp aparatinės įrangos komponentų ir galutinio vartotojo. Tai leidžia paleisti kitas programas. Kiekviena kompiuterinė sistema, nesvarbu, ar tai stalinis, nešiojamasis kompiuteris, planšetinis kompiuteris ar išmanusis telefonas, turi turėti OS, kad būtų teikiamos pagrindinės įrenginio funkcijos. Kai kurios plačiai naudojamos operacinės sistemos yra Windows , Linux , MacOS, Android , iOS ir kt.
Kas yra branduolys operacinėje sistemoje?
- Kaip aptarta aukščiau, branduolys yra pagrindinė OS (operacinės sistemos) dalis; taigi ji visiškai kontroliuoja viską sistemoje. Kiekvieną aparatinės ir programinės įrangos operaciją valdo ir administruoja branduolys.
- Jis veikia kaip tiltas tarp programų ir duomenų apdorojimo aparatūros lygiu. Tai yra pagrindinis OS komponentas.
- Tai yra OS dalis, kuri visada yra kompiuterio atmintyje ir leidžia palaikyti ryšį tarp programinės įrangos ir aparatinės įrangos komponentų.
- Tai yra kompiuterinė programa, kuri pirmą kartą buvo įkelta paleidžiant sistemą (po įkrovos įkėlimo programos). Kai jis įkeliamas, jis valdo likusius paleidimus. Jis taip pat valdo atminties, periferinių įrenginių ir įvesties / išvesties užklausas iš programinės įrangos. Be to, jis paverčia visas įvesties / išvesties užklausas į CPU duomenų apdorojimo instrukcijas. Jis taip pat valdo kitas užduotis kaip atminties valdymas, užduočių valdymas ir disko valdymas .
- Branduolys yra saugomas ir paprastai įkeliamas į atskirą atminties erdvę, vadinamą apsaugota branduolio erdvė. Jis apsaugotas nuo prieigos prie taikomųjų programų ar mažiau svarbių OS dalių.
- Kitos taikomosios programos, tokios kaip naršyklė, tekstų rengyklė, garso ir vaizdo grotuvas, naudoja atskirą atminties vietą, vadinamą vartotojo erdvė.
- Dėl šių dviejų atskirų tarpų vartotojo duomenys ir branduolio duomenys netrukdo vienas kitam ir nesukelia nestabilumo bei lėtumo.
Branduolio funkcijos
OS branduolys yra atsakingas už įvairių funkcijų vykdymą ir valdo sistemą. Toliau pateikiamos kai kurios pagrindinės branduolio pareigos:
Norint atlikti įvairius veiksmus, procesams reikalinga prieiga prie išorinių įrenginių, tokių kaip pelė, klaviatūra ir kt., kurie yra prijungti prie kompiuterio. Branduolys yra atsakingas už šių įrenginių valdymą naudojant įrenginių tvarkykles. Čia, a įrenginio tvarkyklė yra kompiuterio programa, kuri padeda arba leidžia OS susisiekti su bet kokiu aparatūros įrenginiu.
Branduolys palaiko visų galimų įrenginių sąrašą ir šis sąrašas gali būti jau žinomas, vartotojo sukonfigūruotas arba OS aptiktas vykdymo metu.
Branduolys turi visišką prieigą prie kompiuterio atminties. Kiekvienam procesui reikia šiek tiek atminties, o branduolys leidžia procesams saugiai pasiekti atmintį. Norint paskirstyti atmintį, pirmasis žingsnis yra žinomas kaip virtualus adresavimas, kuri atliekama puslapiu arba segmentavimu. Virtualus adresavimas yra virtualių adresų erdvių suteikimo procesams procesas. Tai apsaugo programas nuo susidūrimo viena su kita.
Viena iš svarbių branduolio funkcijų yra dalytis ištekliais tarp įvairių procesų. Jis turi dalytis ištekliais taip, kad kiekvienas procesas vienodai pasiektų išteklius.
Branduolys taip pat suteikia galimybę sinchronizuoti ir tarpprocesinis ryšys (IPC). Ji yra atsakinga už konteksto perjungimą tarp procesų.
Branduolys yra atsakingas už prieigą prie kompiuterio išteklių, tokių kaip RAM ir įvesties / išvesties įrenginiai. RAM arba laisvosios prieigos atmintis naudojamas duomenims ir instrukcijoms talpinti. Kiekviena programa turi turėti prieigą prie atminties, kad galėtų vykdyti, ir dažniausiai nori daugiau atminties nei turima. Tokiu atveju branduolys atlieka savo vaidmenį ir nusprendžia, kurią atmintį naudos kiekvienas procesas ir ką daryti, jei reikiamos atminties nėra.
Branduolys taip pat paskirsto programų užklausą naudoti įvesties / išvesties įrenginius, tokius kaip klaviatūros, mikrofonai, spausdintuvai ir kt.
Branduolio tipai
Iš esmės yra penki branduolio tipai, kurie pateikiami toliau:
1. Monolitiniai branduoliai
Monolitiniame branduolyje, ta pati atminties vieta naudojama vartotojų paslaugoms ir branduolio paslaugoms įgyvendinti.
Tai reiškia, kad tokio tipo branduolyje vartotojo paslaugoms ir branduolio paslaugoms nėra naudojamos skirtingos atminties.
Kadangi jis naudoja tą pačią atminties vietą, branduolio dydis didėja, todėl padidėja bendras OS dydis.
Procesų vykdymas taip pat yra greitesnis nei kitų tipų branduolių, nes nenaudojama atskira vartotojo ir branduolio erdvė.
Pavyzdžiai yra monolitinių branduolių Unix, Linux, Open VMS, XTS-400 ir kt.
Privalumai:
- Procesų vykdymas taip pat yra greitesnis, nes nėra atskiros vartotojo erdvės ir branduolio erdvės ir naudojama mažiau programinės įrangos.
- Kadangi tai yra viena programinės įrangos dalis, jos šaltiniai ir sudarytos formos yra mažesni.
Trūkumai:
- Jei kuri nors paslauga sugeneruos kokią nors klaidą, ji gali sugadinti visą sistemą.
- Šie branduoliai nėra nešiojami, o tai reiškia, kad kiekvienai naujai architektūrai jie turi būti perrašyti.
- Didelis dydis, todėl jį sunku valdyti.
- Norint pridėti naują paslaugą, reikia modifikuoti visą operacinę sistemą.
2. Mikrobranduolis
Mikrobranduolis taip pat vadinamas MK , ir jis skiriasi nuo tradicinio branduolio arba monolitinio branduolio. Šiame, vartotojo paslaugos ir branduolio paslaugos yra įdiegtos į dvi skirtingas adresų sritis: vartotojo erdvę ir branduolio erdvę . Kadangi jis naudoja skirtingas erdves abiem paslaugoms, sumažėja mikrobranduolių dydis, o tai taip pat sumažina OS dydį.
Mikrobranduolius lengviau valdyti ir prižiūrėti, palyginti su monolitiniais branduoliais. Vis dėlto, jei bus daugiau sistemos skambučių ir konteksto perjungimo, tai gali sumažinti sistemos našumą, nes ji bus lėta.
Šie branduoliai naudoja pranešimų perdavimo sistemą, kad tvarkytų užklausą iš vieno serverio į kitą serverį.
Mikrobranduoliai teikia tik kai kurias esmines paslaugas, tokias kaip atminties adresų erdvių apibrėžimas, IPC (Interprocess Communication) ir procesų valdymas. Kitų paslaugų, pvz., tinklo kūrimo, branduolys neteikia ir tvarko vartotojo erdvės programa, žinoma kaip serveriai .
Vienas iš pagrindinių monolitinių branduolių trūkumų, kad branduolio klaida gali sugadinti visą sistemą, gali būti pašalintas mikrobranduolyne. Kaip ir mikrobranduolyje, jei branduolio procesas sugenda, visos sistemos gedimo vis tiek galima išvengti iš naujo paleidus klaidas sukeltas paslaugas.
Pavyzdžiai mikrobranduolių yra L4, AmigaOS, Minix, K42 ir kt.
Privalumai
- Mikrobranduolius galima lengvai valdyti.
- Naują paslaugą galima lengvai pridėti nekeičiant visos OS.
- Mikrobranduolyje, jei branduolio procesas sugenda, vis tiek įmanoma užkirsti kelią visai sistemai.
Trūkumai
- Sąsajai reikia daugiau programinės įrangos, o tai sumažina sistemos našumą.
- Proceso valdymas yra labai sudėtingas.
- Susirašinėjimo klaidas sunku ištaisyti.
3. Hibridinis branduolys
Hibridiniai branduoliai taip pat žinomi kaip moduliniai branduoliai , ir tai yra monolitinių ir mikrobranduolių derinys. Jis išnaudoja monolitinių branduolių greitį ir mikrobranduolių moduliškumą.
Hibridinis branduolys gali būti suprantamas kaip išplėstinė mikrobranduolio versija su papildomomis monolitinio branduolio savybėmis. Šie branduoliai plačiai naudojami komercinėse OS, pavyzdžiui, įvairiose MS Windows versijose.
Jis labai panašus į mikrobrandulį, tačiau jame taip pat yra tam tikras papildomas kodas branduolio erdvėje, siekiant pagerinti sistemos našumą.
Hibridiniai branduoliai leidžia paleisti kai kurias paslaugas, pvz tinklo kamino branduolio erdvėje sumažinti našumą, palyginti su tradiciniu mikrobranduoliu, tačiau vis tiek leidžia paleisti branduolio kodą (pvz., įrenginių tvarkykles) kaip serverius vartotojo erdvėje.
Hibridinio branduolio pavyzdžiai yra „Windows NT“, „Netware“, „BeOS“ ir kt.
Privalumai:
- Bandymui nereikia perkrauti.
- Trečiųjų šalių technologijas galima greitai integruoti.
Trūkumai:
- Yra galimybė, kad bus daugiau klaidų su daugiau sąsajų.
- Modulių priežiūra kai kuriems administratoriams gali būti paini užduotis, ypač sprendžiant tokias problemas kaip simbolių skirtumai.
4. Nanokernelis
Kaip rodo pavadinimas, Nanokernel visas branduolio kodas yra labai mažas, o tai reiškia, kad privilegijuotuoju aparatūros režimu vykdomas kodas yra labai mažas . Čia terminas nano apibrėžia branduolį, kuris palaiko nanosekundžių laikrodžio skiriamąją gebą.
Nanokernel pavyzdžiai yra EROS ir kt.
Privalumai
- Jis suteikia aparatinės įrangos abstrakcijas net ir labai mažo dydžio.
Trūkumai
- Nanokernel trūksta sistemos paslaugų.
5. Exokernelis
Exokernel vis dar kuriamas ir yra eksperimentinis OS kūrimo metodas.
Šis branduolio tipas skiriasi nuo kitų branduolių šiuo; išteklių apsauga yra atskirta nuo valdymo, o tai leidžia mums atlikti pritaikymą konkrečioms programoms.
Privalumai:
- Exokernel pagrįsta sistema gali apimti kelias bibliotekų operacines sistemas. Kiekviena biblioteka eksportuoja skirtingą API, pvz., viena gali būti naudojama aukšto lygio vartotojo sąsajai kurti, o kita gali būti naudojama valdymui realiuoju laiku. .
Trūkumai:
java loginė vertė į eilutę
- Eksokernelio dizainas yra labai sudėtingas.
Kas yra branduolio panika?
Kaip jau aptarėme, šis branduolys valdo visą kompiuterio sistemą; taigi, jei ji sugenda, ji gali sugriauti visą sistemą. „MacOS“ ir „Linux“ toks nepageidaujamas įvykis vadinamas „ Branduolio panika. Norėdami atsigauti po branduolio panikos, turime iš naujo paleisti sistemą.
Paprastai šias branduolio panikas sukelia aparatinės įrangos ryšio problemos. Taigi, jei kartojasi branduolio panikos, pabandykite atjungti mažiau reikalingus ar nereikalingus įrenginius ir patikrinti, ar problema išspręsta, ar ne.