Машинно –зависимые компоненты ОС



Архитектура операционной системы

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

Привилегированный режим

Многослойная структура ОС

Структура ядра ОС

Аппаратная зависимость и переносимость ОС

Архитектура операционной системы

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

Обычно в состав операционной системы входит:

а) исполняемые и объектные модули стандартных для данной операционной системы форматов;

б) библиотеки разных типов;

в) модули исходного текста программ;

г) программные модули специального формата (например, загрузчик ОС, драйверы ввода – вывода);

д) конфигурационные формулы;

е) файлы документации;

ж) модули справочной системы и т.д.

Большинство современных операционных систем представляют собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой – либо единой архитектуры операционных систем не существует, но существуют универсальные подходы к структурированию ОС.

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

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на 2 группы:

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

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

Модули ядра выполняют такие базовые функции ОС, как

- управление процессами;

- управление памятью;

- управление устройствами ввода – вывода и т.п.

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

В состав ядра входят функции, решающие внутрисистемные задачи организации ВП:

Например: – переключение контекстов,

– загрузка/выгрузка страниц,

– обработка прерываний.

(Эти функции недоступны для приложений).

– создание прикладной программной среды.

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

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

Крах ядра равносилен краху всей системы.

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

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

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


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

· утилиты – программы, решающие отдельные задачи управления и сопровождения компьютерной системы. Например, программа сжатия дисков, архивирование данных на МЛ;

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

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

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

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


Разделение операционной системы на ядро и модули – приложения обеспечивает легкую расширяемость ОС.

Привилегированный режим

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

Для надежного управления кодом выполнения приложений операционная система должна иметь по отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение может вмешаться в работу операционной системы и разрушить часть ее кодов.

Обеспечить привилегии операционной системе невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы – пользовательский режим (user mode) и привилегированный режим, который называют режимом ядра (kernel mode) или режимом супервизора (supervisor mode).

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

Иногда это свойство служит основным понятием ядра.

 

 

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

 

 

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

 

Многослойная структура ОС

Вычислительную систему, работающую под управлением ОС на основе ядра, можно рассматривать как систему, состоящую из трех иерархически расположенных слоев:

– нижний слой образует аппаратура;

– промежуточный – ядро;

 

утилиты, обрабатывающие программы и приложения составляют верхний слой системы.

 

Рис. 5. Структура ОС

 

Структура ядра ОС

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

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

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

 

 

Рис. 6. Структура ядра ОС.

 

В данной схеме выделены следующие слои.

Интерфейс системных вызовов

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

Менеджеры ресурсов

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

Каждый из менеджеров ведет учет свободных и используемых ресурсов определенного типа и планирует их распределение в соответствии с запросами приложений.

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

Для исполнения принятых решений менеджер обращается к нижележащему слою базовых механизмов с запросами о загрузке (выгрузке) конкретных страниц

Базовые механизмы ядра

Этот слой выполняет модулей наиболее примитивные операции ядра, такие как • программное переключение контекстов процессов;

· диспетчеризацию прерываний;

· перемещение страниц памяти на диск и обратно и т.п.

Модули данного слоя не принимают решений о распределении ресурсов – они только отрабатывают принятые наверху решения, что и дает повод называть их исполнительными механизмами для модулей верхних слоев.

Машинно –зависимые компоненты ОС

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


Дата добавления: 2018-11-24; просмотров: 2878; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!