Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Исполнительная система (The Executive)




Надо отметить, что в разных источниках понятие исполнительной системы интерпретируется по-разному. Наиболее точным выступает следующее.

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

Будем следовать именно этому разделению, хотя бы потому, что HAL не предоставляет системных сервисов, к которым могут обращаться защищенные подсистемы.

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

В табл.1 перечислены подсистемы Исполнительной Системы XP, и рис. 10 показывает их позицию в архитектуре XP. Эти подсистемы имеют разные обязанности и названия, так что можно подумать, что они являются различными процессами.

Например, когда программа типа Microsoft Word запрашивает обслуживание операционной системы типа распределения памяти, поток управления передается от программы Word в режим ядра через "родной" интерфейс системных сервисов XP. Тогда обработчик системного сервиса для распределения памяти напрямую вызывает соответствующую функцию Диспетчера Виртуальной Памяти. Запрошенное распределение памяти выполняется в контексте процесса Word, который запросил его, т.е. нет никакого переключения контекста к другому системному процессу.

Таблица 1

Подсистемы Исполнительной Системы XP и их предназначение

 

№ п/п Подсистема исполнительной системы Предназначение
1. Диспетчер Объектов (Object Manager) Управляет всеми известными операционной системе объектами (потоки, файлы, каталоги, семафоры, таймеры и т.д.), а также глобальным пространством имен.
2. Диспетчер Ввода/Вывода (I/O Manager) Служит интерфейсом между прикладными программами и драйверами устройств. Выступает каркасом для управления устройствами ввода/вывода и предоставляет общие службы ввода/вывода.
3. Диспетчер Процессов (Process Structure) Управляет процессами и потоками, включая их создание и завершение. Занимается не стратегиями, применяемыми по отношению к процессам, а механизмом для управления ими.
4. Диспетчер Виртуальной Памяти (Virtual Memory Manager) Определяет адресное пространство процесса и распределяет физическую память. Реализует архитектуру виртуальной памяти со страничной подкачкой по требованию ОС.
5. Диспетчер Кэша (Cache Manager) Реализует глобальный файловый кэш. Хранит блоки данных, которые использовались в последнее время, для ускорения доступа к ним.
6. Диспетчер Безопасности (Security Reference Manager) Реализует модель безопасности XP на основе Идентификаторов Безопасности (SID) и Списков Разграничительного Контроля Доступа (Discretionary Access Control List - DACL). Реализует механизмы безопасности, удовлетворяющие требованиям класса С2 Оранжевой книги Министерства обороны США.
7. Диспетчер Plug-and-Play (Plug-and-Play Manager) Уведомляет драйверы устройств о включении/отключении новых устройств. Для некоторых устройств проверка производится при загрузке системы, для других в произвольное время.
8. Диспетчер Электропитания (Power Manager) Контролирует состояние электропитания компьютера. Выключает монитор и диски, при отсутствии обращения к ним.
9. Диспетчер Конфигурации (Configuration Manager) Управляет Реестром. Добавляет новые записи и организует работу с ключами.
10. Средство Вызова Локальных Процедур (Local Procedure Call (LPC) Facility) Обеспечивает высокоэффективное взаимодействие между процессами и их подсистемами. Применяется при критичном выполнении системных вызовов, когда не используются стандартные механизмы межпроцессного взаимодействия (IPC)
11. Поддержка среды Win32 (Win32 Support) Реализует Win32-функции обмена сообщениям, окнами и рисования. Реализует интерфейс графических устройств (GDI).
12. Исполнительный модуль (Executive Support) Реализует управление очередями, системной областью памяти, обеспечивает системные рабочие потоки, а также предоставлении интерфейса к исполняющей системе.

 

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

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

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

Исполнительный модуль (executive support) - это особый компонент исполнительной системы ОС Windows, давший свое имя целой группе модулей операционной системы. Он отвечает за многие разнообразные функции, включая управлении очередями (их блокирование), управление резидентной и нерезидентной системной областью памяти, увеличение/ уменьшение значения глобальной переменной и др.

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

