Читаем Полное руководство по Microsoft Windows XP полностью

Другими словами, специалисты Microsoft создали Windows XP в виде многоуровневой структуры, уровни которой представлены системными службами. Каждый уровень обеспечивает собственный тип поддержки и добавляет свои функции и возможности к общей совокупности функций. Организация взаимодействия между уровнями оказывается весьма важным вопросом, поскольку она определяет возможности системы в целом. Работа с уровнями в определенном смысле напоминает систему заказа по фирменному каталогу, когда человек заказывает из дома (пользовательский режим системы) те или иные продукты. Для заказа ему приходится направлять запрос по телефону, а центр поддержки каталога (обслуживание в базовом режиме ядра) отвечает на этот запрос. Пользователь должен подготавливать свой запрос весьма тщательно, поскольку в противном случае он рискует получить не тот продукт или не получить ничего. Каталог представляет собой набор инструкций для заказа и содержит коды, цвета, размеры и другие атрибуты продуктов, которые следует точно указать. Центр поддержки каталога также должен обеспечить правильные прием и передачу данных компаниям, осуществляющим выпуск и доставку продуктов, чтобы выполнить заказ пользователя. Именно на этом принципе основано взаимодействие между различными системными уровнями. Каталог, используемый Windows XP, обычно называют каталогом API (Win32 API). В приводящихся ниже разделах дается описание основных компонентов операционной системы (см. рис. 11.4).

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

Системная виртуальная машина (System Virtual Machine – System VM) – компонент Windows XP, состоящий из трех основных элементов: 32-разрядных приложений Windows, оболочки и 16-разрядных приложений Windows. На практике компонент System VM обеспечивает исполнение большей части функций, инициируемых пользователями Windows XP. В его отсутствие приложения просто не будут работать. (Я в данном случае не имею в виду приложения MS DOS.) Причина состоит в том, что Windows XP использует совершенно иной набор функций для исполнения этих приложений. Более того, они обычно запускаются в другом режиме работы процессора.

Когда речь заходит о поддержке 16-разрядных приложений, различия между Windows XP и Windows 9х становятся весьма заметными. Так, Windows 9х все еще предусматривает применение большого числа 16-разрядных приложений, а Windows XP предпочитает работу с 32-разрядными кодовыми последовательностями. Если Windows 9х допускает совместное использование области памяти 16-разрядными приложениями, то Windows XP исполняет каждое 16-разрядное приложение в виде независимого процесса. Следовательно, в случае отказа одного из приложений другие приложения, активизированные той же компьютерной системой, скорее всего, не пострадают.

Подобные предосторожности приводят к тому, что Windows XP обеспечивает более эффективный режим защиты для 16-разрядных приложений. На практике нечасто приходится сталкиваться с отказами приложений, но даже при возникновении подобных отказов весьма маловероятно, что они окажут катастрофическое воздействие на систему. Один из негативных моментов, являющихся следствием такого рода защиты, связан с ограничением возможностей применения 16-разрядных приложений в Windows XP. Особенно это касается тех программ, которые не стопроцентно совместимы с другими приложениями операционной системы.

Теоретически компонент System VM призван поддерживать другие компоненты уровня Windows API. Однако, поскольку они связаны с использованием иных служб, я расскажу о них в другом разделе. (Нет необходимости повторять, что различия между клиентом или системной виртуальной машиной и сервером или компонентами на уровне Windows API архитектуры Windows XP в данном случае более заметны, чем в Windows 9х.) Даже если приложения используют интерфейс API, а вы взаимодействуете с ними, вам не нужно задумываться об интерфейсе API до тех пор, пока не потребуется создать приложение. Я всегда рассматриваю интерфейс API в качестве специальной программной службы, а не в качестве объекта, о котором приходится постоянно волноваться. Ниже приводится более детальный перечень составляющих компонента System VM:

32-разрядные приложения операционной системы Windows. Windows XP имеет возможность использовать разнообразные 32-разрядные программные приложения, часть из которых не работает в Windows 9х, поскольку они опираются на применение каталога Win32 (являющегося разделом интерфейса Windows API). 32-разрядные приложения обычно характеризуются более гибким поведением в многозадачной среде, чем их 16-разрядные аналоги. Кроме того, 32-разрядные приложения поддерживают новые функции Windows XP, например длинные имена файлов, чего 16-разрядные приложения в большинстве случаев не допускают. 32-разрядные приложения также обеспечивают поддержку двух весьма важных функций. Первая использует режим вытесняющей многозадачности. В частности, она позволяет переключаться между задачами более естественно и использовать интервалы ожидания для корректной инициализации. Вторая функция предполагает активное применение плоского адресного пространства памяти, что позволяет более гибко выделять приложениям необходимые объемы памяти, улучшая результаты выполнения приложений. Кроме того, те приложения, которые ориентируются на работу с подобным адресным пространством, характеризуются более высокими показателями быстродействия, поскольку они практически не тратят время на взаимодействие с сегментированным адресным пространством, использовавшимся ранее специалистами фирмы Intel;

оболочка (Shell). В отличие от предшествующих версий ОС Windows, Windows XP поставляется только с одной пользовательской оболочкой, роль которой играет программа Проводник. Эта программа обеспечивает возможность работы с 32-разрядными кодовыми последовательностями и взаимодействие с новым интерфейсом (конечно, при необходимости легко перейти к применению интерфейса Windows 2000);

16-разрядные приложения операционной системы Windows. Специалисты Microsoft провели в рамках Windows XP многочисленные изменения 16-разрядных приложений и средств их поддержки. В результате эти приложения теперь почти не создают проблем, поскольку исполняются независимым образом (фактически в ходе отдельного сеанса работы). Кроме того, режим совместимости обеспечивает эффективную поддержку каждого сеанса и выделяет необходимые приложению ресурсы. Таким образом, для приложения формируется рабочая среда, позволяющая задействовать его наиболее эффективно.

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT