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 https://download.freebsd.org/ftp/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>.