Цомпарисон Цхарт
Основа за поређење | Мицрокернел | Монолитхиц Кернел |
---|---|---|
Басиц | У корисничким сервисима и кернелу микрокернела, услуге се чувају у засебном адресном простору. | У монолитном кернелу, и корисничке услуге и услуге језгра чувају се у истом адресном простору. |
Величина | Микрокернел је мањих димензија. | Монолитни кернел је већи од микрокернела. |
Извршење | Споро извршење. | Брзо извршење. |
Ектендибле | Микрокернел се лако може проширити. | Монолитни кернел је тешко проширити. |
Безбедност | Ако се сервис прекине, то утиче на рад микрокернела. | Ако се сервис руши, цијели систем се руши у монолитном кернелу. |
Код | Да бисте написали микро-језгро, потребан је већи број кода. | Да бисте написали монолитни кернел, потребно је мање кода. |
Пример | КНКС, Симбиан, Л4Линук, Сингуларити, К42, Мац ОС Кс, Интегрити, ПикеОС, ХУРД, Миник и Цоиотос. | Линук, БСД (ФрееБСД, ОпенБСД, НетБСД), Мицрософт Виндовс (95, 98, Ме), Соларис, ОС-9, АИКС, ХП-УКС, ДОС, ОпенВМС, КСТС-400 итд. |
Дефиниција микрокернела
Микрокернел као кернел управља свим системским ресурсима. Али у микрокернелу, корисничке услуге и услуге језгра су имплементиране у различит адресни простор. Корисничке услуге се чувају у адресном простору корисника, а услуге језгра чувају се под адресним простором језгра . Ово смањује величину кернела и додатно смањује величину оперативног система.
Поред комуникације између апликације и хардвера система, микрокернел обезбеђује минималне услуге управљања процесима и меморијом. Комуникација између клијентског програма / апликације и сервиса који се одвијају у адресном простору корисника успоставља се путем проласка порука. Никада не комуницирају директно. Тиме се смањује брзина извршавања микрокернела.
У микрокернелу, корисничке услуге су изоловане од услуга кернела, тако да ако било која корисничка услуга пропадне, то не утиче на кернел сервис, па оперативни систем остаје непромијењен . Ово је једна од предности микрокернела. Микрокернел се лако може проширити . Ако се додају нове услуге, оне се додају корисничком адресном простору и стога простор кернела не захтева никакве измене. Микрокернел је лако преносив, сигуран и поуздан.
Дефиниција монолитне језгре
Монолитни кернел управља системским ресурсима између апликације и хардвера система. Али за разлику од микрокернела, корисничке услуге и услуге језгра су имплементиране под истим адресним простором. Ово повећава величину кернела и повећава величину оперативног система.
Монолитни кернел обезбеђује распоређивање процесора, управљање меморијом, управљање датотекама и друге функције оперативног система путем системских позива. Како се корисничке услуге и услуге језгра налазе у истом адресном простору, то резултира брзим извршењем оперативног система.
Један од недостатака монолитног кернела је ако једна услуга не успије цијели сустав се срушио. Ако треба додати нову услугу у монолитном кернелу, цео оперативни систем треба да се модификује.
Кључне разлике између микро језгра и монолитне језгре
- Основна тачка на којој се разликује микрокернел и монолитни кернел је да микрокернел имплементира корисничке услуге и услуге језгра у различитим адресним просторима, а монолитни кернел имплементира и корисничке услуге и услуге језгре под истим адресним простором .
- Величина микрокернела је мала јер се само кернел сервиси налазе у адресном простору језгра. Међутим, величина монолитног кернела је релативно већа од микрокернела јер се и услуге језгре и корисничке услуге налазе у истом адресном простору.
- Извођење монолитног кернела је брже јер се комуникација између апликације и хардвера успоставља помоћу системског позива . С друге стране, извршавање микрокернела је спора јер се комуникација између апликације и хардвера система успоставља путем проласка порука .
- Лако је проширити микрокернел зато што ће нови сервис бити додан у адресни простор корисника који је изолован од простора кернела, тако да кернел не треба да буде модификован. Насупрот томе је случај са монолитним кернелом ако треба додати нову услугу у монолитном кернелу, а онда цео кернел треба модификовати.
- Микрокернел је сигурнији од монолитног кернела, јер ако сервис не успе у микрокернелу, оперативни систем остаје непромењен. Са друге стране, ако сервис не успе у монолитном кернелу, цео систем не успе.
- Монолитни дизајн језгра захтева мање кода, што даље доводи до мање грешака. Са друге стране, пројектовање микрокернела захтева више кода који доводи до више грешака.
Закључак:
Мицрокернел је спорији, али сигурнији и поузданији од монолитног кернела. Монолитни кернел је брз, али мање сигуран јер било који квар сервиса може довести до пада система.