Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Общие тенденции в реализации архитектуры ОС

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

ОС – сложная программно-аппаратная система.

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

  • состав и взаимоотношения компонентов, а также компонентов и окружающей среды,
  • принципы проектирования и развития системы. (Стандарт ANSI/IEEE 1471-2000)

1. Модульность

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

Во всех ОС модули делятся на две группы:

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

Модули ядра постоянно располагаются а памяти (резидентные модули), оформлены в виде модулей специального формата.

  • Вспомогательные модули – модули, загружаемые в память только при необходимости (транзитные модули): утилиты обслуживания диска, системы инструментальные, текстовые и графические редакторы ОС, графические пользовательские интерфейсы, библиотеки API и др.

2. Поддержка специального режима работы

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

Поддержка привилегированного и пользовательского режимов невозможна без специальных аппаратных решений процессора. Процессор Intel Pentium поддерживает 4 уровня привилегий (4 кольца: 0 ‑ самый высокий уровень привилегий, 3 – самый низкий), но операционные системы Windows и Unix используют только два.

Процессы, работающие в режиме ядра (привилегированный режим)

- имеют прямой доступ к аппаратному обеспечению;

- имеют доступ ко всей памяти компьютера;

- не могут быть вытеснены в страничный файл на жестком диске;

- выполняются с большим приоритетом, чем процессы режима пользователя.

Компоненты режима ядра защищены архитектурно: процессор предотвращает их изменение другой программой.

Процессы режима пользователя

- не имеют прямого доступа к аппаратуре, это защищает систему от неисправных приложений или неавторизированного доступа;

- ограничены выделенным им адресным пространством. Этим обеспечивается целостность ОС;

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

- выполняются с меньшим приоритетом, чем процессы режима ядра.

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

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

Недостаток: дополнительные затраты времени на переключение режимов.

3. Реализация многослойной структуры ОС

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

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

"Молодые" (развивающиеся) ОС (например,Linux) имеют более многослойное ядро, чем "старые" (Unix).

Такая организация повышает надежность и защищенность работы системы, поддерживает переносимость, но приводит к замедлению работы ядра.

4. Совместимость с другими ОС и поддержка множественных прикладных сред

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

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

  • определенную систему команд,
  • определенный тип API,
  • определенный формат исполняемой программы.

Способы построения множественных прикладных средств:

  • эмуляция (моделирование выполнения каждой команды), например, режим эмуляции MS DOS в операционных системах Windows;
  • трансляция системных вызовов. В пользовательском режиме запускается транслятор, переводящий каждую функцию обращения "чужого" приложения к "чужому" API в обращение к функции "родного" API;
  • встраивание в ядро ОС множества прикладных средств. Так реализована работа с множественными прикладными средами в OS2.

Микроядерные ОС – ОС, в состав ядра которых включено минимально необходимое количество модулей. Как правило, это 5 сервисов (сервис – совокупность клиента и сервера):

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

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

Микроядерные ОС поддерживают модель клиент-сервер при организации обращения пользовательских программ к системным модулям, работающим в режиме пользователя, и для поддержки механизма вызова между серверами ОС. Микроядро при этом исполняет роль транспортных средств (рис. 1). Защита системных модулей, работающих в режиме пользователя, реализуется на уровне процессора (все приложения в многопроцессорной операционной системе изолированы!).

Достоинства:

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

 

 

Монолитные (макроядерные) ОС – ОС, ядро которых не делится на центральную часть и периферийные модули (Unix).

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

Операционная система Windows NT не является настоящей микроядерной ОС, но в ней реализован принцип клиент-сервер во взаимодействиях между модулями управляющей части.


 

<== предыдущая лекция | следующая лекция ==>
Способы размораживания | Архитектура Windows 2000
Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 278; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.