Jądro monolityczne i mikrojądro
Systemy operacyjne można podzielić na dwie grupy:
systemy z jądrem monolitycznym i systemy z mikrojądrem.Te pierwsze mają jądro złożone z jednego, wielkiego programu, który zawiera wszystkie ważniejsze elementy systemu. Tradycyjne jądro monolityczne jest zawsze ściśle dopasowane do maszyny, na której działa. Każda zmiana konfiguracji maszyny powoduje konieczność ponownego rekompilowania jądra. Autorzy Linuksa rozwiązali ten problem, implementując system ładowalnych modułów. Jądra monolityczne są bardzo wydajne - nie tracą czasu na komunikację pomiędzy poszczególnymi częściami dolnej warstwy systemu. Ich wadą jest mniejsza elastyczność oraz większa podatność na błędy - błąd w dowolnej części jądra może spowodować zawieszenie całego systemu.Oczywiście, jeśli autorzy systemu są w stanie zapewnić odpowiednio dobrą jakość kodu, problem niestabilności znika.
Jądro monolitowe
Mikrojądra zbudowane są odmiennie - samo mikrojądro zajmuje się jedynie zarządzeniem procesami i bezpośrednią komunikacją ze sprzętem.Sterowniki , obsługa systemów plików i inne usługi znajdują się w modułach , które z punktu widzenia mikrojądra są niezależnymi procesami.Mikrojądro łatwiej jest napisać.Jego podstawowa wada to bardzo duże straty wydajności , powodowane przez komunikację pomiędzy modułami i częste przełączanie procesów.Paradoksalnie , na coraz bardziej nowoczesnym sprzęcie , te problemy są coraz bardziej dotkliwe.
Procesory - serwery
Procesory - serwery
Procesory - serwery
Procesory - serwery
Aplikacje
Aplikacje
Mikrojądro
Sprzęt
Sprzęt