1. Диспетчер Объектов (object manager), который является, вероятно, наименее известной из подсистем Исполнительной Системы Windows, является также одним из наиболее важных.

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

1. Все объекты именуются по одной и той же схеме. Доступ ко всем объектам также предоставляется одинаково, при помощи хэндлов объектов.

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

3. Возможно совместное использование объектов по одной и той же схеме.

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

5. Это однородная модель для управления объектов позволяет легко регулировать квоты ресурсов.

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

Диспетчером объектов нельзя манипулировать из пользовательского режима напрямую, а его пространство имен является невидимым.

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

Диспетчер Объектов использует подсчет ссылок, чтобы проследить сколько элементов системы, включая прикладные программы подсистемы Исполнительной Системы, обращаются к объекту, который предоставляет ресурс. Когда счетчик ссылок обнуляется, объект больше не используется как представление ресурса, и Диспетчер Объектов удаляет объект (но не обязательно ресурс).

Для обеспечения идентификации объектов, Диспетчер Объектов реализует пространство имен Windows. Все разделяемые ресурсы в Windows имеют имена, располагающиеся в этом пространстве имен.

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

Рассмотрим следующий пример:

Прикладная программа вызывает функцию Win32 - CreateFile() с именем файла "c:mydirfile.txt". При этом происходят следующие действия:

1. Вызов системного сервиса XPCreateFile(). В качестве имени ему будет передано "??c:mydirfile.txt". Такой формат имени является "родным" для XP, точнее формат имени в пространстве имен Диспетчера Объектов.

2. Диспетчер Объектов начнет последовательно разбирать переданное имя. Первым будет разобран элемент "??". Корень пространства имен содержит объект с таким именем. Тип объекта - "Directory". В этой директории будет произведен поиск объекта с менем "с:". Это - "SymbolicLink" - ссылка на имя "DeviceHarddisk() Partitionl".

3. Дальнейшему разбору будет подвергнуто имя "DeviceHarddisk()Partitionlmydirflle.txt". Разбор будет закончен при достижении объекта, не являющегося директорией или символической связью. Таким объектом будет "Partitionl", имеющий тип "Device". Этому объекту для дальнейшей обработки будет передано имя "mydirfile.txt".

 

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

Система ввода/вывода управляется пакетами запроса ввода/вывода (I/O Request Packet, IRP). Каждый запрос ввода/вывода представляется в виде пакета IRP во время его перехода от одной компоненты системы ввода/вывода к другой. IRP – это структура данных, управляющая обработкой операции ввода/вывода на каждой стадии ее выполнения.

В систему ввода/вывода входят следующие компоненты:

1) Диспетчер ввода/вывода (I/O manager). Реализует средства ввода/вывода, не зависящие от типа устройства, и устанавливает модель для ввода/вывода исполнитель ной системы. Диспетчер ввода/вывода осуществляет создание, чтение, запись, установку и получение информации, и многие другие операции над файловыми объектами. Диспетчер ввода/вывода реализует асинхронную подсистему ввода/вывода, основанную на передаче пакетов запроса ввода/вывода (I/O Request Packet, IRP). Диспетчер ввода/ вывода также отвечает за поддержку и обеспечение операционной среды для драйверов.

2) Файловые системы. Драйверы, принимающие запросы файлового ввода/вы вода и транслирующие их в запросы, привязанные к конкретному устройству. Сюда же входят сетевые файловые системы, состоящие из двух компонентов:

- сетевого редиректора (network redirector), реализуемого как драйвер файловой системы и передающего удаленные запросы ввода/вывода на машины в сети;

- сетевого сервера (network server), являющегося обычным драйвером, принимающим и обрабатывающим такие запросы.

3) Сетевые драйверы, которые могут загружаться в ОС и рассматриваться как часть системы ввода/вывода.

4) Драйверы устройств. Низкоуровневые драйверы, напрямую работающие с оборудованием.

3. Диспетчер процессов (process manager или process structure) отвечает за создание и уничтожение процессов и потоков. Диспетчер процессов взаимодействует с диспетчером объектов для построения объекта-процесса и объекта-потока, а также взаимодействует с диспетчером памяти для выделения виртуального адресного пространства для процесса.

