Mikrokernel
U računarstvu, mikrokernel (skraćeno i kao μ-kernel) najosnovnija je 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
urediGodine 1967, danski računarski pionir Per Brinch Hanses, u kompaniji Regnecentralen instalirao je 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 sistema.
Nakon rada Brincha Hansena, mikrokerneli su razvijani od 1970-ih.[4] Pojam mikrokernel pojavljuje se 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.
Appleov MacOS, objavljen 2001, koristio je 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đer imaju zajedničkih karakteristika sa hipervizorima,[7] s tim da su oni specijalizovani su za podršku virtualnim mašinama.
Također pogledajte
urediReference
uredi- ^ Jorrit N. Herder (23. 2. 2005). "Toward a True Microkernel Operating System" (PDF). minix3.org. Pristupljeno 22. 6. 2015.
- ^ "read-more". Arhivirano s originala, 20. 8. 2020. Pristupljeno 20. 12. 2016.
- ^ Brinch Hansen, Per (2004). A Programmer's Story: The Life of a Computer Pioneer. Pristupljeno 13. 9. 2016.
- ^ .Wulf, William; Cohen, Ellis; Corwin, William; Jones, Anita; Levin, Roy; Pierson, C.; Pollack, Fred (juni 1974). "HYDRA: The Kernel of a Multiprocessor Operating System". Communications of the ACM. 17 (6): 337–345. doi:10.1145/355616.364017.
- ^ "Porting UNIX/Linux Applications to Mac OS X". Apple. Pristupljeno 26. 4. 2011.
- ^ Liedtke, Jochen (septembar 1996). "Towards Real Microkernels". Communications of the ACM. 39 (9): 70–77. doi:10.1145/234215.234473.
- ^ Heiser, Gernot; Uhlig, Volkmar; LeVasseur, Joshua (januar 2006). "Are Virtual-Machine Monitors Microkernels Done Right?". ACM SIGOPS Operating Systems Review. ACM. 40 (1): 95–99. doi:10.1145/1113361.1113363. Arhivirano s originala (PDF), 13. 1. 2014. Pristupljeno 12. 6. 2019.
Dalje čitanje
uredi- Naučni članci o mikrokernelima:
- Dan Hildebrand (1992). "An Architectural Overview of QNX". Proceedings of the Workshop on Micro-kernels and Other Kernel Architectures: 113–126. CiteSeerX 10.1.1.459.4481. ISBN 1-880446-42-1. – the basic QNX reference.
- Tanenbaum, A., Herder, J. and Bos, H. (maj 2006). "Can We Make Operating Systems Reliable and Secure?". Computer. 39 (5): 44–51. doi:10.1109/MC.2006.156. Arhivirano s originala, 21. 6. 2017. Pristupljeno 1. 1. 2021.CS1 održavanje: više imena: authors list (link) -the basic reliable reference.
- Black, D.L., Golub, D.B., Julin, D.P., Rashid, R.F., Draves, R.P., Dean, R.W., Forin, A., Barrera, J., Tokuda, H., Malan, G., and Bohman, D. (mart 1992). "Microkernel Operating System Architecture and Mach". Journal of Information Processing. 14 (4).CS1 održavanje: više imena: authors list (link) – the basic Mach reference.
- *Varhol, Peter D. (januar 1994). "Small Kernels Hit It Big". Byte. Arhivirano s originala, 7. 3. 2006. Pristupljeno 20. 9. 2017.
- MicroKernel page from the Portland Pattern Repository