
- •Операционные системы. Часть 2 Учебное пособие
- •Содержание
- •6.1.1. Общие понятия 58
- •4.Память
- •4.1.Управление оперативной памятью
- •4.1.1.Виртуальная и физическая память
- •4.1.2.Схема управления памятью
- •4.1.3.Управление памятью в однозадачной системе
- •4.1.4.Управление памятью в многозадачной системе
- •4.1.5.Подкачка процессов целиком
- •4.1.6.Страничная подкачка
- •4.1.7.Управление виртуальной памятью
- •4.2.Носители памяти для долговременного хранения данных
- •4.2.1.Накопители на жестких дисках
- •4.2.2.Оптические диски
- •4.2.3.Голографические диски
- •4.2.4.Флэш-память
- •4.2.5.Перспективные носители информации
- •Контрольные вопросы
- •5.Разработка надстроек к операционным системам
- •5.1.Общие понятия
- •5.2.Многозадачная оболочка с синхронной заменой контекста
- •5.3.Многозадачная система с принудительной заменой контекста
- •5.4.Дополнения к асинхронной надстройке
- •Контрольные вопросы
- •6.Краткий обзор операционных систем
- •6.1. Операционная система unix
- •6.1.1.Общие понятия
- •6.1.2. Структура unix
- •6.2.Операционные системы реального времени
- •6.2.1.Понятие об операционной системе qnx
- •6.2.2.Введение в ос VX Works
- •6.3.Особенности ос для универсальных многопроцессорных систем
- •6.3.1.Операционная система helios
- •6.4.Операционная система Windows 2000
- •Варианты выпуска Windows 2000
- •Контрольные вопросы
- •Литература
- •Предметный указатель
Варианты выпуска 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), из названия которых вытекает их назначение. Возможно, некоторые пояснения необходимо сделать относительно диспетчера кэш-памяти. Этот диспетчер сохраняет в ОП блоки памяти дисков, которые были считаны последними. При операциях считывания информации с диска операционная система обращается в первую очередь к диспетчеру кэш-памяти. Если нужный блок в данный момент находится в ведение этого диспетчера, то информация считывается непосредственно из оперативной памяти. В противном случае идет обращение к диску посредством конкретной файловой системы.