Windows 95 и будущее семейства Windows
Windows 95 представляет собой
замечательный пример
эволюционного развития
архитектуры Windows. Система имеет
новый интерфейс, который можно
легко настраивать и с помощью
которого можно легко
путешествовать по ресурсам
системы. Эта ОС выполняет 16- и 32-х
разрядные приложения, поддерживает
технологию "plug-and-play" и
содержит встроенные средства для
сетевой работы. У многих
обозревателей нет сомнений в том,
что эта система улучшит жизнь
многим миллионам пользователей
персональных компьютеров.
Несмотря на все преимущества, Windows
95 - это по-прежнему вариация на тему
Windows 3.1. Для большинства
пользователей это означает, что
заложенные в ней архитектурные
анахронизмы могут приводить к
неожиданному краху системы. Даже по
мнению специалистов Microsoft, для
важных бизнес-приложений более
предпочтительным является
использование Windows NT, которая
обеспечивает защиту данных и
устойчивость к некорректной работе
приложений.
Windows 95 обладает некоторыми
уникальными возможностями.
Вероятно, она обеспечивает
наилучшую среди всех операционных
систем поддержку мобильных
пользователей, спектр ее
коммуникационных средств
чрезвычайно широк и гибок, она
наконец предоставляет решение
застарелой проблемы недостатка
памяти для выполнения приложений.
Именно для мобильных
пользователей, работающих на
портативных компьютерах с шиной
PCMCIA, наилучшим образом проявляет
себя технология "plug-and-play", хотя
для персональных компьютеров с
шиной ISA могут возникать некоторые
проблемы. Windows 95 автоматически
отслеживает подключение
портативного компьютера к рабочей
станции сети и загружает или
выгружает соответствующие
драйверы. Например, когда
пользователь приезжает в офис и
подключает свой ноутбук к своей же
рабочей станции, то Windows 95 узнает,
что она присоединена теперь к
внешнему монитору и начинает
работать с графикой более высокого
разрешения.
Windows 95 также является отличным
коммуникационным средством: она
поддерживает практически все
сетевые протоколы и адаптеры. Для
коммуникаций, использующих
коммутируемые телефонные линии,
Windows 95 предлагает использовать
средства Microsoft Exchange. Встроенный
клиент Microsoft Exchange имеет подсистемы
для пересылки факсов, сообщений
электронной почты и сети Microsoft Network,
которая занимается рассылкой
программного обеспечения и
технической поддержкой
пользователей в режиме on-line.
Наконец, переделка средств
управления оперативной памятью
позволит пользователям загрузить
больше приложений прежде, чем
система выдаст сообщение о
нехватке памяти. Например, в Windows 3.1
обычно можно загрузить от 3 до 5
приложений, а для Windows 95 эти границы
составляют 6 - 12 приложений.
Стабильность Windows 95, развитые
средства сетевой работы и новый
удобный пользовательский
интерфейс представляют собой
безусловные преимущества по
сравнению с DOS или Windows 3.1, но все же
не дотягивают до того уровня, к
которому привыкли пользователи
таких ОС, как OpenVMS, UNIX или Windows NT.
Одной из проблем Windows 3.1 является
способность приложения вызвать
крах системы, вынудив сделать
перезагрузку. В Windows 95 осталось
много старого кода, с помощью
которого осуществляется
выполнение приложений. Например,
такие критические компоненты
операционной системы, как USER и GDI,
которые соответственно
обеспечивают управление окнами и
предоставляют средства
графического интерфейса, являются
по-прежнему 16-разрядными и работают
в том же адресном пространстве, что
и 16-разрядные приложения. Поэтому
16-разрядное приложение, содержащее
ошибки, может потенциально
"подвесить" виртуальную
машину, на которой работают
подсистемы USER и GDI, или, что еще хуже,
заставить USER или GDI неверно
работать, что может привести к
краху всей ОС. Даже 32-разрядные
приложения могут вызвать останов
системы. Большая часть нижней
памяти размером в 1 Мбайт,
принадлежащая адресному
пространству системного кода Windows 95
(то есть системной виртуальной
машине System VM), открыта для операций
приложения Win32.
Многозадачность - это еще одно
потенциально слабое место. Windows 95
пересылает все вызовы USER API через
16-разрядную системную виртуальную
машину System VM, которая размещается
там же , где и выполняемое
16-разрядное приложение. Если
16-разрядное приложение
"подвешивает" машину System VM,
отказываясь обрабатывать
сообщение (встречающийся чаще
всего тип ошибки в существующих
приложениях Windows), то все остальные
процессы приостанавливаются. Пока
пользователь не завершит в
принудительном порядке зависшее
16-разрядное приложение (в Windows 95
есть хорошее средство для
выполнения этой операции) и тем
самым не освободит машину System VM,
другие выполняемые программы, даже
32-разрядные, будут заблокированы.
Рисунки 8.4, 8.5 и 8.6 дают возможность
сравнить архитектурные решения,
положенные в основу операционных
систем Windows 3.1, Windows 95 и Windows NT.
Рис. 8.4. Архитектура ОС
Windows 3.1
В состав операционной системы
Windows 3.1 (рис 8.4) входит системная
виртуальная машина System VM, внутри
которой размещаются все
16-разрядные приложения Win16, а также
код и данные системных DLL, которые
обеспечивают выполнение сервисных
функций ОС. Приложения Win16
выполняются в общем адресном
пространстве внутри системной
виртуальной машины. Программы Win16
выполняются в режиме невытесняющей
многозадачности. Системные
библиотеки USER, GDI и KERNEL
предоставляют сервисные функции
операционной системы приложениям и
отображаются в адресное
пространство, совместно
используемое приложениями Win16.
Приложения DOS запускаются на
отдельных виртуальных DOS-машинах
(VDM), работающих в режиме
вытесняющей многозадачности.
Диспетчер устанавливаемых
файловых систем (IFS) и драйвер
32-разрядного доступа к файлам
(только в Windows for Workgroups 3.11)
осуществляют большинство файловых
операций в защищенном режиме, что
ускоряет доступ к файлам. Драйвер
32-разрядного доступа к диску
управляет обменом с диском на
физическом уровне.
Рис. 8.5. Архитектура ОС
Windows 95
Подсистема управления
виртуальными машинами (VM Manager, VMM)
предоставляет сервисные функции
низкого уровня, такие как
распределение процессорного
времени между VM и управление
виртуальной памятью. Сюда также
относятся драйверы виртуальных
устройств (VxD) для аппаратуры.
Архитектура Windows 95 (рисунок 8.5)
представляет собой немного
улучшенную версию архитектуры Windows
3.1. Внутри системной VM выполняются
приложения Win16 и Win32. Большая часть
кода операционной системы и данных
также размещается здесь.
Приложения Win32 работают на основе
алгоритма вытесняющей
многозадачности в отдельных
адресных пространствах. Все
приложения Win16 выполняются как
единый процесс в общем адресном
пространстве на основе алгоритма
невытесняющей многозадачности.
Библиотеки динамической
компоновки USER, USER32, GDI, GDI32, KERNEL и
KERNEL32, которые предоставляют
системные сервисы всем
приложениям, загружаются в
системную VM и отображаются в
адресные пространства каждого
прикладного процесса. Это повышает
производительность за счет
устранения затрат времени на
переходы между кольцами защиты при
вызове системных функций. Однако с
другой стороны, это также ставит
под угрозу целостность системы,
открывая доступ к частям ОС для
прикладных программ. На
виртуальных DOS-машинах (VDM)
выполняются DOS-программы. Они
работают в режиме вытесняющей
многозадачности.
Рис. 8.6. Архитектура ОС
Windows NT
Подсистема управления файлами
Windows 95 работает в нулевом кольце
защиты и обрабатывает все вызовы,
связанные с вводом-выводом.
Большинство вызовов
обрабатывается в защищенном
режиме, но некоторые по-прежнему
приводят к переключению в режим
Virtual 86, и обрабатываются в реальном
режиме DOS. Диспетчер
устанавливаемых файловых систем IFS
передает вызовы файлового
ввода-вывода драйверу
соответствующей файловой системы.
Драйвер файловой системы VFAT
реализует собственную VFAT-систему
Windows 95, которая похожа на файловую
систему FAT с добавленными
средствами обработки длинных имен
файлов. Драйвер CDFS заменяет MSCDEX и
управляет операциями по вводу
данных с накопителей CD ROM.
Редиректор, выполненный в виде
драйвера файловой системы,
обеспечивает обращение к сетевым
накопителям. Можно устанавливать
дополнительные драйверы файловых
систем. Подсистема блочного
ввода-вывода выполняет
соответствующие операции на
физическом уровне в ответ на
запросы драйверов файловых систем.
Подсистема управления
виртуальными машинами (VMM)
предоставляет низкоуровневые
сервисные функции, например,
планирование нитей и управление
памятью. Сюда также относятся
драйверы виртуальных устройств (VxD)
для аппаратуры.
На рисунке 8.6 представлена уже
знакомая структура Windows NT, в которой
каждое из приложений обращается к
сервисным функциям (серверам)
косвенно, через вызовы локальных
процедур (LPC), реализованных в
диспетчере LPC, являющемся частью NT
Executive и работающем в
привилегированном режиме.
Приложения Win32 исполняются как
отдельные многонитевые процессы.
Программы Win16 могут запускаться как
однонитевые процессы на общей
виртуальной машине, или на
собственной виртуальной машине,
что обеспечивает им большую
степень защищенности от других
программ Win16. Приложения DOS
выполняются как отдельные процессы
на отдельных виртуальных DOS-машинах
(VDM). Среда машины в рамках VDM
конструируется таким образом,
чтобы как можно более точно
имитировать среду реального режима
DOS. Подсистемы OS/2 и POSIX обеспечивают
работу соответствующих прикладных
программ в текстовом режиме.
Windows NT Executive предоставляет
сервисные функции ОС, необходимые
для подсистем пользовательского
режима и реализует внутренние
механизмы системы, такие, например,
как планирование нитей и
управление памятью. Слой системных
сервисных функций служит
интерфейсом между программами
пользовательского режима и NT Executive.
Рис. 8.7. Структура
сетевых средств Windows 95
Ядро обрабатывает прерывания и
исключительные ситуации,
переключает нити, синхронизирует
процессоры в многопроцессорных
системах и выполняет другие
низкоуровневые функции,
используемые при работе NT Executive.
На рисунке 8.7 представлена
организация сетевых средств Windows 95,
очень напоминающая аналогичную
структуру сетевых средств Windows NT.
Это и не удивительно - обе системы
поддерживают один и тот же
программный интерфейс WNet, с помощью
которого приложения и системные
утилиты получают доступ к
просмотру, отображению и
потреблению сетевых ресурсов.
Как видно из следующей таблицы,
разбиение версий Windows на два
семейства - NT и 95 - явление
временное. Оно вызвано скорее не
стратегическими соображениями, а
тактикой борьбы за пользователей в
условиях, когда мощность большей
части персональных компьютеров,
установленных в настоящее время у
пользователей, оказалась явно
недостаточной для эффективной
работы Windows NT. Ввиду угрозы
перетекания конечных
пользователей на более компактную
и менее ресурсоемкую (по сравнению
с Windows NT) OS/2 Warp Connect компания Microsoft и
выпустила Windows 95, как некоторую
временную ОС с ограниченным сроком
годности - не более 5 лет, как это
видно из таблицы. И хотя Microsoft
планирует выпустить еще 2 версии,
улучшающие свойства Windows 95, наличие
некоторых общих свойств у Windows NT и
Windows 95, а также очевидные слабости
Windows 95, говорят о том, что
долговременная стратегия Microsoft
связана с линией Windows NT, многие из
новых свойств которой будут
отрабатываться и в версиях линии
Windows 95 (как сейчас это произошло с
пользовательским интерфейсом и
некоторыми системными утилитами
типа клиента Microsoft Exchange).
Таблица. 8.1.
Существующие и будущие
версии операционных систем
компании Microsoft
|
Корпоративные
пользователи
(работающие на достаточных
аппаратных ресурсах) |
Домашние
пользователи
(работающие на ограниченных
аппаратных ресурсах) |
1994 |
Windows 3.1
Windows for Workgroups 3.11 |
Windows 3.1 |
1995 |
Windows NT 3.51
Работа на платформе PowerPC
Общие органы управления и
панели диалога с Windows 95 |
Windows 95
Новый пользовательский
интерфейс
Вытесняющая многозадачность
Многонитевость
Защита памяти
Поддержка службы Microsoft Network
Win32 API |
1996 |
Windows NT 3.52
Поддержка службы Microsoft Network
Пользовательский интерфейс
Windows 95 |
Nashville
Незначительно улучшенная
версия
Windows 95 |
1997- 1998 |
Windows NT 4.0
Объектно-ориентированная
архитектура
Объектно-ориентированная
файловая система
Сетевые средства OLE
Служба каталогов
Встроенные сетевые средства ATM
Аутентификация с помощью
службы Kerberos |
Memphis
Последняя основная версия
обычной Windows |
1999-2000 |
Windows NT
Единая, унифицированная ОС для
всех пользователей |
Предыдущая
глава || Оглавление
|| Следующая глава
|