logo

Kas ir kodols?

Datorzinātnēs, Kodols ir datorprogramma, kas ir operētājsistēmas kodols. Pirms sīkāk apspriest kodolu, vispirms sapratīsim tā pamata, t.i., operētājsistēmu datorā.

Operētājsistēma

Operētājsistēma vai OS ir sistēmas programmatūra, kas darbojas kā saskarne starp aparatūras komponentiem un galalietotāju. Tas ļauj darboties citām programmām. Katrai datorsistēmai neatkarīgi no tā, vai tā ir galddators, klēpjdators, planšetdators vai viedtālrunis, visām ir jābūt OS, lai nodrošinātu ierīces pamata funkcijas. Dažas plaši izmantotās operētājsistēmas ir Windows , Linux , MacOS, Android , iOS utt.

Kas ir kodols operētājsistēmā?

Kas ir kodols
  • Kā minēts iepriekš, kodols ir OS (operētājsistēmas) galvenā daļa; līdz ar to tai ir pilnīga kontrole pār visu sistēmā. Katru aparatūras un programmatūras darbību pārvalda un administrē kodols.
  • Tas darbojas kā tilts starp lietojumprogrammām un datu apstrādi, kas tiek veikta aparatūras līmenī. Tā ir OS centrālā sastāvdaļa.
  • Tā ir OS daļa, kas vienmēr atrodas datora atmiņā un nodrošina saziņu starp programmatūras un aparatūras komponentiem.
  • Tā ir datorprogramma, kas pirmo reizi tika ielādēta, startējot sistēmu (pēc sāknēšanas ielādes). Kad tas ir ielādēts, tas pārvalda atlikušos starta uzņēmumus. Tas arī pārvalda atmiņas, perifērijas un I/O pieprasījumus no programmatūras. Turklāt tas pārvērš visus I/O pieprasījumus CPU datu apstrādes instrukcijās. Tā pārvalda arī citus uzdevumus kā atmiņas pārvaldība, uzdevumu pārvaldība un diska pārvaldība .
  • Kodols tiek glabāts un parasti tiek ielādēts atsevišķā atmiņas telpā, kas pazīstama kā aizsargāta kodola telpa. Tas ir aizsargāts no lietojumprogrammu vai mazāk svarīgu OS daļu piekļuves.
  • Citas lietojumprogrammas, piemēram, pārlūkprogramma, tekstapstrādes programma, audio un video atskaņotājs, izmanto atsevišķu atmiņas vietu, kas pazīstama kā lietotāja telpa.
  • Šo divu atšķirīgo vietu dēļ lietotāja dati un kodola dati netraucē viens otru un neizraisa nestabilitāti un lēnumu.

Kodola funkcijas

OS kodols ir atbildīgs par dažādu funkciju veikšanu un kontrolē sistēmu. Daži galvenie kodola pienākumi ir norādīti tālāk:

    Ierīču pārvaldība
    Lai veiktu dažādas darbības, procesiem ir nepieciešama piekļuve perifērijas ierīcēm, piemēram, pelei, tastatūrai utt., kas ir savienotas ar datoru. Kodols ir atbildīgs par šo ierīču vadību, izmantojot ierīču draiverus. Šeit, a ierīces draiveris ir datorprogramma, kas palīdz vai ļauj OS sazināties ar jebkuru aparatūras ierīci.
    Kodols uztur visu pieejamo ierīču sarakstu, un šis saraksts var būt jau zināms, lietotājam konfigurēts vai OS to nosaka izpildes laikā.Atmiņas pārvaldība
    Kodols pilnībā kontrolē piekļuvi datora atmiņai. Katram procesam ir nepieciešama neliela atmiņa, lai tas darbotos, un kodols ļauj procesiem droši piekļūt atmiņai. Lai piešķirtu atmiņu, pirmais solis ir pazīstams kā virtuālā adresācija, ko veic ar peidžeru vai segmentāciju. Virtuālā adresēšana ir virtuālo adrešu telpu nodrošināšanas process procesiem. Tas neļauj lietojumprogrammai sadurties viena ar otru.Resursu pārvaldība
    Viena no svarīgākajām kodola funkcijām ir resursu koplietošana starp dažādiem procesiem. Tam ir jāsadala resursi tā, lai katrs process vienmērīgi piekļūtu resursam.
    Kodols nodrošina arī veidu, kā sinhronizēt un starpprocesu komunikācija (IPC). Tas ir atbildīgs par konteksta maiņu starp procesiem.Piekļuve datora resursiem
    Kodols ir atbildīgs par piekļuvi datora resursiem, piemēram, RAM un I/O ierīcēm. RAM vai brīvpiekļuves atmiņa tiek izmantots, lai saturētu gan datus, gan instrukcijas. Katrai programmai ir jāpiekļūst atmiņai, lai tās izpildītu, un lielākoties tā vēlas vairāk atmiņas nekā pieejamā. Šādā gadījumā kodols spēlē savu lomu un izlemj, kuru atmiņu katrs process izmantos un ko darīt, ja vajadzīgā atmiņa nav pieejama.
    Kodols arī piešķir pieprasījumu no lietojumprogrammām izmantot I/O ierīces, piemēram, tastatūras, mikrofonus, printerus utt.

