Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UchbnoePosobieV14 - p2.doc
Скачиваний:
0
Добавлен:
03.01.2020
Размер:
2.08 Mб
Скачать

Варианты выпуска Windows 2000

Версия

Максимальный объём ОП, Гб

Количество CPU

Максимальное число клиентов

Оптимизация

Professional

4

2

10

Время отклика

Server

4

4

Не ограничено

Пропускная способность

Advanced Server

8

8

Не ограничено

Пропускная способность

Datacenter Server

64

32

Не ограничено

Пропускная способность

Архитектура Windows 2000. Архитектура Windows 2000 приведена на рис. 6.7 [23]. Службы и функции, расположенные ниже пунктирной линии (уровень ядра), выполняются в режиме ядра. Системные программы, находящиеся выше этой лини, выполняются в режиме пользователя.

Уровень аппаратной абстракции (HAL - Hardware Abstraction Layer). Коды почти всех современных ОС написаны на языке высокого уровня (чаще СИ). Это создаёт основу для переноса операционных систем на различные аппаратные платформы. На практике при разнообразии центральных и периферийных устройств, с одной стороны, и сложных композиций современных ОС, с другой стороны, осуществление мобильности операционных систем может превратиться в трудоёмкую операцию.

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

Уровень ядра. Выше уровня аппаратной абстракции располагается ядро и драйверы устройств. То, что называется ядром в Windows 2000, таковым в строгом понимании не является, так как многие функции и службы, характерные для ядра, вынесены в верхний слой (см. далее). В ранних версиях Windows NT он назывался микроядром. Это тоже не соответствует истине. Микроядро, в частности, не должно содержать файловую систему и администратор памяти (см. разд. 1.6 и 6.2).

Ядро и HAL являются резидентными, т.е. не выгружаемыми из оперативной памяти. Часть ядра представляет собой машинно-зависимую программу. Другая часть, для которой скорость обработки кода не так критична, написана на языке СИ. Основное назначение ядра заключается:

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

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

Управляющие объекты. К управляющим объектам относятся: примитивные (низкоуровневые) объекты процессов, объекты прерывания, DPC (Deferred Procedure Call – отложенный вызов процедуры) и APC (Asynchronous Procedure Call – асинхронный вызов процедуры).

Рис. 6.22. Архитектура Windows 2000

Объект DPC используется для определения обработчиков прерывания, которые должны выполняться в режиме РВ, от других, для которых время не столь критично (ср. приоритеты аппаратных прерываний в операционной системе MS DOS).

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

Объекты диспетчеризации. К объектам этого типа относятся: семафоры, мьютексы, таймеры и т. д.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]