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

Тема 14 Основные компоненты Windows 2000

Системная виртуальная машина

Компонент системная виртуальная машина (System Virtual Machine, VM) Windows 2000 содержит четыре основных элемента: 32-разрядные Windows-приложения, оболочку, поддержку приложений POSIX и поддержку приложений OS/2. В сущности, системная виртуальная машина обеспечивает выполнение большей части пользовательских операций в Windows 2000. Без нее нельзя запустить ни одно приложение.

Для поддержки OS/2 и POSIX в Windows 2000следует обратить внимание на то, что существуют клиентская часть этой поддержки в области системной виртуальной машины и серверная часть на уровне Windows API. Windows 2000 применяет для управления приложениями технологию «клиент-сервер», что позволяет ОС быстро подстраиваться под приложения, предназначенные для других операционных систем.

Предупреждение. Хотя Windows 2000 и позволяет запускать одновременно приложения для разных операционных систем, совместное использование данных при этом невозможно.

Когда речь заходит о поддержке 16-разрядных приложений Windows, становится очевидным еще одно различие между Windows 2000 и Windows 95/98. В отличие от предыдущей версии, некоторые участки которой по-прежнему содержат довольно большой объем 16-разрядного кода для обеспечения совместимости, Windows 2000 всегда использует только 32-разрядный код. Это означает, что Windows 2000 может передавать 16-разрядные Windows-приложения в ведение виртуальных машин MS-DOS. Кроме того, в отличие от Windows 95/98, которые используют общую область памяти для всех 16-разрядных приложений, Windows 2000 запускает каждое 16-разрядное приложение в отдельном процессе. Использование отдельного процесса для каждого приложения позволяет значительно снизить риск воздействия одного неправильно работающего приложения на функционирование других приложений, выполняющихся на этом же компьютере.

Основным, с точки зрения пользователя, является то, что Windows 2000 обеспечивает более высокий уровень защиты 16-разрядных приложений Windows, чем предшествующие ей операционные системы. Вы не будете сталкиваться с множеством сбоев, вызванных приложениями. Даже если такой сбой возникнет, вероятность сбоя в работе самой операционной системы крайне мала. Следствие такой защиты — менее терпимое отношение Windows 2000 к старым 16-разрядным Windows-приложениям, которые нарушают правила совместной работы с другими приложениями.

Теоретически, системная виртуальная машина обеспечивает также поддержку различных компонентов уровня Windows API. Приложения используют API, а пользователи взаимодействуют с приложениями, но вам вообще не надо ничего знать об API, пока дело не доходит до разработки собственных приложений. Можно рассматривать API, как службу, необходимую для программистов, а не как что-то, о чем должен заботиться пользователь.

Совместимость

В следующем списке более подробно описаны компоненты системной виртуальной машины.

  • 32-разрядные Windows-приложения. Windows 2000 поддерживает огромное число полнофункциональных 32-разрядных приложений, некоторые из которых не будут работать под Windows 95/98, так как они используют спецификацию Win32 (подмножество API Windows 2000). 32-разрядные приложения, как правило, лучше поддерживают многозадачность, чем их 16-разрядные аналоги. Кроме того, многие 32-разрядные приложения поддерживают такие новые возможности Windows, как длинные имена файлов, в то время как большинство 16-разрядных приложений не имеет такой поддержки. Также 32-разрядные приложения обладают двумя допол-нительными возможностями. Главная из них — использование приоритетной, а не кооперативной многозадачности. Благодаря этому Вы можете спокойно работать с данными, не отвлекаясь на саму систему. Это компьютер подождет вас, если нужно, а вам его ждать больше не придется. Вторая возможность — использование линейного (плоского) адресного пространства памяти. Оно позволяет приложениям лучше использовать выделяемую им память. Кроме того, приложения, использующие линейное адресное пространство, работают немного быстрее, так как они не тратят время на работу с системой сегментации памяти, используемой Intel.

  • Оболочка. В отличие от предыдущих версий ОС, Windows 2000 имеет только одну пользовательскую оболочку — Проводник (Explorer). Это полноценное 32-разрядное приложение. Оно имеет новый интерфейс. Проводник объединяет в себе все функции, которые раньше можно было найти в диспетчере программ (Program Manager), диспетчере печати (Print Manager) и диспетчере файлов (File Manager).

  • Приложение POSIX. POSIX — это рекомендованная разновидность UNIX, которую можно переносить на различные платформы. Она была представлена в 1988 году как стандарт IEЕЕ 1003.1-1988. Нынешний интерфейс POSIX поддерживает только приложения символьного режима.

  • Приложение OS/2. В нынешней версии Windows 2000 можно запускать лишь символьные программы, предназначенные для OS/2 версии 1.0. Вы не сможете запустить ни одну из программ, рассчитанных на работу с диспетчером программ (Program Manager).

Базовая система

