Jądro monolityczne

Wikipedia:Weryfikowalność
Ten artykuł od 2012-08 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.
Model funkcjonowania jądra monolitycznego.

Jądro monolityczne – rodzaj jądra systemu operacyjnego, w którym większa część funkcji jądra zaimplementowana jest w pojedynczym obrazie pamięci, który ładowany jest na stałe do pamięci komputera przez bootloader. Zdarza się jednak, że do jądra monolitycznego (zwanego wtedy modularnym) dopisywana jest możliwość ładowania modułów, które jednak nie realizują najbardziej podstawowych funkcji jądra.

Jądro monolityczne cechuje się wyższą wydajnością niż mikrojądro, zwłaszcza w systemach jednoprocesorowych oraz przy obciążaniu systemu tylko jednym procesem[potrzebny przypis].

Z drugiej strony awaria (np. błąd programisty) w dowolnym miejscu jądra monolitycznego może spowodować awarię całego systemu (np. błędne żądanie dostępu do pamięci w sterowniku każdego, nawet nieistotnego urządzenia, może zniszczyć dane na dysku, albo „zawiesić” cały system), przez co testowanie tych jąder (szczególnie sterowników urządzeń) jest czasochłonne i skomplikowane, a ewentualne luki mogą często być wykorzystane przez crackerów do łamania zabezpieczeń.

Tworzenie systemów czasu rzeczywistego przy pomocy jądra monolitycznego choć możliwe, jest zwykle trudniejsze niż w mikrojądrach, z powodu konieczności zagwarantowania ograniczeń czasowych przez wszystkie komponenty (zwykle przy wykorzystaniu wywłaszczania mało ważnych komponentów, oraz unikanie blokad w postaci semaforów).

Przykładami systemów operacyjnych z jądrem monolitycznym są m.in.:

  • FreeBSD
  • Linux

Postęp w architekturze mikrojąder, wzrost wydajności komputerów, problemy bezpieczeństwa w jądrach monolitycznych oraz wzrost komplikacji i rozmiaru ich kodu (szczególnie w systemach współbieżnych i czasu rzeczywistego), spowodowały, że mikrojądra są coraz częściej wybierane przy tworzeniu systemów operacyjnych (np. Singularity - mikrojądro w języku C#).

Zobacz też