Jądro monolityczne: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
poprawiłem
PG (dyskusja | edycje)
m Wycofano edycje użytkownika 77.253.209.126 (dyskusja). Autor przywróconej wersji to MalarzBOT.
Linia 1:
{{Dopracować|źródła=2012-08}}
Jojko
[[Grafika:Kernel-pl.svg|thumb|right|300px|Model funkcjonowania jądra monolitycznego.]]
'''Jądro monolityczne''' – rodzaj [[Jądro systemu operacyjnego|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 [[Program rozruchowy|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 [[procesor|jednoprocesorowych]] oraz przy obciążaniu systemu tylko jednym procesem{{fakt|data=2011-09}}.
 
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 (haker komputerowy)|crackerów]] do łamania zabezpieczeń.
 
Tworzenie [[System operacyjny czasu rzeczywistego|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łaszczenie (informatyka)|wywłaszczania]] mało ważnych komponentów, oraz unikanie blokad w postaci [[semafor (informatyka)|semaforów]]).
 
Przykładami [[system operacyjny|systemów operacyjnych]] z jądrem monolitycznym są m.in.:
* [[FreeBSD]]
* [[Linux]]
 
Postęp w [[L4 (informatyka)|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ż ==
*[[jądro systemu operacyjnego|jądro]]
*[[mikrojądro]]
 
[[Kategoria:Jądro systemu operacyjnego]]