Jaka jest zawartość tej monolitycznej bazy kodu?
Rozumiem obsługę architektury procesorów, bezpieczeństwo i wirtualizację, ale nie wyobrażam sobie, aby było to więcej niż 600 000 linii.
Jakie są historyczne i obecne powody, dla których sterowniki są zawarte w bazie kodu jądra?
Czy te ponad 15 milionów linii obejmuje każdy sterownik dla każdego elementu sprzętu? Jeśli tak, to nasuwa się pytanie, dlaczego sterowniki są osadzone w jądrze, a nie oddzielne pakiety, które są automatycznie wykrywane i instalowane na podstawie identyfikatorów sprzętu?
Czy rozmiar kodu stanowi problem w przypadku urządzeń o ograniczonej pamięci lub o ograniczonej pamięci?
Wygląda na to, że gdyby to wszystko było osadzone, zwiększyłoby rozmiar jądra dla ograniczonych przestrzennie urządzeń ARM. Czy preprocesor usuwa wiele linii? Nazywaj mnie szalonym, ale nie wyobrażam sobie maszyny wymagającej tyle logiki, aby uruchomić to, co rozumiem, to role jądra.
Czy istnieją dowody, że rozmiar będzie problemem za ponad 50 lat ze względu na jego pozornie stale rosnący charakter?
Dołączenie sterowników oznacza, że będzie rosnąć wraz z produkcją sprzętu.
EDYCJA : Dla tych, którzy myślą, że taka jest natura jąder, po kilku badaniach zdałem sobie sprawę, że nie zawsze. Jądro nie musi być tak duże, ponieważ mikrojądro Carnegie Mellon Mach zostało wymienione jako przykład „zwykle poniżej 10 000 wierszy kodu”
make menuconfig
aby zobaczyć, ile kodu można włączyć / wyłączyć przed budowaniem.