Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по ОС.doc
Скачиваний:
38
Добавлен:
21.08.2019
Размер:
574.46 Кб
Скачать

Раздел 3 Операционная система Windows

Тема 8 Архитектура Windows 2000

Изучая новую операционную систему, необходимо иметь некоторое представление о ее компонентах.

Microsoft нуждалась в новой операционной системе, которая позволила бы корпорации выйти на рынок ОС для предприятий. Существовавшая в то время «Windows для рабочих групп» (Windows for Workgroups), конечно же, не подходила для этих целей. Первой попыткой Microsoft была операционная система OS/2, разработанная совместно с корпорацией IBM. OS/2 действительно была на порядок лучше своих предшественниц, но широкого признания у пользователей не получила. К тому же она не обладала целым рядом возможностей, которые Microsoft считала необходимыми для операционной системы корпоративного уровня — Windows NT. Эта система должна была обладать следующими характеристиками:

  • надежность и отказоустойчивость системы корпоративного уровня;

  • подлинная многозадачность и многопроцессорная обработка;

  • повышенная производительность;

  • повышенная безопасность (позднее — безопасность по классу С2).

До версии 3.51 Microsoft Windows NT (теперь — Windows 2000) не соответствовала требованиям производительности и надежности и не была признана на рынке. Однако, начиная с этой версии, к Windows NT/2000 приходит популярность. Ее интерфейс был по-прежнему основан на диспетчере программ (Program Manager). Последняя версия — Windows 2000 Professional — имеет интерфейс, во многом подобный интерфейсу Windows 95/98 с несколькими незначительными (но важными) отличиями. Windows 95/98 и Windows 2000 — это совершенно разные операционные системы, имеющие лишь похожий внешний вид и использующие некоторые общие интерфейсы программирования (application programming interface, API).

Windows 2000 — чрезвычайно сложная ОС.

Общее представление о Windows 2000

Прежде чем начать обсуждение отдельных компонентов архитектуры Windows, следует обратить внимание на «кольца» защиты, реализованные в процессорах 80386 (и более новых). В схеме защиты Intel предусмотрены четыре кольца защиты, но большинство операционных систем использует только два (иногда три) из них. Внутреннее кольцо защиты имеет номер 0. В нем работает сама операционная система. Самое внешнее кольцо — кольцо 3. Здесь работают приложения. Иногда операционные системы предоставляют драйверам устройств более полный доступ к некоторым своим возможностям, чем приложениям, выполняя эти драйверы в кольце 1 или 2. Windows не идет на такие уступки — драйверы устройств работают либо в кольце 0, либо в кольце 3, в зависимости от их предназначения.

Windows использует кольца защиты для гарантии, что только компоненты операционной системы могут обращаться к внутренним механизмам Windows; другими словами, приложение не может изменить какие-либо параметры, способные привести к отказу всей системы. Например, Windows сохраняет за собой право распределять память из глобального пула, поэтому средства для выполнения этой задачи находятся в кольце 0. С другой стороны, приложения должны иметь доступ к выделенной им памяти. По этой причине Windows присваивает локальной памяти значение защиты 3.

Каждое кольцо можно рассматривать, как пограничную зону. Чтобы перейти ее, нужно знать пароль. Windows предоставляет такой пароль только тем приложениям, которым она может доверять, всем остальным придется остаться снаружи. Если приложение пытается обойти защиту, процессор порождает исключение. Исключение — это своего рода сигнал тревоги. Оно вызывает обработчики исключений Windows к приложению. После чего Windows спокойно прекращает работу такого приложения. Конечно, перед этим она выдает уведомление пользователю.

Приложения и драйверы устройств, работающие в кольце 3 (режим пользователя), очень ограничены в доступе ко всему, что не относится к их ресурсам. В действительности Windows ограничивает до определенной степени даже эти возможности. Некоторые операции, которые могут выполнять приложения DOS, например непосредственная работа с видеопамятью, здесь не допускаются. Причина проста: видеопамять — общий ресурс. Если какому-либо другому приложению может потребоваться общий доступ к ресурсу, можно быть уверенным, что ваше приложение не сможет получить прямой доступ к нему.

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

Архитектура ОС

Windows 2000 состоит из нескольких основных элементов. Каждый элемент управляет своей частью среды Windows. Например, уровень Windows API позволяет приложениям работать с внутренними подсистемами такими, как система управления файлами. Создать приложение Windows, не использующее уровень API, нельзя.

Коротко говоря, Windows 2000 организована в виде нескольких уровней служб операционной системы. Каждый уровень предназначен для выполнения определенных задач и добавляет в операционную систему свои возможности. Взаимодействие между уровнями имеет большое значение для функционирования системы в целом. Это можно сравнить с заказом товаров по каталогу. Покупатель находится дома, у телефонного аппарата (служба режима пользователя). Он звонит по телефону, чтобы заказать нужный ему товар. На звонок отвечает центр обработки заказов (служба режима ядра). Покупателю нужно быть очень точным в своем запросе, иначе он получит не тот товар, который ему нужен, или вообще ничего не получит. Каталог — это опубликованный набор инструкций по заказу товара. Он содержит коды товара, цвета, размеры и варианты комплектации. Чтобы получить именно то, что нужно, покупатель должен указать все эти атрибуты. И, наконец, чтобы заказ был выполнен успешно, центр обработки заказов должен правильно передать эту информацию производителю и компании, занимающейся доставкой. Точно так же осуществляется и взаимодействие между уровнями. Каталог, который обычно использует наша операционная система Windows 2000, называется набором API (Win32 API).