Ядро и вспомогательные модули ОС
Архитектура операционной системы
Функциональная сложность ОС неизбежно приводит к сложности ее архитектуры, под которой понимают структурную организацию ОС на основе различных программных модулей. Обычно в состав ОС входят исполняемые и объектные модули стандартных для данной ОС форматов, библиотеки разных типов, модули исходного текста программ, программные модули специального формата (например, загрузчик ОС, драйверы ввода-вывода), конфигурационные файлы, файлы документации, модули справочной системы и т.д.
Большинство современных ОС представляют собой хорошо структурированные модульные системы, способные к развитию, к расширению и переносу на новые платформы. Какой-либо единой архитектуры ОС не существует, но существуют универсальные подходы к структурированию ОС.
Ядро и вспомогательные модули ОС
Наиболее общим подходом к структуризации ОС является разделение всех её модулей на две группы:
· ядро – модули, выполняющие основные функции ОС( управление процессами, памятью, устройствами ввода-вывода и т.п.)
· модули, выполняющие вспомогательные функции.
Термин “ядро” в разных ОС трактуется по-разному. Одним из определяющих свойств является работа в привилегированном режиме. Ядро ОС – это часть ОС, как правило, постоянно находящаяся в ОП, выполняющая основные функции ОС в привилегированном режиме работы процессора.
В состав ядра входят функции
· решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка страниц, обработка прерываний. Эти функции не доступны для приложений.
· для поддержки приложений, создавая для них прикладную программную среду. Приложения могут обращаться к ядру с запросами – системными вызовами – для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т. д. Функции ядра, которые могут вызывать приложения, образуют интерфейс прикладного программирования – API.
Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями ОС, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или их часть постоянно находится в ОП, т. е. являются резидентными.
Ядро является движущей силой всех вычислительных процессов в компьютерной системе, и крах ядра равносилен краху всей системы. Поэтому разработчики ОС уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы. Обычно ядро оформляется в виде программного модуля некоторого специального формата.
Остальные модули ОС выполняют весьма полезные, но менее обязательные функции. Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек процедур. Поскольку некоторые компоненты ОС оформлены как обычные приложения, т. е. в виде исполняемых модулей стандартного для данного ОС формата, то часто бывает очень сложно провести четкую грань между ОС и приложениями (рис. 1).
Решение о том, является ли какая-либо программа частью ОС или нет, принимает производитель ОС. Среди многих фактов, способных повлиять на это решение, немало важными являются перспективы того, будет программа иметь массовый спрос у потенциальных пользователей данной ОС. Некоторая программа может существовать определенное время как пользовательское приложение, а потом стать частью ОС, или наоборот. Ярким примером такого изменения статуса программы является Web-браузер компании Microsoft, который сначала поставлялся как отдельное приложение, затем стал частью ОС Windows NT 4.0 и Windows 95/98,
dfd
- Вспомогательные модули ОС. - Пользовательские приложения.
Рис. 1. Нечеткость границы между ОС и приложениями.
Вспомогательные модули ОС обычно подразделяются на следующие группы:
· Утилиты – программы, решающие отдельные задачи управления и сопровождения компьютерной системы, например, программы сжатия дисков, архивирование данных
· Системные обрабатывающие программы – текстовые или графические редакторы, компиляторы, компоновщики, отладчики;
· Программы предоставления пользователю дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор и даже игры;
· Библиотеки процедур разного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д.
Как и обычные приложения, для выполнения своих задач утилиты, обрабатывающие программы и библиотеки ОС, обращаются к функциям ядра посредством системны вызовов.
Разделение ОС на ядро и модули-приложения обеспечивает легкую расширяемость ОС. Чтобы добавить новую высокоуровневую функцию, достаточно разработать новое приложение, и при этом не требуется модифицировать ответственные функции, образующие ядро системы. Однако внесение изменений в функции ядра может оказаться гораздо сложнее, и сложность эта зависит от структурной организации самого ядра. В некоторых случаях каждое исправление ядра может потребовать его полной компиляции.
Модули ОС, оформленные в виде утилит, системных обрабатывающих программ и библиотек, обычно загружаются в ОП только на время выполнения своих функций, т. е. являются транзитными. Постоянно в ОП располагаются только самые необходимые коды ОС, составляющие ее ядро. Такая организация ОС экономит ОП компьютера.
Важным свойством архитектуры ОС, основанной на ядре, является возможность защиты кодов и данных ОС за счет выполнения функций ядра в привилегированном режиме.
Дата добавления: 2016-06-05; просмотров: 4754;