Монолитные операционные системы являются прямой противоположностью микроядерным. (
Микроядерные ОС) В монолитной ОС очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных ОС требует очень хорошего знания всей архитектуры ОС и чрезвычайно больших усилий. Для преодоления этих трудностей используется технология «
сервер – клиент».
Модель
сервер – клиент предполагает наличие программного компонента, являющегося потребителем какого-либо
сервиса – клиента, и программного компонента, поставщика этого
сервиса – сервера. Взаимодействие между сервером и клиентом стандартизуется, сервер может обслуживать клиентов, реализованных различными способами. Главное требование – использование единообразного интерфейса. Инициатором обмена является клиент, который посылает запрос серверу. Один и тот же программный компонент может быть и клиентом, и сервером.
При поддержке монолитных ОС возникает ряд проблем, связанных с тем, что все функции микроядра работают в едином адресном пространстве:
- опасность возникновения конфликта между различными частями ядра;
- сложность подключения к ядру новых драйверов.
Преимущество микроядерной архитектуры перед монолитной заключается в том, что каждый компонент системы представляет собой самостоятельный процесс, запуск и останов которого не отражается на работоспособности остальных процессов.