Читайте также:
|
|
Windows NT явилась продолжением фирмой Microsoft проекта OS/2, предпринятым фирмой Microsoft после того, как разошлись ее пути с IBM. В качестве руководителя проекта Windows NT был приглашен Д.Катлер, имеющий большой опыт в разработке операционных систем в фирме DEС (ОС VAX VMS).
С самого начала Windows NT планировалась как ОС, предназначенная для выполнения функций сервера. Windows NT является полностью 32-разрядной ОС с объектно-ориентированной структурой и строится на базе микроядра. Последнее обстоятельство позволило сделать ОС доступной на большом числе аппаратных платформ CISC- и RISC-процессоров, в том числе, и в симметричных многопроцессорных архитектурах. Однако, начиная с версии 4, Windows NT работает только на процессорной архитектуре Intel/Pentium. Архитектура ОС [10, 35] представлена на рисунке 5.1.
Рисунок 5.1 Архитектура Windows NT/2000 |
Реализация концепции микроядра в Windows NT состоит в том, что ОС состоит из процессов-серверов, выполняющих непосредственное обслуживание пользовательских процессов в пользовательском режиме, и части системы, работающей в режиме ядра, выполняющей по запросам процессов-серверов низкоуровневые и критические операции.
Строго говоря, Windows NT не является по-настоящему системой с микроядром, так как, по определению, в таких системах только компактное микроядро работает в привилегированном режиме. Здесь же помимо того, что разработчики называют "микроядром" ("ядро" на рис.5.1), в таком режиме работает и огромная испольнительная подсистема.
Часть системы, работающая в режиме ядра, состоит из нескольких слоев.
Уровень аппаратных абстракций виртуализирует аппаратные интерфейсы. При его создании ставилась цель подготовки процедур, которые позволяли бы единственному драйверу конкретного устройства поддерживать функционирование этого устройства на всех аппаратных платформах. Аппаратные абстракции скрывают от вышележащих частей ОС такие детали как интерфейс ввода-вывода, контроллеры прерываний и другие аппаратно-зависимые и специфические функции. Уровень аппаратных абстракций также обеспечивает программные механизмы управления и обмена данными между процессорами в симметричных многопроцессорных архитектурах. Ядро и драйверы устройств для выполнения аппаратно зависимых функций обращаются к уровню аппаратных абстракций, хотя начиная с версии 4.0, для повышения быстродействия допускается непосредственное взаимодействие драйвера с аппаратурой. Модуль уровня аппаратных абстракций требует перенастройки при изменении конфигурации оборудования.
Ядро и планирование процессов
Ядро осуществляет планирование действий процессора и синхронизацию работы процессов и нитей. Ядро является резидентным и непрерываемым. Ядро объектно-базировано, то есть обеспечивает низкоуровневую базу для определенных объектов ОС, которые могут использоваться компонентами высшего уровня. Объекты ядра делятся на две группы: объекты управления и объекты диспетчеризации. Основным оъектом управления является процесс, представляющий собой адресное пространство, набор доступных процессу объектов и совокупность нитей управления. Некоторые другие объекты управления: прерывание, процедура синхронного вызова, процедура отложенного вызова и т.д. Объекты диспетчеризации характеризуются сигнальными состояниями и управляют диспетчеризацией и синхронизацией операций. Примеры объектов диспетчеризации: нить, семафор, событие, взаимное исключение (mutex - для пользовательского режима и mutant - для режима ядра) и другие.
Ядро реализует основную политику планирования процессов и нитей (хотя в нее могут быть внесены изменения серверами подсистем). Всего в Windows NT имеется 32 градации приоритетов, разнесенные по 4 классам. При запуске процесс получает уровень приоритета, назначаемый по умолчанию его классу:
Общие правила диспетчеризации таковы:
Исполнительная подсистема - верхний уровень ядра, представляющий сервис ядра подсистемам среды и другим серверам. Ниже перечисляются компоненты исполнительной подсистемы.
Диспетчер объектов обеспечивает поддержку объектно-базированной структуры ОС, представляющей ресурсы в виде объектов - абстрактных инкапсулированных типов данных. Диспетчер Объектов выполняет общие функции управления объектами - как пользовательскими, так и объектами ОС. Все пользовательские объекты имеют внешние имена. Объекты ОС могут быть как именованными, так и неименованными, последние используются только внутри самой ОС. Именование любых объектов подчиняется общим правилам, имена объектов подобны именам файлов в иерархической структуре каталогов. Диспетчер объектов обеспечивает унифицированные правила для именования, хранения и обеспечения безопасности объектов.
Менеджер безопасности проводит политику защиты и аудита объектов на персональном компьютере (подробнее - см.ниже).
Менеджер процессов отслеживает объекты процессов и нитей. Фактически основная часть планирования процессов и нитей реализована в ядре, менеджер же процессов обеспечивает создание, уничтожение и протоколирование этих объектов, а также обеспечивает набор средств создания и использования нитей и процессов для конкретных подсистем сред. В Windows NT процессы не связываются родственными отношениями в структуру дерева (как, например, в Unix или в OS/2). Однако в Windows 2000 введен новый объект - задание, представляющий собой именованную группу процессов и позволяющий вести общее управление и учет для такой группы.
Дата добавления: 2015-10-26; просмотров: 96 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Semantical and structural typology of the adjectives. | | | Адресные пространства |