4 - 5. Диспетчер памяти и диспетчер кэша (memory manager и cache manager). Диспетчер памяти и диспетчер кэша вместе формируют подсистему виртуальной памяти. Эта подсистема виртуальной памяти реализует 32-разрядную страничную организацию памяти. Подсистема виртуальной памяти поддерживает совместное использование страниц физической памяти между несколькими процессами. Она поддерживает разделяемый сегмент памяти "только для чтения", а также "чтения-записи". Подсистема виртуальной памяти отвечает за реализацию механизма кэширования данных. Данные файла могут быть доступны через диспетчера ввода/вывода при использовании стандартных операций чтения и записи в файл, или через диспетчер памяти посредством проецирования данных файла напрямую в виртуальное пространство процесса. Чтобы гарантировать согласованность между ними двумя методами доступа, диспетчер кэша поддерживает единый глобальный общий кэш. Этот единый кэш используется для кэширования, как страниц процесса, так и страниц файла. Диспетчер памяти реализует схему управления памятью, которая предоставляет каждому процессу 4-гигабайтное собственное виртуальное адресное пространство и защищает его других процессов. Диспетчер памяти реализует механизм подкачки страниц (paging) перенос страниц физической памяти на диск и обратно. Диспетчер кэша повышает производительность файлового ввода/вывода, сохраняя информацию, считанную с диска последней, в системной памяти. Диспетчер кэша использует средство подкачки страниц диспетчера памяти для автоматической записи информации на диск в фоновом режиме.

6. Диспетчер безопасности (security reference monitor) отвечает за реализацию единой политики защиты на локальном компьютере. Оберегает ресурсы ОС, обеспечивая защиту объектов и аудит во время выполнения доступа к ним. Справочный монитор защиты использует для реализации единой системной политики безопасности списки контроля доступа (Access Control Lists, ACL), содержащие информацию о том, какие процессы имеют доступ к конкретному объекту и какие действия они могут над ним выполнять, и идентификаторы безопасности (Security Identifiers, SI). Он поддерживает уникальный для каждого потока профиль защиты, и проверку полномочий при попытке доступа к объектам. При открытии потоком хэндла объекта активизируется подсистема защиты, сверяя ACL, связанный с объектом, с запрашиваемыми потоком действиями над этим объектом. Другим аспектом справочного монитора защиты является поддержка имперсонации (impersonation), которая позволяет одному потоку передать другому право использования своих атрибутов защиты. Это наиболее часто используется во время клиент-серверных операций, когда сервер использует атрибуты защиты клиента.

9. Диспетчер конфигурации (configuration manager) определяет тип объект-ключ (key object) и манипулирует этими объектами. Тип объект-ключ представляет элемент реестра Windows XP. Каждый экземпляр типа объект-ключ представляет либо некоторый узел реестра, являющийся частью пути к множеству подключей, либо он содержит именованные поля с соответствующими значениями.

10. Средство локального вызова процедур (LPC) организует взаимодействие между клиентскими и серверными процессами, расположенными на одном и том же компьютере. LPC - это гибкая, оптимизированная версия удаленного вызова процедур (Remote Procedure Call, RPC), средства коммуникации между клиентскими и серверными процессами по сети. LPC поддерживает передачу данных между клиентом и сервером посредством использования объектов-портов, которые в качестве атрибутов имеют указатель на очередь сообщений и хэндл секции разделяемой памяти. API, необходимый для доступа к LPC, не документирован. Интересно, что запрос RPC между приложениями, исполняющимися на одном компьютере, в действительности будет использовать механизм LPC.

11. Поддержка среды Win32 (Win32 support) включает диспетчера окон (window manager), интерфейс графических устройств (Graphic Device Interface, GDI), драйверов графических устройств (graphic device drivers). Эти компоненты поддержки средь Win32 были перенесены в режим ядра в версии XP 4.0, а ранее они принадлежит подсистеме среды Win32. Эти средства взаимодействуют между GUI - приложениями и графическими устройствами.




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


Дата добавления: 2014-01-20; Просмотров: 1641; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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