Домой

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




Скачать 115.1 Kb.
НазваниеАрхитектура операционных систем
Дата27.02.2013
Размер115.1 Kb.
ТипДокументы
Содержание
Монолитные (макроядерные)
Архитектура Windows 2000
Режим пользователя
Режим ядра
Службы Windows 2000
Подобные работы:

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

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

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

  • состав и взаимоотношения компонентов, а также компонентов и окружающей среды,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




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

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

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

  • определенную систему команд,

  • определенный тип API,

  • определенный формат исполняемой программы.

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

  • эмуляция (моделирование выполнения каждой команды), например, режим эмуляции MS DOS в операционных системах Windows;

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

  • встраивание в ядро ОС множества прикладных средств. Так реализована работа с множественными прикладными средами в OS2.

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

  • управление виртуальной памятью,

  • поддержка заданий и потоков,

  • взаимодействие между процессами

  • управление поддержкой ввода-вывода и прерываниями,

  • сервисы главного компьютера сети и процессора.

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

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

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

  • простое и оптимизированное ядро (например, для работы в реальном времени),

  • возможность наращивания и изменения функций ОС без изменения ядра,

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





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

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

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


^ Архитектура Windows 2000

Большинство операционных систем (ОС) представляют собой хорошо структурированные модульные системы. Обычно модули делятся на две группы:

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

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

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

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

На рис. 1 представлена общая структура ОС Windows 2000.

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


















NTDLL.DLL

Режим пользователя





Режим ядра


API исполнительной системы


Исполни-тельная система Win2000




Диспетчер объектов,

библиотека этапа исполнения









Аппаратура

Рис. 1. Архитектура операционной системы Windows 2000


Для обеспечения аппаратной независимости (возможности работы ОС на разных аппарат­ных платформах) большая часть модулей ОС общается с аппаратурой как с абстрактными данными, которые связывают с конкретными аппаратными модулями через такие программные модули, как HAL (Hardware Abstraction Layer), микроядро и драйверы устройств.

Назначение и имена системных файлов представлены в таблицах 1 и 2.


Таблица 2. Системные модули режима пользователя


^ Режим пользователя

Модуль

Файл

Назначение

Приложения пользователя




Могут быть одного из пяти типов: Win32, Win16 (для Windows 3.1), POSIX, OS/2, MS-DOS

Подсистемы среды




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

Системные процессы и сервисы




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

WIN32API




Интерфейс между пользовательскими приложениями и исполнительной системой Windows. Реализован в виде динамически подключаемых библиотек DDL). В пользовательском режиме работают три главных библиотеки, содержащие большую часть функций API: Kernel32.dll, User32.dll , GDI.dll

Kernel32.dll

%\windows\system32\ Kernel32.dll

Библиотека DLL. Содержит около 700 функций управления памятью, процессами и потоками

User32.dll

%\windows\system32\ User32.dll

Библиотека DLL. Содержит около 600 функций для управления пользовательским интерфейсом, например, созданием окон и передачей сообщений

GDI.dll




Библиотека DLL. Содержит около 400 функций для рисования графических объектов, отображения текста и работы со шрифтами

NTDLL

%\windows\system32\Nt.dll

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



Таблица 1. Системные модули режима ядра

^ Режим ядра

Модуль

Файл

Назначение

HAL

%\windows\system32\

HAL.dll

Уровень аппаратных абстракций. Реализует низко­уровневый интерфейс с аппаратурой. Модули Windows и драйверы от других разработчиков взаимодействуют с аппаратурой посредством HAL. Отделяет ОС от особенностей используемой аппа­ратной платформы.

Аппаратура: шина, таймеры, контроллер прерыва­ний, контроллер прямого доступа к памяти, устрой­ства ввода/вывода, контроллер кэша, контроллеры памяти и т. д.

Микроядро

%\windows\system32\

NTOSKRNL.exe

Единственная часть системы, которая всегда нахо­дится в оперативной памяти.

Выполняет функции:

  • Планирование процессов и потоков,

  • Синхронизация процессов и потоков,

  • Обработка прерываний

  • обработка исключений (ошибок)

Драйверы устройств

*.exe

Преобразуют поступившие от пользователя вызовы функций ввода/вывода в запросы для конкретных устройств

Диспетчер ввода/вывода




  • аппаратно-независимый ввод/вывод для приложений,

  • координация работы драйверов устройств

Диспетчер кэша




Управляет кэшированием дисковой памяти: хранит в оперативной памяти данные, к которым недавно обращались

Диспетчер файловой системы




Поддерживает работу с файлами и папками

Диспетчер процессов и потоков




Создает и завершает процессы и потоки

Диспетчер объектов




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

Диспетчер виртуальной памяти




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

Библиотеки этапа исполнения




Реализация арифметических функций и функций обработки строк

Диспетчер окон WIN32K

WIN32K.sys

Создает оконный экранный интерфейс, управляет графическими устройствами (вывод на экран, ввод с клавиатуры или при помощи мыши)

Средства локального вызова процедур




Связь между приложениями и исполняющимися подсистемами по модели клиент/сервер. Похож на средства удаленного вызова процедур в распределенных системах

Монитор безопасности обращений




Обеспечивает выполнение правил доступа и аудита

API исполнительной системы




Функции исполнительной системы (сервисы режима ядра), используемые подсистемой Win32API



^ Службы Windows 2000

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

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

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

Объекты Windows 2000

Многие сущности ОС Win2000 (процесс, прерывание, файлы, потоки, семафоры, таймеры, окна) являются объектами. объекты создаются и управляются при помощи диспетчера объектов. Каковы преимущества объектно-ориентированного подхода организации системы?

Системный реестр Windows 2000

См. файл Registry.doc

Системные файлы, процессы и загрузка ОС

См файл Loading.doc

Скачать 115.1 Kb.
Поиск по сайту:



База данных защищена авторским правом ©dogend.ru 2014
При копировании материала укажите ссылку
обратиться к администрации
Уроки, справочники, рефераты