Mikrokernel

S Wikipedije, slobodne enciklopedije
Jump to navigation Jump to search
Struktura monolitnih i mikrokernelnih operativnih sistema, usporedba

U računarstvu, mikrokernel (skraćeno i kao μ-kernel) je najosnovnija količina softvera koja može pružiti mehanizme implementacije operativnog sistema (OS). Obezbjeđuje samo dovoljan broj mehanizama koji dozvoljavaju osnovne funkcije za pokretanje nekog računarskog sistema. Ovi mehanizmi uključuju upravljanje niskim nivoom adresnog prostora, upravljanje nitima i komunikaciju među procesima (IPC).

Ako hardver osigurava višestruke prstene zaštite ili procesorske modove, mikrokernel može biti jedini softver koji se izvršava. Tradicionalne funkcije operativnog sistema, kao što su upravljački programi uređaja, razni protokoli i datotečni sistem, obično se uklanjaju iz samog mikrokernela i umjesto toga se pokreću u korisničkom prostoru.[1]

Što se tiče veličine izvornog koda, mikrokerneli su obično manji od monolitnih kernela. Mikrokernel MINIX 3, na primjer, ima samo 12.000 linija koda.[2]

Historija[uredi | uredi izvor]

Godine 1967., danski računarski pionir Per Brinch Hanses, u kompaniji Regnecentralen je instalirao prototip RC 4000 u poljskoj tvornici gnojiva u Puławyju. Računar je koristio mali operativni sistem u realnom vremenu prilagođen potrebama postrojenja. Brinch Hansen i njegov tim su se zabrinuli zbog nedostatka uopćenosti i višestrukog korištenja RC 4000 sistema. Plašili su se da će svaka instalacija zahtijevati drugi operativni sistem pa su počeli istraživati nove i općenitije načine stvaranja softvera za RC 4000. [3] Godine 1969. njihov rad je rezultirao završetkom RC 4000 Multiprogramming Sisema.

Nakon rada Brincha Hansena, mikrokerneli su razvijani od 1970-ih.[4] Pojam mikrokernel se pojavljuje negdje oko 1981. Mikrokerneli su bili zamišljeni kao odgovor na promjene u svijetu računara, i na nekoliko izazova prilagođavanja postojećih "monokernela" ovim novim sistemima. Stalno su se razvijali novi upravljački programi uređaja, protokoli, datotečni sistemi i drugi sistemi niskog nivoa, što je sputavalo razvoj, pa se tražio neki način izdvajanja ovih funkcija na korisnički prostor.

Iako je Appleov MacOS, objavljen 2001. godine, koristio hibridni kernel pod nazivom XNU, koji je bio kombinacija modifikovanog OSFMK 7.3 kernela sa kodom iz BSD UNIX-a.[5] Ovaj kernel se također koristi u iOS, tvOS i watchOS. Od 2012. GNU Hurd, baziran na Machu, također je funkcionalan i uključen u testne verzije Arch Linuxa i Debiana .

Mikrokerneli su blisko povezani sa egzokernelima.[6] Oni takođe imaju zajedničkih karakteristika sa hipervizorima, [7] s tim da su oni specijalizovani su za podršku virtualnim mašinama.

Također pogledajte[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ Jorrit N. Herder (23 February 2005). "Toward a True Microkernel Operating System". minix3.org. Pristupljeno 22 June 2015. 
  2. ^ "read-more". Pristupljeno 20 December 2016. 
  3. ^ Brinch Hansen, Per (2004). A Programmer's Story: The Life of a Computer Pioneer. Pristupljeno 13 September 2016. 
  4. ^ .Wulf, William; Cohen, Ellis; Corwin, William; Jones, Anita; Levin, Roy; Pierson, C.; Pollack, Fred (June 1974). "HYDRA: The Kernel of a Multiprocessor Operating System". Communications of the ACM 17 (6): 337–345. doi:10.1145/355616.364017. 
  5. ^ "Porting UNIX/Linux Applications to Mac OS X". Apple. Pristupljeno 26 April 2011. 
  6. ^ Liedtke, Jochen (September 1996). "Towards Real Microkernels". Communications of the ACM 39 (9): 70–77. doi:10.1145/234215.234473. 
  7. ^ Heiser, Gernot; Uhlig, Volkmar; LeVasseur, Joshua (January 2006). "Are Virtual-Machine Monitors Microkernels Done Right?" (PDF). ACM SIGOPS Operating Systems Review (ACM) 40 (1): 95–99. doi:10.1145/1113361.1113363.