Kodolu veidi

Ir galvenokārt pieci kodola veidi, kas ir norādīti tālāk:

Kas ir kodols

1. Monolīti kodoli

Monolītā kodolā, viena un tā pati atmiņas vieta tiek izmantota lietotāju pakalpojumu un kodola pakalpojumu ieviešanai.

kā lasīt json failu
Kas ir kodols

Tas nozīmē, ka šāda veida kodolā lietotāja pakalpojumiem un kodola pakalpojumiem netiek izmantota atšķirīga atmiņa.

Tā kā tas izmanto vienu un to pašu atmiņas vietu, kodola lielums palielinās, palielinot kopējo OS izmēru.

Procesu izpilde ir arī ātrāka nekā citiem kodola veidiem, jo ​​netiek izmantota atsevišķa lietotāja un kodola telpa.

Piemēri Monolītu kodolu skaits ir Unix, Linux, Open VMS, XTS-400 utt.

Priekšrocības:

  • Procesu izpilde ir arī ātrāka, jo nav atsevišķas lietotāja vietas un kodola vietas un mazāk programmatūras.
  • Tā kā tā ir viena programmatūra, tā gan avoti, gan apkopotās formas ir mazākas.

Trūkumi:

  • Ja kāds pakalpojums rada kļūdu, tas var sabojāt visu sistēmu.
  • Šie kodoli nav pārnēsājami, kas nozīmē, ka katrai jaunai arhitektūrai tie ir jāpārraksta.
  • Liela izmēra un tāpēc kļūst grūti pārvaldīt.
  • Lai pievienotu jaunu pakalpojumu, ir jāmaina visa operētājsistēma.

2. Mikrokodolu

Kas ir kodols

Mikrokodolu sauc arī par MK , un tas atšķiras no tradicionālā kodola vai monolīta kodola. Šajā, lietotāju pakalpojumi un kodola pakalpojumi ir ieviesti divās dažādās adrešu telpās: lietotāja telpā un kodola telpā . Tā kā tas izmanto dažādas telpas abiem pakalpojumiem, tiek samazināts mikrokodola izmērs, kas samazina arī OS izmēru.

Mikrokodolus ir vieglāk pārvaldīt un uzturēt, salīdzinot ar monolītajiem kodoliem. Tomēr, ja būs lielāks sistēmas zvanu un konteksta pārslēgšanas skaits, tas var samazināt sistēmas veiktspēju, padarot to lēnāku.

Šie kodoli izmanto ziņojumu nosūtīšanas sistēmu, lai apstrādātu pieprasījumu no viena servera uz citu serveri.

Mikrokodoli nodrošina tikai dažus būtiskus pakalpojumus, piemēram, atmiņas adrešu telpu definēšanu, IPC (starpprocesu komunikācija) un procesu pārvaldību. Citus pakalpojumus, piemēram, tīklu veidošanu, Kodols nenodrošina, un tos apstrādā lietotāja telpas programma, kas pazīstama kā serveriem .

Viens no galvenajiem monolītu kodolu trūkumiem, ka kodola kļūda var sagraut visu sistēmu, var novērst mikrokodolu. Tāpat kā mikrokodolu gadījumā, ja kodola process avarē, visas sistēmas avāriju joprojām var novērst, restartējot kļūdu izraisītos pakalpojumus.