Компонент «Базовая система» Windows 2000 содержит все внутренние, или низкоуровневые, службы операционной системы. Этот компонент действительно является ядром Windows 2000 — частью, необходимой для того, чтобы Windows могла функционировать. Как пользователь Вы никогда не будете работать напрямую с базовой системой. На самом деле, лишь очень немногие программисты работают непосредственно с этой «скрытой» частью Windows. Рассмотрим составные части базовой системы.

  • Подсистема управления файлами. В сущности, данная часть базовой системы предоставляет интерфейс ко всем блочным устройствам — жестким дискам, дисководам для компакт-дисков, дисков DVD и дискет — подключенным к вашему компьютеру. Неважно, как именно осуществляется это подключение — физически или по сети. Главное, чтобы компьютер имел доступ к этому устройству. Подсистема управления файлами Windows 2000 использует также аппаратно-зависимый уровень (hardware abstraction layer, HAL), позволяющий ей работать на компьютерах других типов (персональных компьютерах с процессорами, отличными от процессоров Intel семейства 80x86).

  • Сетевая подсистема. Windows для рабочих групп была первой версией Windows, предназначенной для удовлетворения потребностей рабочих групп в совместной работе по сети. Средства для работы с сетью были частью этой операционной системы, а не дополнительным продуктом стороннего разработчика. Windows 2000 расширяет эти средства. Теперь Вы можете создавать не только одноранговые сети Microsoft — Windows 2000 предоставляет обработчики защищенного режима для большинства основных продуктов, предназначенных для работы с локальными сетями.

  • Службы операционной системы. Эта часть операционной системы отвечает за такие средства, как аппаратные профили. Она также обслуживает различные запросы пользователей, и операционной системы. Например, всякий раз, когда пользователь запрашивает у Windows 2000 текущее время, он запрашивает службу, расположенную в этом компоненте операционной системы. В отличие от Windows NT, Windows 2000 предоставляет такой же уровень пользовательских служб, как и Windows 95/98. Эта версия имеет достаточно полную поддержку технологии Plug and Play, что является замечательным усовершенствованием, по сравнению с Windows NT. Windows 2000 также более устойчиво, по сравнению с Windows 95/98, работает с аппаратными профилями, что позволяет легко переключаться между различными конфигурациями оборудования. Если выполняются достаточно высокие требования Windows 2000 к оборудованию, Вы можете легко использовать ее как на настольных, так и на переносных компьютерах.

  • Диспетчер виртуальной машины. Это — компонент, который связывает все остальное в единое целое. Диспетчер виртуальной машины заведует расписанием задач, запускает и останавливает все приложения в системе, включая любые приложения DOS. Этот компонент операционной системы управляет также виртуальной памятью вашего компьютера. Конечно, вместо того чтобы общаться с этой частью системы напрямую, приложение создает запрос с помощью API Windows. Поскольку диспетчер виртуальной машины обрабатывает все операции по выделению памяти, он должен также выполнять функции сервера DPMI (DOS Protected Mode Interface — интерфейс DOS для защищенного режима) для DOS-приложений, работающих в защищенном режиме. Когда DOS-приложение выдает запрос на выделение ему памяти, оно на самом деле вызывает процедуры этого компонента Windows. Как и приложения Windows, DOS-приложения не могут получить прямой доступ к этой части системы. DOS-приложение использует для выполнения своего вызова API-расширителя DOS. И, наконец, диспетчер виртуальной машины отвечает за связь между задачами. Все это означает, что данная часть операционной системы обслуживает все DDE- и OLE-запросы.

  • Драйверы устройств. Windows никогда бы не знала, как работать с оборудованием, если бы не было драйверов устройств. Это специализированный код выступает в роли интерпретатора. Он получает запросы служб Windows и отправляет их аппаратно-зависимому уровню (HAL) в формате, который понятен HAL. Заметьте, что этот код отправляет запрос прямо на устройство, так как драйвер устройства Windows 2000 ничего не знает о типе вашего компьютера. Драйвер устройства считает, что он общается с устройством, но аппаратно-зависимый уровень перехватывает запрос, направленный на устройство. Windows 2000 обеспечивает поддержку драйверов WDM (Windows Driver Model — модель драйверов Windows). Это те же драйверы, которые используются в Windows 98 и более новых версиях.

  • Диспетчер объектов. Этот компонент Windows 2000 служит для создания и удаления объектов, а также для управления ими. Большинство из этих объектов представляет такие абстрактные ресурсы операционной систе-мы, как память, или такие физические ресурсы, как жесткие диски. Объект имеет свойства, события и методы. Свойство можно рассматривать как нечто, что может быть обнаружено органами чувств. Применение объектов позволяет Windows 2000 позволяет программистам легче управлять всеми многочисленными компонентами, которые и приводят в движение сложнейший механизм, называемый операционной системой. Каждый раз, когда требуется создать новый системный объект такой, как значок или диалоговое окно, Вы вызываете диспетчер объектов.

  • Монитор системных связей. Windows 2000 обладает возможностью, которую Вы не найдете в Windows 95/98, — защитой уровня С2, ограничивающей доступ к ресурсам компьютера на основе принципа need-to-know. Windows 2000 поддерживает новые стандарты безопасности такие, как Kerberos. Одна из задач монитора системных связей — отслеживать системные ресурсы. Благодаря этому один процесс или поток не может захватить все имеющиеся системные ресурсы, например память. По сути, этот модуль не позволяет операционной системе надолго терять управление. Приложения принуждаются к работе с операционной системой таким образом, что вычислительные ресурсы справедливо распределяются между всеми процессами и потоками. И, наконец, монитор системных связей собирает статистические сведения, которые администратор сети может использовать для наблюдения за производительностью системы.

  • Диспетчер процессов. Windows 2000 предоставляет также больший выбор режимов вычислений, чем Windows 95/98. Многопроцессорные среды требуют применения более сложных методов управления процессами. Диспетчер процессов создает, прерывает и осуществляет управление как процессами (приложениями), так и потоками выполнения внутри приложения. Он также позволяет ОС приостанавливать и перезапускать процессы и потоки по мере необходимости, чтобы обеспечить стабильность всей системы в целом. Как и монитор системных связей, диспетчер процессов собирает статистические данные, которые администратор сети может использовать для наблюдения за производительностью системы.