Add-on pack из 90-х: Microsoft 95 Plus! для Windows
24 августа 1995 года вышла Windows 95 — операционная система, которая должна была стать одним из лидеров в домашнем и SOHO-сегменте. Она предлагала пользователям удобный графический интерфейс, поддержку многозадачности и функцию Plug&Play. Правда, работало это далеко не идеально: в народе технология получила ироничное прозвище Plug&Pray («подключи и молись»). Зато с архитектурной точки зрения это был серьезный шаг вперед — переход от 16-битных к 32-битным приложениям.
Как это часто бывает, к моменту релиза далеко не все запланированные функции были готовы. Разработчики стояли перед выбором: внедрить недоработанные фичи и рисковать стабильностью или отложить их на потом. В итоге дополнительные возможности решили выделить в отдельный коммерческий продукт. Так появилась первая версия Windows 95 Plus! — своеобразное дополнение к основной системе. О нем сегодня и расскажу.
На самом деле кроме жестких дедлайнов была еще одна причина, по которой Plus! вынесли в отдельный продукт. В следующих версиях Windows планировалось внедрять множество новых фич, которые требовалось как-то протестировать на пользователях. Это сейчас есть Windows Insiders Preview и возможность накидать фидбэк в реальном времени. Но 30 лет назад ничего подобного не было, поэтому для обратной связи часть функций выпустили в виде набора дополнений. Давайте глянем, что получал пользователь, купивший Windows 95 Plus! за 49,99 $.
Загрузочный экран
По завершении установки Windows 95 Plus! система просила ребутнуть компьютер. После этого, в момент запуска, демонстрировался уже кастомный загрузочный экран:
Пользователю как бы намекали, что в его системе появились новые фишки, о которых только предстоит узнать. На непосвященных это производило приятное впечатление, ну а я, еще будучи подростком, знал, что такой экран можно легко сделать самому, банально открыв logo.sys с помощью MS Paint или подобного редактора растровой графики.
Оформление
Прозвучит смешно, но в штатной поставке Windows 95 было лишь несколько стандартных тем. Microsoft 95 Plus! добавил 11 новых, включающих в себя иконки, шрифты, указатели мыши, фоны рабочего стола и звуки:
Половина из них была рассчитана на компьютеры, видеокарта которых способна отображать лишь 256 цветов, а прочие на high color, то есть 16-битный цвет. По тем временам такое было не у всех, поэтому разделение имело смысл.
Отдельно стоит отметить, что в окне свойств экрана появилась новая вкладка Plus!, которая включала такие опции, как сглаживание шрифтов, увеличение размера иконок и их замену на кастомные:
Развлечения
Легендарная Pinball Space Cadet. Изначально она была разработана компанией Maxis и называлась Full Tilt! Pinball, где Space Cadet был лишь одним из трех пинбольных столов:
Microsoft получила лицензию только на один стол, а остальные два, Skulduggery и Dragon's Keep, остались за бортом. Сейчас можно без проблем найти полную версию в Архиве интернета:
Софт
Если добавление игры считалось улучшением мультимедийной части операционной системы, то программы, о которых пойдет речь дальше, относились к утилитам для обслуживания. Первая называлась System Agent и представляла собой продвинутый планировщик заданий. Microsoft Plus! при установке настраивал несколько стандартных тасков, вроде проверки свободного места каждые 15 минут:
Жесткие диски были довольно медленными, поэтому неравномерное распределение данных снижало общую производительность. Разумеется, можно запускать процедуру дефрагментации вручную, но большинство пользователей даже не задумывалось о проблеме. Автозапуск сервисных операций с помощью планировщика мог существенно улучшить ситуацию.
Свободного дискового пространства тоже всегда было мало, поэтому в состав Plus! включили еще одну программу — Compression Agent. Это был тоже своего рода планировщик, который запускал софт для сжатия дисков — Microsoft DriveSpace 3:
Перед тем как Compression Agent мог приступить к работе, требовалось сжать системный диск:
Из накопителя размером 2 Гб (где 890 Мб занято) DriveSpace 3 мог теоретически дать пользователю в три раза больше свободного места (на практике сильно меньше). Правда, требовалось пересоздать аварийную загрузочную дискету, чтобы можно было выполнить сжатие системного диска. Сама процедура включала в себя обязательную проверку на ошибки и длилась по несколько часов:
Кстати, 2 Гб — это максимально поддерживаемый размер сжатого тома. Так что если вы были обладателем шикарного 4 Гб жесткого диска, то для корректного использования DriveSpace 3 его следовало разделить на два равных тома и уже каждый из них по отдельности сжать.
Если заглянуть глубже в работу этой системы, можно найти много любопытного. Вместо того чтобы преобразовывать данные на физическом диске, утилита создавала виртуальный в виде отдельного файла с расширением CVF (Compressed Volume File). Для взаимодействия с ним использовался отдельный драйвер. Все данные, структура файловой системы и сами файлы сжимаются и помещаются внутрь такого тома, поделенного на несколько регионов.
Каждый из них выполняет свою функцию:
MDPBP (Master Disk Parameter Block) хранит параметры тома, адреса смещения всех ключевых областей файла CVF и конфигурационные данные о приложении, создавшем сжатый том.
BitFAT (Bit File Allocation Table) похожа на обычную FAT, но сделана специально для того, чтобы знать, какие секторы сжатого тома заняты, а какие свободны.
Res1 — 1 зарезервированный сектор, который мог служить для размещения дополнительных данных или выравнивания.
MDFAT (Mini Disk File Allocation Table) описывает каждый сжатый кластер: где он расположен в области SectHeap и какой имеет размер.
Res2 — 31 зарезервированный сектор.
BootSect (Boot Sector) содержит структуру стандартного загрузочного сектора, но без реального кода загрузчика.
Res3 — еще один резервный сектор, начинающийся со значений f8H, 44H, 52H, 00H (°DR0). Они иначе называются MdStamp1. Изначально было 4dH (M), но Microsoft изменила первый байт, чтобы сохранить совместимость с программным обеспечением ленточных библиотек производства Colorado Memory Systems.
FAT (File Allocation Table) представляет собой классическую FAT, но в отличие от MDFAT, работает она уже на уровне несжатых кластеров. Именно ее драйвер показывает операционной системе.
RootDir (Root Directory) хранит записи о файлах и папках верхнего уровня.
Res4 — 2 резервных сектора.
SectHeap — куча сжатых данных, путеводителем по которым работает MDFAT.
MdStamo2 — метка 4dH, 44H, 52H, 00H (MDR0), отмечающая конец CVF-файла.
Получается, когда операционной системе или программе нужно обратиться к данным на сжатом диске, то вначале DriveSpace через FAT определяет, какие кластеры относятся к файлу. Благодаря MDFAT драйвер понимает, где именно в SectHeap лежат сжатые данные, и считывает их. Дальше они распаковываются в ОЗУ и возвращаются системе. Если же нужно их записать, то драйвер дополнительно обращается к BitFAT, которая помогает управлять свободным пространством:
Эта любопытная комбинация из виртуальных и классических механизмов управления файловой системы позволяет сжатию работать прозрачно для приложений, но несколько снижает производительность.
Ну и напоследок стоит сказать о The Dial-Up Networking Server. Это приложение позволяло компьютеру функционировать в качестве сервера удаленного доступа. Он давал возможность другим ПК подключаться к вашей машине через телефонную линию и работать с файлами или ресурсами локальной сети так, словно они были соединены напрямую:
Это отлично работало до широкого распространения интернета и VPN, причем пользователь мог не только включить прием входящих соединений, но и указать, какие протоколы разрешены для удаленных клиентов. Относительным минусом можно считать то, что единовременно обслуживалось только одно такое подключение. Но в те годы это было нормой. Не стоит забывать, что Microsoft Plus! все же заточена на домашний сегмент.
На практике его часто использовали для удаленного администрирования или чтобы поиграть в сетевые игры. В дальнейшем такая технология утратила свое значение, но идеи и наработки стали основой более продвинутых решений в следующих версиях Windows.
The Internet
Именно так и с большой буквы. Тогда его еще часто называли Information superhighway, и Microsoft очень стремилась никому не отдать этот кусок пирога. Первые Retail-версии Windows 95 не имели браузера. Вместо этого на рабочем столе красовался значок The Microsoft Network:
В это сложно сейчас поверить, но почти в каждом крупном российском городе был выделенный номер телефона, позвонив на который модемом, вы получали доступ к сети The Microsoft Network. Увы, но сейчас получить опыт взаимодействия с этой сетью уже нельзя. Серверы давно закрыты, а полностью воссоздать работу сети MSN Classic не представляется возможным — та была проприетарной и очень быстро эволюционировала.
Internet Explorer впервые дебютировал именно в Microsoft Plus!, так что это был вполне официальный способ добавить браузер в ОС. И только потом, с выходом версий OSR1 и OSR2, тесно интегрирован с системой. Он позволял обращаться к веб-сайтам World Wide Web, файловым серверам FTP и ныне забытому протоколу Gopher, на начальных этапах составившему конкуренцию HTTP.
Что в итоге?
В сухом остатке пользователь, купивший диск за 49,99 $, получал:
веб-браузер;
11 тем рабочего стола;
1 дополнительную игру;
планировщик задач;
утилиту для сжатия дисков.
С одной стороны, кажется, что это не стоит своих денег. Но ведь в предыдущей версии Windows 3.11 не было и десятой доли того, что появилось в Windows 95.
Здесь же возможности системы раскрывались еще лучше, позволяя кастомизировать внешний вид, играть в Pinball и получая больше свободного дискового пространства без необходимости заменять дорогостоящий винчестер. Да и планировщик сильно помогал держать ПК в оптимальном состоянии.
Windows 95 была вовсе не единственной системой, для которой выпускалось дополнение Plus!. Подобные диски созданы для Windows 98 и даже Windows XP. А отголоски этого всего встречаются в Windows Vista. Но это уже совсем другая история, о которой я расскажу в следующих публикациях.