Разлика между Microkernel и Monolithic Kernel
Съдържание
- Сравнителна диаграма
- Определение на Microkernel
- Определение на монолитно ядро
- Ключови разлики между Microkernel и Monolithic Kernel
- Заключение:
Kernel е основната част на операционната система; тя управлява системните ресурси. Kernel е като мост между приложението и хардуера на компютъра. Ядрото може да бъде класифицирано допълнително в две категории, Microkernel и Monolithic Kernel. Microkernel е този, при който потребителските услуги и услугите на ядрото се съхраняват в отделно адресно пространство. Въпреки това, в Monolithic ядрото на потребителите и услугите на ядрото и двете се съхраняват в едно и също адресно пространство. Нека обсъдим още няколко разлики между Microkernel и Monolithic ядрото с помощта на сравнителната диаграма, показана по-долу.
- Сравнителна диаграма
- дефиниция
- Ключови разлики
- заключение
Сравнителна диаграма
Основа за сравнение | микрокърнъла | Монолитно ядро |
---|---|---|
Основен | В потребителските услуги и ядрото на mikrokernel услугите се съхраняват в отделно адресно пространство. | В монолитното ядро както потребителските услуги, така и услугите на ядрото се съхраняват в едно и също адресно пространство. |
размер | Микрокернелите са с по-малки размери. | Монолитното ядро е по-голямо от микрокенералното. |
Екзекуция | Бавно изпълнение. | Бързо изпълнение. |
разтегателен | Микрокернелът е лесно разтегателен. | Монолитното ядро е трудно да се разшири. |
Сигурност | Ако дадена услуга се срине, това се отразява на работата на microkernel. | Ако дадена услуга се срине, цялата система се срива в монолитно ядро. |
код | За да напишете микрокернел, е необходим повече код. | За да напишете монолитно ядро, се изисква по-малко код. |
пример | QNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, PikeOS, HURD, Minix и Coyotos. | Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95,98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 и т.н. |
Определение на Microkernel
Microkernel като ядро управлява всички системни ресурси. Но в microkernel, the потребителски услуги и на услуги на ядрото се реализират в различно адресно пространство. Потребителските услуги се съхраняват потребителско адресно пространствои услугите на ядрото се поддържат под адресно пространство на ядрото, Това намалява размера на ядрото и допълнително намалява размера на операционната система.
В допълнение към комуникацията между приложение и хардуер на системата, микрокернелът предоставя минимални услуги за управление на процесите и паметта. Комуникацията между клиентската програма / приложение и услуги, работещи в потребителското адресно пространство, се установява чрез преминаване. Те никога не си взаимодействат директно. Това намалява скоростта на изпълнение на microkernel.
В микрокинела, потребителските услуги са изолирани от услугите на ядрото, така че ако някоя потребителска услуга не успее, това не се отразява на услугата на ядрото и следователно на Операционната система остават незасегнати, Това е едно от предимствата на микрокенера. Микрокернелът е лесен разтегателна, Ако трябва да се добавят новите услуги, те се добавят към адресното пространство на потребителя и следователно пространството на ядрото не изисква никакви изменения. Микрокерелът също е лесно преносим, сигурен и надежден.
Определение на монолитно ядро
Монолитното ядро управлява системните ресурси между приложението и хардуера на системата. Но за разлика от microkernel, потребителските услуги и услугите на ядрото се реализират в едно и също адресно пространство. Това увеличава размера на ядрото, допълнително увеличава размера на операционната система.
Монолитното ядро осигурява планиране на процесора, управление на паметта, управление на файлове и други функции на операционната система чрез системни повиквания. Тъй като потребителските услуги и услугите на ядрото пребивават в едно и също адресно пространство, това води до бързо изпълняваща се операционна система.
Един от недостатъците на монолитното ядро е, ако някоя услуга не успее, цялата система е срината. Ако трябва да се добави нова услуга в монолитно ядро, цялата операционна система трябва да бъде модифицирана.
Ключови разлики между Microkernel и Monolithic Kernel
- Основният момент, по който се отличават микрокенерното и монолитното ядро, е това микрокърнъла внедрете потребителски услуги и услуги на ядрото в различни адресни пространства и монолитно ядро внедрете както потребителските услуги, така и услугите на ядрото под същото адресно пространство.
- Размерът на microkernel е малък тъй като в адресното пространство на ядрото пребивават само услуги на ядрото. Размерът на монолитното ядро обаче е сравнително сравнителен по-голям отколкото microkernel, тъй като услугите на ядрото и потребителските услуги се намират в едно и също адресно пространство.
- Изпълнението на монолитно ядро е по-бързо тъй като комуникацията между приложение и хардуер се установява с помощта на системно повикване, От друга страна, изпълнението на microkernel е бавен тъй като комуникацията между приложение и хардуер на системата се осъществява чрез преминаване.
- Лесно е да се разшири microkernel, тъй като трябва да се добави нова услуга в потребителското адресно пространство, което е изолирано от пространството на ядрото, така че ядрото не изисква да бъде модифицирано. Обратно е случаят с монолитното ядро, ако трябва да се добави нова услуга в монолитно ядро, тогава трябва да се модифицира цялото ядро.
- Microkernel е повече сигурен отколкото монолитно ядро, сякаш услуга се проваля в microkernel, операционната система остава незасегната. От друга страна, ако услугата се провали в монолитно ядро, цялата система се проваля.
- Монолитно проектиране на ядро изисква по-малко код, което допълнително води до по-малко грешки. От друга страна, проектирането на микрокенери трябва повече код, което по-нататък води до повече грешки.
Заключение:
Microkernel е по-бавен, но по-сигурен и надежден от монолитното ядро. Монолитното ядро е бързо, но не толкова сигурно, тъй като всяка повреда на услугата може да доведе до срив на системата.