Ядро и вспомогательные модули ОС


Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:

- ядро — модули, выполняющие основные функции ОС;

- модули, выполняющие вспомогательные функции ОС.

Модули ядра ОС выполняют следующие базовые функции ОС:

- управление процессами;

- управление памятью;

- управление устройствами ввода-вывода и т.п.

Без ядра ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций.

В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка станиц, обработка прерываний. Эти функции недоступны для приложений.

Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.

Вспомогательные модули выполняют полезные, но менее обязательные функции. Например:

- архивирование информации;

- дефрагментация данных на диске;

- поиск необходимого файла и т.п.

Вспомогательные модули часто оформляются как обычные приложения и провести границу между ними и обычными приложениями сложно.

Вспомогательные модули обычно подразделяются на следующие группы:

- утилиты — программы, решающие отдельные задачи управления и сопровождения ОС, такие, например, как программы сжатия дисков, архивирования данных;

- системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;

- программы предоставления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор и даже игры;

- библиотеки процедур – это модули различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д.

Как и обычные приложения, для выполнения своих задач утилиты, обрабатывающие программы и библиотеки ОС, обращаются к функциям ядра посредством системных вызовов.

Взаимодействие между ядром и вспомогательными модулями ОС представлено на следующем рисунке.

Модули ОС, оформленные в виде утилит, системных обрабатывающих программ и библиотек, обычно загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными. Постоянно в оперативной памяти располагаются только самые необходимые коды ОС, составляющие ее ядро. Такая организация ОС экономит оперативную память компьютера.