osdev.labedz.org

Jądro monolityczne

Jądro monolityczne jest to jądro systemowe, które zawiera większość podstawowych modułów w sobie (łącznie ze sterownikami urządzeń zewnętrznych, czy obsługą protokołów sieciowych). Dzięki takiemu rozwiązaniu unika się dodatkowych operacji związanych z przełączaniem modułów w zakresie jądra, oraz przekazywaniem między nimi komunikatów - najczęściej moduły w jądrze monolitycznym przekazują sobie parametry jak zwykłe procedury systemowe. Takie rozwiązanie powoduje, że jest to teoretycznie najszybszy rodzaj jądra systemowego.

Wadą jądra monolitycznego jest jego większa niestabilność - ponieważ jądro systemowe jest mocno rozbudowane istnieje większe prawdopodobieństwo wystąpienia w nim błędu, który może wpłynąć na pracę nie tylko określonego modułu, ale i całego jądra. Kolejnym minusem takiego rozwiązania jest większy stopień skomplikowania systemu, w związku z czym, problematyczne implementowanie takich mechanizmów jak możliwość wywłaszczania jądra systemowego, czy ustawianie sekcji krytycznej jądra. System oparty na jądrze monolitycznym rzadko kiedy jest dostosowany do pracy jako system czasu rzeczywistego.

Przykładem systemu operacyjnego zbudowanego na modelu jądra monolitycznego jest system Linux.