Ядро и вспомогательные модули ОС
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
- ядро — модули, выполняющие основные функции ОС;
- модули, выполняющие вспомогательные функции ОС.
Модули ядра ОС выполняют следующие базовые функции ОС:
- управление процессами;
- управление памятью;
- управление устройствами ввода-вывода и т.п.
Без ядра ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций.
В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка станиц, обработка прерываний. Эти функции недоступны для приложений.
Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.
Вспомогательные модули выполняют полезные, но менее обязательные функции. Например:
- архивирование информации;
- дефрагментация данных на диске;
- поиск необходимого файла и т.п.
Вспомогательные модули часто оформляются как обычные приложения и провести границу между ними и обычными приложениями сложно.
Вспомогательные модули обычно подразделяются на следующие группы:
- утилиты — программы, решающие отдельные задачи управления и сопровождения ОС, такие, например, как программы сжатия дисков, архивирования данных;
- системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;
- программы предоставления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор и даже игры;
- библиотеки процедур – это модули различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д.
Как и обычные приложения, для выполнения своих задач утилиты, обрабатывающие программы и библиотеки ОС, обращаются к функциям ядра посредством системных вызовов.
Взаимодействие между ядром и вспомогательными модулями ОС представлено на следующем рисунке.
Модули ОС, оформленные в виде утилит, системных обрабатывающих программ и библиотек, обычно загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными. Постоянно в оперативной памяти располагаются только самые необходимые коды ОС, составляющие ее ядро. Такая организация ОС экономит оперативную память компьютера.