Tradycyjnie, system FreeBSD miał coś, co zwie się „monolitycznym” jądrem. Był to jeden duży program, wspierający ustaloną liczbą urządzeń. Jeśli zaszła potrzeba zmiany zachowania jądra, należało skompilować nowe jądro i uruchomić z nim ponownie komputer.
W dzisiejszych czasach, FreeBSD bardzo szybko przechodzi do modelu, w którym funkcjonalność jądra zawiera się w modułach, które można dynamicznie aplikować, lub usuwać, w miarę potrzeb. Umożliwia to jądru szybkie przystosowywanie się zaraz po rozpoznaniu nowego sprzętu (jak karty PCMCIA w laptopach). Pozwala też zwiększyć funkcjonalność, której nie miało oryginalne jądro (któremu nie były dane funkcje potrzebne). Potocznie mówi się o jądrze modularnym.
Pomimo tego, czasem trzeba wprowadzić do jądra statyczne zmiany. Na przykład w sytuacjach, gdy kluczowe funkcje jądra zostają zmieniane, nie jest możliwym załadowanie dynamicznie ładowalnego modułu. Możliwe też, że jeszcze odpowiedni, dynamicznie ładowalny moduł, nie został napisany.
Budowanie indywidualnego jądra jest jednym z najważniejszych rytuałów,
których podczas użytkowania systemu BSD trzeba doświadczyć. Ten czasochłonny
proces przyniesie naszemu systemowi wiele korzyści. Inaczej niż w przypadku
jądra GENERIC
[podstawowego, domyślnego], które musi
wspierać wiele rodzajów sprzętu, nasze jądro będzie wspierało tylko
nasz sprzęt PC. Ma to wiele zalet:
Szybszy czas uruchamiania systemu. Od kiedy jądro będzie sprawdzało tylko sprzęt który mamy, czas uruchamiania znacząco się zmniejszy.
Mniejsze zużycie pamięci. Indywidualne jądro często zużywa mniej pamięci
niż jądro GENERIC
, co jest istotnym faktem, gdyż jądro
przez cały czas musi być w pamięci obecne. Z tych powodów, budowanie
indywidualnego jądra jest szczególnie przydatne przy pracy z maszynami
o małej ilości pamięci RAM'u.
Więcej wspieranego sprzętu. Indywidualne jądro może zawierać obsługę
np. kart muzycznych, które nie są wspierane przez domyślne jądro
GENERIC
.
All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.