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