Piemēri no Microkernel ir L4, AmigaOS, Minix, K42 utt.

Priekšrocības

  • Mikrokodolus var viegli pārvaldīt.
  • Jaunu pakalpojumu var viegli pievienot, nemainot visu OS.
  • Mikrokodolu gadījumā, ja kodola process avarē, joprojām ir iespējams novērst visas sistēmas avāriju.

Trūkumi

pārvērst virkni uz json java
  • Interfeisa izveidei ir nepieciešams vairāk programmatūras, kas samazina sistēmas veiktspēju.
  • Procesu vadība ir ļoti sarežģīta.
  • Ziņojumapmaiņas kļūdas ir grūti novērst.

3. Hibrīda kodols

Kas ir kodols

Hibrīdie kodoli ir pazīstami arī kā moduļu kodoli , un tā ir gan monolīta, gan mikrokodolu kombinācija. Tas izmanto monolītu kodolu ātruma un mikrokodolu modularitātes priekšrocības.

Hibrīda kodolu var saprast kā mikrokodola paplašināto versiju ar monolīta kodola papildu īpašībām. Šie kodoli tiek plaši izmantoti komerciālās OS, piemēram, dažādās MS Windows versijās.

Tas ir ļoti līdzīgs mikrokodolu, taču tajā ir arī daži papildu kodi kodola telpā, lai uzlabotu sistēmas veiktspēju.

Hibrīda kodoli ļauj palaist dažus pakalpojumus, piemēram tīkla kaudze kodola telpā lai samazinātu veiktspēju salīdzinājumā ar tradicionālo mikrokodolu, taču tas joprojām ļauj palaist kodola kodu (piemēram, ierīču draiverus) kā serverus lietotāja telpā.

Hibrīda kodola piemēri ir Windows NT, Netware, BeOS utt.

Priekšrocības:

  • Pārbaudei nav nepieciešama atsāknēšana.
  • Trešās puses tehnoloģiju var ātri integrēt.

Trūkumi:

  • Ir iespējams vairāk kļūdu ar vairāk saskarņu, kurām var tikt cauri.
  • Dažiem administratoriem moduļu uzturēšana var būt mulsinošs uzdevums, īpaši, ja tiek risinātas tādas problēmas kā simbolu atšķirības.

4. Nanokernels

Kā norāda nosaukums, Nanokernel pilns kodola kods ir ļoti mazs, kas nozīmē, ka kods, kas tiek izpildīts aparatūras priviliģētajā režīmā, ir ļoti mazs . Šeit termins nano definē kodolu, kas atbalsta nanosekundes pulksteņa izšķirtspēju.

Nanokernel piemēri ir EROS utt.

Priekšrocības

  • Tas nodrošina aparatūras abstrakcijas pat ar ļoti mazu izmēru.

Trūkumi

  • Nanokernel trūkst sistēmas pakalpojumu.

5. Eksokernels

Exokernel joprojām attīstās un ir eksperimentāla pieeja OS projektēšanai.

Šis kodola veids atšķiras no citiem kodoliem šajā; resursu aizsardzība ir nodalīta no pārvaldības, kas ļauj mums veikt lietojumprogrammai atbilstošu pielāgošanu.

Priekšrocības:

  • Uz eksokernel balstītā sistēma var ietvert vairākas bibliotēku operētājsistēmas. Katra bibliotēka eksportē citu API, piemēram, vienu var izmantot augsta līmeņa lietotāja saskarnes izstrādei, bet otru var izmantot reāllaika kontrolei. .

Trūkumi:

  • Eksokerneļa dizains ir ļoti sarežģīts.

Kas ir Kernel Panics?

Kā mēs jau runājām, šis kodols kontrolē visu datorsistēmu; līdz ar to, ja tas avarē, tas var nojaukt visu sistēmu. Operētājsistēmās MacOS un Linux šāds nevēlams notikums ir pazīstams kā ' Kodola panika. Lai atgūtu no kodola Panic, mums ir jārestartē sistēma.

Parasti šīs kodola panikas izraisa aparatūras sakaru problēmas. Tāpēc, ja rodas atkārtotas kodola panikas, mēģiniet atvienot mazāk nepieciešamās vai nevajadzīgās ierīces un pārbaudiet, vai problēma ir atrisināta.