Как правило, современные ОС состоят из множества взаимосвязанных модулей, каждый из которых можно условно отнести к одной из двух групп:
ядро – модули, выполняющие основные внутрисистемные функции ОС, такие как управление процессами, памятью, устройствами ввода-вывода и др.
Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами – системными вызовами.
Функции ядра, которые могут вызываться приложениями образуют интерфейс прикладного программирования API. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.
Модули, выполняющие вспомогательные функции ОС (например, дефрагментация диска, архивация, текстовый редактор и др).
Нечеткость границы между ОС и приложениями (вспомогательными модулями)
ВСПОМОГАТЕЛЬНЫЕ МОДУЛИ ОС
Вспомогательные модули ОС обычно подразделяются на следующие группы:
утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных на магнитную ленту;
системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;
программы предоставления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор и даже игры;
библиотеки процедур различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д.
Взаимодействие между ядром и вспомогательными модулями ОС