Mikrokernel u Operating sustav: Architekstura, prednosti

Prije nego ลกto nauฤimo MicroKernel, shvatimo:

ล to je Kernel?

Kernel je vaลพan dio OS-a koji upravlja resursima sustava. Takoฤ‘er djeluje kao most izmeฤ‘u softvera i hardvera raฤunala. To je jedan od prvih programa koji se uฤitava pri pokretanju nakon bootloadera. Kernel je takoฤ‘er odgovoran za pruลพanje sigurnog pristupa hardveru stroja za razne programe. Takoฤ‘er odluฤuje kada i koliko dugo odreฤ‘ena aplikacija koristi odreฤ‘eni hardver.

ล to je Microkernel?

mikrokernelu je softver ili kod koji sadrลพi potrebnu minimalnu koliฤinu funkcija, podataka i znaฤajki za implementaciju operativnog sustava. Omoguฤ‡uje minimalan broj mehanizama, ลกto je dovoljno dobro za pokretanje najosnovnijih funkcija operativnog sustava. Omoguฤ‡uje implementaciju drugih dijelova operativnog sustava buduฤ‡i da ne nameฤ‡e mnogo pravila.

Mikrojezgre i njihova korisniฤka okruลพenja obiฤno se implementiraju u C++ or C programski jezici uz malo montaลพe. Meฤ‘utim, moguฤ‡i su i drugi jezici implementacije s kodiranjem visoke razine.

ล to je monolitna jezgra?

Monolithic Kernel pokreฤ‡e sve osnovne sistemske usluge poput procesno upravljanje, Upravljanje memorijom, I/O komunikacija i rukovanje prekidima, sustav datoteka itd. u prostoru jezgre.

U ovoj vrsti kernelskog pristupa, cijeli operativni sustav radi kao jedan program u kernel modu. Operativni sustav je napisan kao zbirka procedura koje su meฤ‘usobno povezane u veliki izvrลกni binarni program.

mikrokernelu Architektura

Mikrokernel je najvaลพniji dio za ispravnu implementaciju operativnog sustava. Na donjem dijagramu moลพete vidjeti da Microkernel ispunjava osnovne operacije poput memorije, mehanizama za planiranje procesa i meฤ‘uprocesne komunikacije.

mikrokernelu Architektura
Bazirano na mikrojezgri Operating sustav

Microkernel je jedini softver koji se izvrลกava na povlaลกtenoj razini. Ostale vaลพne funkcionalnosti OS-a uklanjaju se iz kernel-moda i izvode se u korisniฤkom modu. Ove funkcionalnosti mogu biti upravljaฤki programi ureฤ‘aja, aplikacija, posluลพitelji datoteka, meฤ‘uprocesna komunikacija itd.

Komponente Microkernela

Mikrokernel sadrลพi samo osnovne funkcije sustava. Komponenta je ukljuฤena u mikrojezgru samo ako bi njeno postavljanje izvan nje prekinulo funkcionalnost sustava. Sve druge nebitne komponente treba staviti u korisniฤki naฤin rada.

Minimalne funkcionalnosti potrebne u Microkernelu su:

  • Upravljanje memorijom mehanizmi poput adresnih prostora trebaju biti ukljuฤeni u Microkernel. Takoฤ‘er sadrลพi znaฤajke zaลกtite memorije.
  • Mehanizmi za rasporeฤ‘ivanje procesora trebaju sadrลพavati planere procesa i niti.
  • Meฤ‘uprocesna komunikacija upravlja posluลพiteljima koji pokreฤ‡u vlastite adresne prostore.

Razlika izmeฤ‘u mikrokernela i monolitnog kernela

Parametri Monolitna jezgra MicroKernel
osnovni To je veliki proces koji se izvodi u jednom adresnom prostoru Moลพe se rastaviti na zasebne procese koji se nazivaju posluลพitelji.
Kodirati Kako bi se napisala monolitna jezgra, potrebno je manje koda. Kako bi se napisala mikrojezgra, potrebno je viลกe koda
Sigurnost Ako se usluga sruลกi, cijeli sustav se uruลกava u monolitnu jezgru. Ako se usluga sruลกi, to nikada ne utjeฤe na rad mikrojezgre.
komunikacija To je jedna statiฤka binarna datoteka Posluลพitelji komuniciraju putem IPC-a.
Primjer Linux, BSD, Microsoft Windows (95,98, ja), Solaris, OS-9, AIX, DOS, XTS-400 itd. L4Linux, QNX, SymbianK42, Mac OS X, Integrity, Itd

Prednosti Microkernela

Ovdje su prednosti/prednosti koriลกtenja Microkernela

  • Mikrokernel arhitektura je mala i izolirana stoga moลพe bolje funkcionirati.
  • Mikrojezgre su sigurne jer su ukljuฤene samo one komponente koje inaฤe ometaju funkcionalnost sustava.
  • Proลกirenje sustava je pristupaฤnije, pa se moลพe dodati u aplikaciju sustava bez ometanja kernela.
  • Mikrojezgre su modularne, a razliฤiti moduli se mogu zamijeniti, ponovno uฤitati, modificirati ฤak i bez dodirivanja jezgre.
  • Manje padova sustava u usporedbi s monolitnim sustavima.
  • Microkernel suฤelje vam pomaลพe da provedete viลกe modularnu strukturu sustava.
  • Bez ponovnog kompiliranja dodajte nove znaฤajke
  • Kvar posluลพitelja takoฤ‘er je izoliran kao i kvar bilo kojeg drugog korisniฤkog programa.
  • Microkernel sustav je fleksibilan, tako da razliฤite strategije i API-ji, implementirani od strane razliฤitih posluลพitelja, mogu koegzistirati u sustavu.
  • Poveฤ‡ana sigurnost i stabilnost rezultirat ฤ‡e smanjenom koliฤinom koda koji radi u naฤinu jezgre

Nedostatak Microkernela

Evo nedostataka/protivnosti koriลกtenja Microkernela:

  • Pruลพanje usluga u mikrokernel sustavu je skupo u usporedbi s normalnim monolitnim sustavom.
  • Prebacivanje konteksta ili poziv funkcije potreban je kada se upravljaฤki programi implementiraju kao procedure ili procesi.
  • Performanse mikrokernel sustava mogu biti indiferentne i mogu dovesti do nekih problema.

Rezime

  • Kernel je vaลพan dio OS-a koji upravlja resursima sustava.
  • Mikrokernel je softver ili kod koji sadrลพi potrebnu minimalnu koliฤinu funkcija, podataka i znaฤajki za implementaciju operativnog sustava.
  • U pristupu Monolithic Kernel, cijeli operativni sustav radi kao jedan program u kernel modu
  • Mikrokernel je najvaลพniji dio za ispravnu implementaciju operativnog sustava.
  • Mikrokernel sadrลพi samo osnovne funkcije sustava.
  • Monolitna jezgra je veliki proces koji se izvodi u jednom adresnom prostoru, dok se Microkernel moลพe rastaviti na zasebne procese koji se nazivaju posluลพitelji.
  • Mikrokernel arhitektura je mala i izolirana stoga moลพe bolje funkcionirati
  • Pruลพanje usluga u mikrokernel sustavu je skupo u usporedbi s normalnim monolitnim sustavom

Saลพmite ovu objavu uz: