Системная виртуальная машина
Системная виртуальная машина (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-разрядных приложений и средств их поддержки. В результате эти приложения теперь почти не создают проблем, поскольку исполняются независимым образом (фактически в ходе отдельного сеанса работы). Кроме того, режим совместимости обеспечивает эффективную поддержку каждого сеанса и выделяет необходимые приложению ресурсы. Таким образом, для приложения формируется рабочая среда, позволяющая задействовать его наиболее эффективно.
...
Читать дальше
Конец ознакомительного отрывка
Купить книгу