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

Современные ОС имеют архитектуру, основанную на разделении всех ее модулей на две группы:

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

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

Модули ядра выполняют такие базовые функции ОС, как управление процессами, памятью, устройствами ввода-вывода и т. п. В состав ядра входят модули, решающие задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка станиц, обработка прерываний. Эти функции недоступны для обычных пользовательских приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами — системными вызовами — для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т. д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — API.

Функции, выполняемые модулями ядра, наиболее часто используются при работе ОС, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.

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

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

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

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

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

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

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

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

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

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