Архитектура операционной системы
Любая сложная система, к которым относиться и ОС компьютера, должна иметь понятную и рациональную структуру, которая может быть получена делением всей системы на отдельные модули. Каждый модуль имеет свое функциональное назначение, между модулями существуют строго определенные правила взаимодействия.
Под архитектурой ОС понимают структурную организацию ОС на основе набора программных модулей. Современные ОС состоят из двух больших частей:
- Ядра – модули, которыевыполняют основные (базовые) функции ОС, такие как, управление процессами, памятью, устройствами ввода-вывода.;
- Вспомогательные модули, которые выполняют вспомогательные функции ОС.
В состав ядра входят функции, которые выполняют внутрисистемные задачи организации вычислительного процесса – распределение ОП, обработка прерываний, подкачка с диска и т.д. Эти функции не доступны приложениям. Функции ядра, которые доступны приложениям, образуют Интерфейс прикладного программирования, API, и создают прикладную программную среду.
Ядро составляет сердцевину ОС и без него ОС не может выполнить ни одну из своих функций. Функции, которые выполняются модулями ядра ОС, часто используются и от скорости их выполнения зависит производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находиться в оперативной памяти, то есть являются резидентными. Надежности ядра ОС уделяется особое значение. Обычно, ядро оформляется в виде программного модуля специального формата, который отличается от формата пользовательских приложений.
Вспомогательные модули загружаются в ОП только на время выполнения своих функций, то есть являются нерезидентными или транзитными.
Вспомогательные модули обычно подразделяются на группы:
Утилиты– программы, решающие отдельные задачи сопровождения и управления компьютерной системой, например программа сжатия дисков, архивирования данных и т.д.
Системные обрабатывающие программы – текстовые и графические редакторы, компиляторы, компоновщики, отладчики, командный интерпретатор (процессор).
Программы предоставления пользователю дополнительных услуг– специальный вариант пользовательского интерфейса, калькулятор, игры.
Библиотеки процедур – библиотека математических функций, функции ввода – вывода.
Вспомогательные модули оформляются в виде отдельных программ или библиотек процедур.
Решение о том является ли какая-то программа частью ОС или нет принимает разработчик ОС. Некоторые программы могут быть какое-то время приложениями, а затем стать частью ОС, например Internet Explorer.
Операционная система
Ядро ОС | Вспомогательные модули |
Модули для решения внутрисистемных задач | Утилиты | |
Системные обрабатывающие программы | ||
Библиотеки процедур | ||
Интерфейс прикладного программирования | Программы дополнительных услуг | |
Разделение ОС на ядро и вспомогательные модули обеспечивает легкую расширяемость ОС, то есть возможность добавление новых программ без внесение изменений в ядро ОС.
Ядро, как правило, состоит из следующих слоев:
Аппаратура | ||
Средства аппаратной поддержки ОС | Часть функций ОС может выполняться аппаратными средствами, включают средства защиты областей памяти, поддержки привилегированного режима, систему прерываний и т.д. | |
Машино - зависимые компоненты ОС | Программные модули, в которых отражается специфика аппаратной платформы компьютера, созданы для возможности разрабатывать вышележащие слои на основе машинно-независимых модулей. | |
Базовые механизмы ядра | Выполняют наиболее низкие (примитивные) операции ядра, принятые верхним слоем, например выполнить остановку одного процесса и начать выполнение другого | |
Менеджер (диспетчеры) ресурсов | Выполняют управление основными ресурсами компьютера, менеджеры процессов, ввода-вывода, файловой системы, каждый менеджер ведет учет свободных и используемых ресурсов определенного типа и планирует их распределение в соответствии с запросами приложений. Внутри слоя существуют взаимосвязи между менеджерами разного типа. Часть функций выполняется драйверами устройств. Процессу для выполнения нужен доступ к нескольким ресурсам - определенной области ОП, возможно к определенному файлу или устройству ввода-вывода. | |
Интерфейс системных вызовов | Осуществляет взаимодействие непосредственно с приложениями и системными утилитами, образует прикладной программный интерфейс ОС. Функции API через системные вызовы предоставляют доступ к ресурсам системы в удобной форме без указания физического расположения ресурса |
Такое разбиение ядра является достаточно условным, для конкретной ОС состав может быть иным. Если ОС предназначена для одной аппаратной платформы, то слой машинно-зависимых модулей не выделяется (ОС NetWare). Слой менеджеров может быть разделен на несколько, например выделен слой драйверов устройств.
Обычно у ОС, прошедших большой путь развития, например UNIX, ядро имеет небольшое число слоев, а у сравнительно молодых (Windows NT) ядро разделено на большее число слоев и взаимодействие более четко формализовано.
Дата добавления: 2015-08-11; просмотров: 1154;