Кіріспе
Монолиттік ядро – бүкіл операциялық жүйенің ядролық кеңістікте жұмыс істейтін операциялық жүйе архитектурасы. Монолиттік модель басқа операциялық жүйе архитектураларынан (мысалы, микроядро архитектурасынан) сол арқылы ерекшеленеді, ол компьютерлік аппараттық құралдарға жоғары деңгейдегі виртуалды интерфейс анықтайды. Примитивтер немесе жүйелік шақырулар жиынтығы процестерді басқару, параллелизм және жадты басқару сияқты операциялық жүйенің барлық қызметтерін жүзеге асырады. Құрылғы драйверлерін ядроға модульдер ретінде қосуға болады.
A monolithic kernel is an operating system architecture where the entire operating system is working in kernel space. The monolithic model differs from other operating system architectures (such as the microkernel architecture) in that it alone defines a high level virtual interface over computer hardware. A set of primitives or system calls implement all operating system services such as process management, concurrency, and memory management. Device drivers can be added to the kernel as modules.
Жүкті модульдер
Модульдік операциялық жүйелер, мысалы OS 9 және қазіргі заманғы көптеген монолиттік операциялық жүйелер, мысалы OpenVMS, Linux, BSD, SunOS, AIX және MULTICS, орындалатын модульдерді орындалу кезінде динамикалық түрде жүктеуге (және шығаруға) қабілетті. Операциялық жүйенің бұл модульділігі архитектуралық деңгейде емес, бинарлық (бейне) деңгейде жүзеге асырылады. Модульді монолиттік операциялық жүйелерді микроядроларды және серверлерді (модульдер немесе демонмен шатастырмау керек) пайдаланатын клиент-серверлік операциялық жүйелердің (және оның кейде гибридтік ядро ретінде сатылатын туындыларының) архитектуралық деңгейдегі модульділігімен шатастыруға болмайды. Іс жүзінде, модульдерді динамикалық түрде жүктеу – бұл операциялық жүйе кескінін орындау кезінде басқарудың, операциялық жүйе кескінін қайта жүктеуге қарағанда, икемдірек тәсілі. Модульдер операциялық жүйенің қажеттілікке қарай мүмкіндіктерін оңай кеңейтуге мүмкіндік береді. Динамикалық жүктелетін модульдер операциялық жүйе кескініне енгізілген модульдерге қарағанда шамалы қосымша шығындарға түседі. Алайда, кейбір жағдайларда, қажет болған жағдайда модульдерді динамикалық түрде жүктеу ядролық кеңістікте жұмыс істейтін кодтың көлемін азайтуға көмектеседі; мысалы, кіріктірілген құрылғылар немесе шектеулі аппараттық ресурстары бар операциялық жүйелердің көлемін азайту үшін. Яғни, жүктемесіз модульді аз көлемді жедел жадта сақтаудың қажеті жоқ.