Мегаобучалка Главная | О нас | Обратная связь


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



2019-07-03 565 Обсуждений (0)
Архитектура операционных систем 0.00 из 5.00 0 оценок




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

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

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

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

2) отвечающие на запросы приложений, например, такие как разрешение доступа к файлам, получение системного времени и т.п.

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

В ядро входят базовые средства управления основными сущностями, характерными для данной ОС. Например, в Unix–системах такими сущностями являются файл и процесс. В OC Windows – объект и его поведение. Не все, но многие объекты обозначаются иконками на рабочем столе, и их поведение раскрывается во время выполнения соответствующих программ. В связи с этим говорят, что Windows –объектно–ориентированная ОС. В состав ядра также может входить набор программ, обеспечивающих управление некоторыми физическими устройствами. В функции ядра, в частности, входит обработка прерываний.

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

Архитектура ОС c монолитным ядром показана на рис. 3.1.

 

Рис. 3.1. Архитектура ОС c монолитным ядром

 

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

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

Рис. 3.2. Временная диаграмма смены режимов при выполнении системного вызова

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

Архитектура ОС с многослойной структурой ядра. В таких системах ядро ОС уже не является монолитным, а состоит из множества слоев, как показано на рис. 3.3. Впервые такой подход был применен при создании системы THE (Technishe Hogeschool Eindhoven) Э. Дейкстрой и его студентами в 1968 г.

Рис. 3.3. Архитектура ОС с многослойной структурой ядра

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

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

В некотором смысле примером ОС с многослойной структурой ядра является ОС MS–DOS. Архитектура ОС MS–DOS представлена на рис. 3.4.

Операционная система MS–DOS состоит из двух модулей msdos.sys и io.sys, составлявших ядро системы. Хотя название «ядро» для этих модулей не принято употреблять, по своей сути они ими являются. К ядру ОС MS–DOS с системными вызовами обращаются интерпретатор команд, системные утилиты и приложения. Машинозависимый компонент ОС – BIOS составляют программные модули, в которых отражается специфика аппаратной платформы компьютера.

Рис. 3.4. Архитектура ОС MS–DOS

В идеале этот слой должен полностью экранировать вышележащий слои ядра от особенностей аппаратуры. Однако в ОС MS–DOS программы могут получать доступ к аппаратуре не только через ядро системы, но и непосредственно. В архитектуре ОС с многослойной структурой ядра прямой доступ программ к аппаратным средствам невозможен.

Отсутствие единого механизма разграничения доступа к ресурсам разных уровней архитектуры является существенным недостатком ОС MS–DOS. Некорректно написанные приложения часто вызывали разрушения модулей ядра MS–DOS и, как следствие, необходимость перезагрузки компьютера. Однако сфера использования MS–DOS и не предъявляла высоких требований к надежности ОС. А вот быстродействие однозадачной MS–DOS очень высокое. И не только потому, что все ресурсы процессора мобилизованы на решение одной задачи, но и за счет возможности быстрого доступа программ к аппаратуре.

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

Рис. 3.5. Архитектура ОС с микроядром

 

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

Такая архитектура имеет множество плюсов. Среди этих преимуществ можно отметить:

· повышается надежность ОС, так как каждый сервис является самостоятельным приложением и его легче отладить и отследить ошибки; такая система лучше масштабируется, поскольку ненужные сервисы могут быть исключены из системы без ущерба к ее работоспособности;

· повышается отказоустойчивость системы, так как «зависший» сервис может быть перезапущен без перезагрузки системы;

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

 

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

Рис. 3.6. Временная диаграмма смены режимов при выполнении системного вызова

 

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

В большинстве случаев современные операционные системы используют различные комбинации этих подходов. Гибридной операционной системой считается Windows NT. В этой ОС одновременно тесно соседствуют элементы микроядерной архитектуры и монолитного ядра.



2019-07-03 565 Обсуждений (0)
Архитектура операционных систем 0.00 из 5.00 0 оценок









Обсуждение в статье: Архитектура операционных систем

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (565)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)