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
Godine 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
Reference
- ^ 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
- 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
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.