Microsoft наконец сообщает: Windows 95 больше не только бета-версия. Новая версия Windows содержит необходимые решения и компромиссы, как и полагается корпоративной системе.
В этом году марке Windows исполняется десять лет. Первые пять лет жизни преимущества этой системы были, скажем так, достаточно спорными, но появление в 1990 году версии 3.0 сделало Windows полноценным решением.
Прежние версии Windows обеспечивали приемлемую, хоть и не всегда эффективную, миграцию DOS-приложений. Windows 95 продолжает двигаться по этому пути, обеспечивая многопроцессность, многозадачность, работу 32-разрядных приложений. Упор на миграцию (впрочем, среди характеристик этой ОС еще много слов на букву "м") - ключ к успеху Windows.
По мнению LAN Magazine, начавшего испытания новой версии, эта базовая формула не изменилась. Windows 95, несмотря ни на что, хороший продукт. Однако это вовсе не революция в сфере программного обеспечения - по крайней мере, пока.
Если вы устанавливаете новый продукт как upgrade для уже существующей прежней версии, трудно отделаться от впечатления, что это полный и окончательный разрыв компании Microsoft с DOS. И в самом деле, система заставляет научиться работать с Windows 95 раньше, чем с MS-DOS. Сначала надо привыкнуть к особенностям экрана Windows 95. Но затем придется вновь вернуться в мир белых знаков ASCII на черном фоне - пока выполняются файлы config.sys, autoexec.bat и содержащиеся в них команды. Проще понять, что к чему, если Windows 95 устанавливается полностью на чистый диск, или, если у вас имеется склонность к авантюризму и вы переименуете файлы autoexec.bat и config.sys. При отсутствии этих файлов Windows 95 загружается сама по себе и позволяет созерцать мир без DOS.
DOS: В ГЛУБОКОМ ПОДПОЛЬЕ
Полное отсутствие DOS, однако, всего лишь иллюзия. Старые установки ПК продолжают тайную жизнь. Два системных файла, io.sys и msdos.sys, комбинируются теперь с winboot.sys. Просмотрите содержимое оперативной памяти, и вам станет очевидно, что эта комбинация, по сути дела, и есть сама MS-DOS.
Если вас интересуют взаимоотношения Windows 95 и DOS, почитайте книгу Эндрю Шульмана (Andrew Schulman) "Unauthorized Windows 95: A Developer"s Guide to Exploring the Foundations of Windows "Chicago", которая хорошо излагает эту сторону дела. Вывод Шульмана по поводу DOS состоит в том, что новая архитектура Windows удивительно напоминает соглашения уже существующих версий, особенно Windows for Workgroups.
Новая версия значительно преуспела по части удовлетворения потребностей сетевых администраторов, но ее истинная привлекательность кроется прежде всего в понятном интерфейсе (который тоже относится скорее к удачам, чем наоборот).
Чтобы посмотреть, какие изменения и новинки появились в новой версии, мы вначале должны выяснить, чем могут быть вызваны сбои в работе новой версии.
БЛИЖЕ К ЗЕМЛЕ
Один из ярлыков, навешенных компанией Microsoft на версию Windows 3.0 в 1990 году, представлял собой фразу "полностью виртуальная". Но что означало в этом контексте слово "виртуальная"?
Объяснение следует искать в архитектуре Intel. Процессоры 8086 and 8080 не делали того, что привычно для современных компьютеров - речь идет о защите операционной системы от ошибок в приложениях. Это "упущение" нельзя назвать просчетом разработчиков - оно было сделано в интересах повышения эффективности.
Типичным конфликтом ОС и приложений можно была ситуация, в которой программа пыталась записывать данные в неотведенные ей участки памяти. Если какой-либо из этих участков принадлежал ОС, неминуемо следовал крах. Во многих случаях трудно было установить, в каком месте программы содержится такая ошибка.
Эта проблема стала менее острой благодаря двум особенностям современного программирования, - во-первых, повсеместным использованием языка С, дающим программистам значительно более изощренные средства работы с памятью, и, во-вторых, применением в процессорах архитектуры 8086 схемы сегментирования памяти, позволяющей установить, что при работе программ следует избегать манипуляций с системными областями (расположенными по младшим адресам).
Intel решила означенную проблему, введя специальный защищенный режим в процессоре 80286, но это не спасло DOS от катастроф. Операции в защищенном режиме требуют знаний на системном уровне об адресации в памяти защищенного режима. По соображениям совместимости DOS, основанная на операциях вне защищенного режима (в основном режиме), осталась непереработанной. Тем не менее на рынке по-прежнему не было новых операционных систем для защищенного режима - более или менее этой задаче соответствовала, пожалуй, только OS/2.
Переключение между защищенным и основным режимами возможно, но весьма неэффективно. И, поскольку DOS, работая в основном режиме, получает полный контроль над портами ввода-вывода и прочим, одновременно можно выполнять не более одного приложения для основного режима. В процессоре 80386 (и всех последующих разработках семейства x86) защита системы от капризных приложений выражалась в форме "виртуального 8086" или V86-режима. С помощью V86 можно создавать адресное пространство, такое же, как и в основном режиме, можно устанавливать там нечто похожее на традиционные 16-разрядные регистры и благодаря этому выполнять традиционные программы DOS (так называемая виртуальная машина). Итак, с появлением V86 работе операционной системы уже ничто не могло повредить.
Кроме того, защищенный и виртуальный режимы можно было скомбинировать так, что одна программа в защищенном режиме могла оперировать многими окнами DOS из виртуального режима. Последний пример наиболее ярко демонстрирует насколько выросли возможности Windows с возникновением версии для процессора 386.
ЗА КУЛИСАМИ
Программа, контролирующая работу виртуальной машины Windows, входит в ядро системы и называется Менеджер Виртуальных Машин (Virtual Machine Manager, VMM). Когда вы запускаете Windows 3.11 из DOS, win.com переключается из основного режима в виртуальный, а затем вызывает VMM.
Как только VMM вызван, DOS, откуда была запущена Windows, больше не работает в основном режиме и не имеет полной свободы доступа в память, занятую другими программами. При применении V86 все системные вызовы по прерываниям - включая прерывания DOS, с помощью которых стартовала Windows - управляются через VMM.
Базовая архитектура VMM, характерная для Windows 3.x, осталась неизменной в Windows 95. Обращение по прерыванию - слишком важный процесс. По мнению теоретиков, это ахиллесова пята Windows. Правда, данный вывод базируется на утверждении, что вызов основного режима DOS плох сам по себе. Но в данном случае DOS как раз работает не в основном, а в виртуальном режиме.
И по сути вся проблема упирается не в DOS, а в DOS-драйверы устройств. Они загружаются с помощью config.sys и autoexec.bat, распределяя те же глобальные DOS-адреса в режиме V86, и каждый из них имеет полную свободу "молотить" по системной памяти внутри защищенного адресного пространства.
Стратегия Microsoft, состоящая в постепенном отказе от общесистемной виртуальной машины DOS, получила свою реализацию в версии, содержащей первые драйверы виртуальных устройств (VxD). С помощью этих драйверов пользователь может получить доступ к необходимым системным ресурсам и работать с ними без обращения к DOS.
Microsoft, к примеру, выпустила свою версию драйвера виртуальных устройств share, названную vshare. Эта программа замещала резидентную программу DOS share, освобождая часть памяти для последовательно создаваемых окон DOS.
Одна из наиболее важных особенностей Windows 95 заключается в том, что Microsoft передала уязвимые операции из ведения V86 в VxDs, где удалось реализовать многие преимущества. Важнейшая операция - доступ к файлам.
Доступ к файлам под Windows осуществляется теперь в 32-разрядных кодах через так называемую VFAT (Virtual File Allocation Table). Компания также создала группу функций VxD под названием Installable File System (IFS). IFS позволяет давать очень длинные имена файлам и каталогам.
В принципе, Windows for Workgroups имела возможность 32-битного файлового доступа, но эта операция была скрыта в маленьком диалоговом окне контрольной панели. В Windows 95 этот файловый доступ - основа всего. С ним связана масса других важных функций, в том числе SmartDrive, файловая система CD-ROM, драйверы NIC и стеки транспортных протоколов, утилита сравнения файлов, DOS-драйвер Share, драйверы диска, и функция сжатия диска.
Существует одна сложность в защите системных кодов, которая связана с "кольцами" доступа процессора 80386. Имеется четыре таких кольца, от нулевого уровня, на котором возможны любые операции с памятью, до третьего - тут доступ к памяти запрещен. Все существующие операционные системы, основанные на Intel, используют только кольца 0 и 3. VMM и VxD-драйверы работают в кольцах 0, но кое-что еще при этом работает в кольце 3. Это позволяет драйверам мигрировать из работающей в основном режиме DOS (если они загружены через config.sys) в защищенный режим; так VxD-драйверы способны делать то же, что и они. Требования Microsoft к драйверам сейчас кажутся столь сложными, что производители периферии должны быть готовы к любым неожиданностям.
ЕЩЕ НЕСКОЛЬКО СЛОВ
По мнению Microsoft, главное достоинство VxD - их 32-разрядность. Компания утверждает, к примеру, что при желании производительность 32-разрядных сетевых драйверов может превышать аналогичный показатель прежних драйверов Windows процентов на 200.
Само собой разумеется, дело тут не только в 32-разрядности драйверов. Четыре байта, кроме того, также считаются более "привычной валютой" при разработке приложений для Windows. Возможность обращаться к четырем гигабайтам адресного пространства позволяет приложениям осуществлять реальную многозадачность и создавать нити процессов. Кроме того, это создает такое удобство программирования, которое, сочетаясь с плоской адресацией, позволяет свести к минимуму ошибки в сложных приложениях.
Одновременная поддержка 32-разрядных приложений и так называемых приложений Win16 - два "кита" интерфейсов API в Windows 95. Но интересно, что это не полный API, поскольку каждый из них по отдельности не выполняет все вызовы. Более того, некоторые вызовы Win16 выполняются через существующие 16-разрядные библиотеки DLL, а другие - в 32-разрядных кодах. Это же относится к 32-разрядным приложениям; немало таких вызовов обращается к библиотекам Win16.
Выигрыш в производительности при использовании 32-разрядных вызовов в сочетании с 16-разрядными, конечно очевиден. Правда, теоретически первые должны быстрее выполняться в системе, не имеющей дела со вторыми. Microsoft долгое время "вручную" отлаживала 16-разрядные коды, эффективность и надежность которых проверена на практике. Это был наиболее легкий путь получить 32-разрядные приложения без наследственных ошибок. Но до тех пор, пока мы находимся в стадии миграций, нельзя быть уверенными в их стабильной работе. Приложения Win16 обращаются к тому же адресному пространству, что и в предыдущей версии. Пока ваши драйверы периферии не станут поддерживать VxD, их недостатки никуда не денутся. А если расторопные производители слепят неряшливые VxD, все прежние проблемы будут навещать вас и в прекрасном новом мире, построенном из 32-разрядных кирпичей.
Другая причина столь постепенного перехода к использованию 32-разрядных приложений связана с эффектом преимущественной работы динамических библиотек Win16. Win16 создавалась с целью добиться реальной многозадачности, и ее ядро построено так, что процесс должен быть завершен прежде, чем управление будет передано менеджеру задач. Таким образом, DLL не обладают свойством реентерабельности, и Windows 95 должна обеспечивать управление доступом к DLL. Это означает, что выполнение 16-разрядных приложений в сочетании с 32-разрядными будет заставлять первые дотягивать свою производительность до уровня вторых. Правда, бывают ситуации (их не так уж много), когда 16-разрядным приложениям явно не по пути с их 32-разрядными "старшими братьями". Работайте с последними, и вы получите неплохую многозадачную систему с распределением приоритетов.
УКРАШЕНИЯ
Прошло много времени с тех пор, как Windows в последний раз устраивали крупную ревизию. Теперь назрела необходимость очередной проверки, поскольку в Win 95 содержится немало нововведений. Это хорошая новость Для издателей книг и журналов это хорошая новость, поскольку статей с оценкой всевозможных плюсов и минусов будет предостаточно. А у разработчиков программ и сетевых администраторов по этому поводу возникают смешанные чувства. Впрочем, это не так плохо хотя бы потому, что все главные принципы нормальной жизни с Windows давно известны. Кроме того, большая часть изменений - чисто косметическая, другая же направлена на развитие прежних функций. Например, менеджер файлов превратился в Windows Explorer, в котором устранены многие недостатки старых приложений. Вероятно, лучшим дополнением к Explorer стала новая, нигде раньше не использовавшаяся разработка - функция быстрого просмотра файлов Quick View.
Достигнута возможность поддерживать длинные имена файлов и каталогов (набивший оскомину формат 8.3 уходит в прошлое), но это обошлось довольно дорого. Файловая система нижнего уровня практически не изменилась. Это хорошо с точки зрения совместимости, но зато FAT теперь переполнена данными.
NT и OS/2 используют файловые системы NT File System (NTFS) и High Performance File System (HPFS), которые превратились в "голову" и "плечи" DOS. Имена сохраняются с помощью нескольких входов FAT для каждого файла. Файл может иметь имя длиной до 255 символов. По сути дела, каждый файл имеет два имени - короткое и длинное. Последнее сохраняется в специальном совместимом с DOS поле данных.
Другие важные изменения не очень заметны на первый взгляд и в основном касаются использования системных регистров и OLE. Особого внимания удостоились пресловутые файлы. Ini. Хотя они предназначались для того, чтобы облегчить жизнь программиста, все получалось с точностью до наоборот. Теперь с ними, в принципе, можно попрощаться. Но и торопиться с этим, думается, не стоит. Скорее всего их закат будет долгим.
УЛУЧШЕНИЯ В УПРАВЛЕНИИ
Win 95, обладающая высокой жизнеспособностью, сулит новые перспективы в управлении сетями. Здесь есть автоматическое распознавание Plug and Play"s (PnP) и конфигурирование дополнительного аппаратного обеспечения, 32-разрядный драйвер сетевого адаптера и полностью измененный интерфейс сетевой конфигурации.
Здесь есть также удаленное управление конфигурацией и доступом с паролем. Процессы можно контролировать с консоли администратора. Основное достижение в данном случае - способность администратора устанав- ливать политику контроля пользователей и доступа к приложениям.
Как только рабочая станция получила доступ к сети, вся ее последующая "жизнь" контролируется с помощью расположенного на сервере файла policy.pol. Данный файл может быть использован для широкого спектра задач конфигурирования.
Кроме условий, описанных в policy.pol, администратор имеет доступ к пользовательским файлам через специальный редактор (registry editor), позволяющий устранять некоторые удаленные повреждения.
Рабочая станция Windows 95 может также наблюдаться через SNMP, используя интерфейс расширенного обработчика MIB поддержку MIB-2 (через стек TCP/IP). Кроме того, Microsoft обещала, вскоре после выхода на рынок Windows 95, выпустить средство Desktop Management Task Force (DMTF) агент Desktop Management Interface (DMI). Менеджеры сетей получат наибольшее удовольствие, включая новые узлы в сеть. Наличие специального адаптера plug and play сводит инсталляцию к подключению платы и перезагрузке системы.
Этот метод действует и тогда, когда система не работает с BIOS, поддерживающим режим plug and play, так как Windows определяет все не имеющие PnP-соглашений элементы путем сканирования имени производителя в коде адаптера. Сочетание BIOS без plug and play с поддерживающим это соглашение адаптером дает такие же результаты, как если бы речь шла о работе BIOS с PnP.
Тестируя PnP, я обнаружил, что конфигурация может быть испорчена в неразрешенных ситуациях, а устанавливаемая карта - до сих пор "открытая рана" большинства (если не всех) доступных сегодня микропроцессоров. Возня с "механикой", закручивание гаек вокруг материнской платы и прочие прелести свидетельствуют о том, что обычному неподготовленному пользователю путь в этом направлении еще долго будет заказан.
Как только сетевой адаптер успешно установлен, использование Windows клиентом сети значительно облегчается. Все компоненты конфигурируются с одной панели сетевого управления и новый клиент устанавливает связь с IPX/SPX. Windows 95 поможет вам стать клиентом типичной корпоративной LAN и предоставит управление с помощью серверов, поддержку удаленного доступа, встраивание в очереди принтера сервера NetWare Пользователи NetWare 4.x могли заметить, что Microsoft не обеспечивает поддержку NetWare Directory Service (NDS). Чтобы найти серверы 4.x, пользователям-клиентам Windows 95 нужны связующие эмуляторы к этим серверам. Microsoft утверждает, что в ближайшее время планируется выпустить клиентскую версию NDS. И вот тогда-то мы посмотрим, какие препятствия ставит перед нами отсутствие полной поддержки NDS.
На вершине этой сети Microsoft предполагает использовать программу обмена сообщениями Exchange, использующую соглашения MAPI. Exchange связывается с имеющейся Microsoft Mail и получает доступ, кроме всего прочего, к почте, получаемой из Microsoft Network (MSN). Полная клиентская версия MSN размещается на компьютере, когда установлена Windows 95. Маловероятно, что у пользователя возникнут из-за нее какие-либо сложности.
ОГРОМНЫЕ ДОСТИЖЕНИЯ
Windows 95 имеет немало великолепных черт: хороший набор коммуникационных средств, утилиту поиска файлов, выполненная в стиле Macintosh, доступная через кнопку Start, а также более дружественный к пользователю интерфейс. Windows 95 содержит значительные улучшения в управлении именами файлов и самими файлами (не нужно отыскивать их в огромном дереве, они, по сути дела, доступны сразу).
Microsoft также объявила о том, что вскоре появится недорогой пакет "Plus Pack" с дополнениями к установленной версии. Там будет использована программа просмотра файлов Mosaic под названием Spyglass Enhanced, уже использованная в таком продукте Microsoft, как Internet Explorer. Будет доступна и утилита сжатия диска с планировщиком задач.
Таковы, вкратце, основные улучшения, которые войдут в модернизированный вариант ОС. Однако прежде всего надо обратить внимание на то, что до сих пор наблюдается компромисс с 16-разрядными кодами ядра Windows 95. При 12 Мбайт памяти их производительность держится на хорошем уровне, но если удалить несколько модулей SIMM, то в работе системы появится некоторая анемичность. Пока что 12 Мбайт, вероятно, не так уж нужны для нормального функционирования графического интерфейса пользователя, и поэтому цена увеличения памяти для всей корпорации может оказаться слишком высокой. Win 95 работает и на 8 Мбайт, но при этом наблюдается существенное ограничение скорости. Но даже и версия 3.11 на 4 Мбайт работает не блестяще, так что это для нас не сенсация.
ПОДВЕДЕМ ИТОГИ
В целом, сетевых администраторов можно только порадовать. Без особых проблем они смогут перевести своих пользователей на работу с 32-разрядными приложениями, а затем установить прямо-таки диктаторский режим в пользовании рабочими станциями. Использование 32-разрядных вычислений может также обеспечить ряд выгод в ОС и устройстве процессора. Вероятно, это не самая лучшая новость для Microsoft или Intel, но администраторы информационных систем будут тратить меньше усилий, работая с более "идейно чистыми" ОС: OS/2, NT, или Unix.
Роберт Ричардсон (robert@fiction.com) - независимый писатель и консультант по компьютерных технологиям. Он выполняет функции sysop форума LAN Magazine в CompuServe (go lanmag) и Webmaster LAN (http://www.lanmag com).