Сага о Windows. Глава первая. Часть первая

Автор: Topol Суббота, Апрель 21st, 2012 Нет комментариев

Рубрика: Операционные системы

Первую сборку – Windows 1.0 Development Release #5 – можно охарактеризовать как pre-alpha версию Windows 1.0, выпущенную для разработчиков. Как следует из названия, пятую. На данный момент нам ничего не известно о предыдущих четырех выпусках – можно лишь предположить, что они были.

Development Release #5 (далее DR5) поставлялся в виде трех 5 1/4 дискет двойной плотности (то есть объемом 360 Кб каждая).

Следует отметить, что ранние сборки Windows 1.0, в том числе те, о которых пойдет речь в дальнейшем, требуют для работы компьютер IBM PC/XT или IBM PC/AT. Установка и работа Windows 1.0 происходит, разумеется, в среде MS-DOS. О некоторых специфических требованиях DR5 будет сказано чуть ниже.

Итак, подготовив компьютер к установке операционной системы (создав логический раздел с помощью приложения fdisk и отформатировав его), мы приступаем.

На первой дискете имеется файл README.DOC, содержащий лаконичную инструкцию к установке.

Другими словами, для установки Windows 1.0 Development Release требуется скопировать файл INSTALL.BAT в корень диска C: и запустить его. Данная операция затруднений не вызывает.

Запустив файл INSTALL.BAT, мы попадаем в установку Windows 1.0 DR5. Здесь же мы можем ознакомиться и с системными требованиями ОС.

Так, для работы Windows 1.0 DR5 требуется компьютер IBM XT или AT (о чем уже было сказано выше), 512 Кб оперативной памяти, жесткий диск и привод гибких дисков (для которых назначены буквы C: и A: соответственно), а также цветной видеоадаптер. Заметим, что DR5 работает в монохромном режиме CGA (640x200x2).

Здесь будет уместен следующий экскурс в историю. CGA (Color Graphics Adapter) был представлен в 1981 году и стал первым цветным видеоадаптером от IBM. Заметим, между прочим, что его главный конкурент – MDA (Monochrome Display Adapter) – не поддерживал вывод графики и работал только с текстом. Как следует из аббревиатуры CGA, видеоадаптер поддерживал вывод цветного изображения; впрочем, лишь в одном из двух стандартных режимов. В режиме 320*200 видеокарта поддерживала 16 различных цветов (хотя одновременно могли быть отображены лишь 4 из них). Второй режим, 640×200, был монохромным – по умолчанию его цвета составляли черный и белый. Тем не менее, цвет переднего плана мог быть заменен на любой из доступных в палитре CGA (цвет фона всегда оставался черным). Поэтому пускай вас не удивляет, что все скриншоты Windows 1.0 DR5, приведенные в статье, черно-белые; на оригинальных компьютерах IBM Windows 1.0 выглядел именно так.

Еще одна особенность, связанная с работой CGA, заключается в соотношении сторон пикселя. В режиме 640×200 оно не было равно 1:1, пиксель был вытянут по вертикали. Современные виртуальные машины, чтобы сохранить соотношение сторон и предотвратить искажения, эмулируют изображение в разрешении 640х400, в котором каждый пиксель продублирован по вертикали. Таким образом, мы получаем хотя и не совершенно точную, но максимально приближенную к оригинальной картинку.

Еще одной популярной видеокартой в те дни являлась Hercules Graphics Card, монохромная, но поддерживавшая более высокое разрешение 720×350. В дистрибутив Windows 1.0 DR5 входят драйвера для Hercules (файлы hercules.cin и hercules.din, отвечающие за вывод курсора и изображения соответственно), но установить их поддержку средствами Windows не представляется возможным. В файле установки install.bat прописаны пути на файлы ibmcolor.cin и ibmcolor.din (драйвера CGA), и никаких средств для выбора драйверов Hercules в DR5 не предоставляется:

      copy a:ibmcolor.cin %1\windows\test\cursor.exe

 

    copy a:ibmcolor.din %1\windows\test\display.exe

Но, тем не менее, если исправить файл install.bat, указав в нем файлы hercules.cin и hercules.din вместо ibmcolor.cin и ibmcolor.din соответственно, или после установки произвести копирование файлов hercules.cin и hercules.din как cursor.exe и display.exe, заместив ранее скопированные файлы, вы можете запустить операционную систему на видеоадаптере Hercules. Но так как данная поддержка является недокументированной, мы продолжим тестирование DR5 в стандартной конфигурации CGA.

Кроме видеоадаптера, среди требований, предъявляемых к программному обеспечению DR5, указана операционная система MS-DOS 2.x или 3.0. Чтобы понять такую конкретику со стороны Microsoft, нужно обратиться к хронологии. Windows 1.0 DR5 датируется октябрем 1984 года. Последней доступной на тот момент версией MS-DOS была именно 3.0, вышедшая в августе. Таким образом, на момент выхода DR5 MS-DOS 3.0 был первой и единственной версией из линейки 3.х (3.1 появится в ноябре того же года).

По умолчанию установка Windows 1.0 DR5 производится в папку c:\windows, однако, запустив файл установки install.bat с ключом, указывающим другой каталог на жестком диске, вы сможете произвести установку туда (впрочем, установка все равно будет произведена в каталог Windows, за тем исключением, что создан он будет не в корне диска, а в папке, указанной в ключе).

Далее пользователю сообщается о тех каталогах, содержимое которых будет утеряно при установке – это те папки, которые будут заняты Windows.

В дальнейшем вам придется дать утвердительный ответ на сообщение о том, что содержимое будет утеряно, для каждой из перечисленных папок.

На этом этапе происходит сам процесс установки. Вы вставляете дискеты, начиная с первой, и нажимая произвольную клавишу на клавиатуре, что приводит к копированию файлов с очередной дискеты.

 

 

На этом установка фактически окончена. В завершение вам будет сообщено, что для разработки приложений вам понадобится установить компилятор языка C, а также ассемблер и отладчик (для чего следует поместить все библиотеки и необходимые файлы в каталог \lib).

Наконец, вам будет сообщено, что для запуска Windows необходимо выполнить команду “mswin”.

Здесь бы мне хотелось остановиться на еще одной любопытной особенности работы DR5. Она заключается в том, что для запуска Windows команда “mswin” должна выполняться в каталоге C:\Windows\Test. Но этого для успешного запуска DR5 недостаточно. Дополнительно необходимо командой PATH указать маршрут поиска исполняемых файлов – каталог C:\Windows\Bin. Таким образом, для запуска Windows 1.0 DR5 требуется вводить команды в следующей последовательности:

      path C:\Windows\Bin

 

      cd C:\Windows\Test

 

    mswin

Впрочем, при первом запуске, сразу после установки, этого не требуется – на последнем этапе установщик выполнит команду PATH самостоятельно. Достаточно ввести “mswin”, как то и просит установщик.

Знакомьтесь, Windows.

Не пугайтесь. И да, именно таким выглядел Windows на компьютерах IBM двадцать шесть лет назад.

Не следует обманывать себя. Windows 1.x, как и ряд последующих версий Windows, является оболочкой для MS-DOS, а не операционной системой в строгом смысле этого слова. Приложения Windows (нового формата New Executable, NE) могут вызывать функции MS-DOS, но исполняются исключительно в среде Windows. Впрочем, структура приложений в DR5 еще отлична от той, которая появится в финальной версии Windows 1.

Рассмотрим основные элементы графического интерфейса DR5. Основное окно – MS-DOS Executive – своего рода прообраз Windows Explorer. Заголовки окон в Windows 1.0 оснащены по бокам двумя кнопками. Левая (белый квадратик на черном фоне) приводит к закрытию окна. Попытка закрыть MS-DOS Executive приведет к завершению сессии Windows и выходу в MS-DOS.

File, View и Special – три ниспадающих меню. Как несложно догадаться, до наших дней дожили два из них. Чтобы меню были открыты, левую кнопку мышки необходимо держать нажатой постоянно.

Думаю, эти пункты в разъяснении не нуждаются. И, тем не менее, интересно посмотреть, как они были реализованы в самой ранней версии Windows. Run – та самая команда Выполнить, которая и по сей день сохраняется в Windows. В DR5 она служит для открытия файлов. Не указывая путь, а введя лишь имя файла, можно вызвать файл из открытого в данный момент каталога.

Соответственно, если в MS-DOS Executive выбран определенный файл, поле будет заполнено автоматически.

Характерной особенностью интерфейса в ранних сборках Windows 1.0 является то, что кнопки OK и Cancel встроены в меню диалоговых окон, а не вынесены, как нам более привычно, в отдельные элементы.

Пункт Copy открывает окно копирования файлов – и никакого drag-and-drop. Челябинские мужчины настолько суровы, что вводят путь вручную. (По аналогии с Run, если определенный файл выбран в MS-DOS Executive, то первое поле будет заполнено автоматически).

Get Info – прообраз диалогового окна свойств файла. Здесь представлено имя файла, его расширение, размер и дата создания.

Без лишних комментариев – следующим образом выглядят окна удаления, печати и переименования файлов.

 

 

Невелико разнообразие, одним словом.

Перейдем ко второму меню.

Как несложно догадаться, в меню View представлены настройки вида окна. Пункты Short и Long определяют представление файлов – первый отображает только имена файлов в несколько стобцов, второй – подробные сведения о файле (ровно те же, что можно получить из окна Get Info).

Partial представляет собой прообраз фильтра файлов. Как следует из названия, в противоположность All пункт Partial позволяет отобразить лишь определенный файл в данном каталоге.

Как следует из надписи Files, в диалоговом окне Partial необходимо указать файлы для отображения. Когда вы введете имя файла и нажмете Ok, в окне останется только файл с указанным именем (обратите внимание, как при применении функции Partial меняется адресная строка).

Способа отобразить несколько файлов по именам я не обнаружил – все попытки указать несколько имен приводили к тому, что из списка исчезали все без исключения файлы, как будто указанные файлы не найдены.

В то же время, если в Partial указать расширение файлов, все работает корректно.

Завершает меню View сортировка файлов. Как следует из названий, файлы можно отсортировать по имени, дате, размеру и типу.

Любопытно обратить внимание на сортировку By Kind. Сортировка эта, разумеется, по типу файлов. Но интересно, что позже Microsoft откажется от слова Kind в пользу термина Type. Так, в более поздних версиях Windows сортировка по типу традиционно называется By Type.

Итак, на очереди меню Special.

Уже сами названия говорят сами за себя. Create Directory служит для создания нового каталога.

 

Как можно заметить, названия папок в MS-DOS Executive выделяются жирным шрифтом.

Set Volume Name задает метку текущего диска, которую после применения можно увидеть в адресной строке.

 

Наконец, End Session завершает текущую сессию Windows (что приравнивается к закрытию MS-DOS Executive вышеописанным способом).

Под меню расположены иконки дисководов, позволяющие быстро перемещаться между установленными носителями информации.

Рядом с иконками дисков – адресная строка. Щелчок по имени каталога в адресной строке открывает окно Change Directory, из которого можно перейти в другой каталог – разумеется, задав его путь вручную.

Во всем остальном MS-DOS Executive – типичный файловый менеджер с возможностью прокрутки файлов, выделения одного файла и проч. Также можно перетаскивать файлы, другой вопрос, что перетаскивать их попросту некуда. Не слишком функциональный менеджер, одним словом.

В нижней части экрана – вовсе не панель задач, хотя и похоже. Это просто выстроенные в ряд иконки открытых приложений.

Здесь самое время сказать об окнах и их работе. Окна приложений в Windows 1.0 размещаются мозаикой и не могут перекрывать друг друга (исключение – диалоговые окна, которые встречались на скриншотах выше). Тем не менее, способы взаимного размещения окон различны и зависят от пользователя. Как было сказано выше, нижнюю часть экрана занимает пространство с иконками свернутых приложений. На скриншоте выше это Clipboard (буфер обмена), Clocks (часы) и Control Panel (Панель управления). Чтобы открыть “свернутое” приложение необходимо перетащить его иконку в ту часть экрана, в которой вы хотите поместить новое окно.

Так, перетаскивая иконку часов в нижнюю область MS-DOS Executive, мы размещаем два окна горизонтально, одно над другим. Пространство экрана они делят между собой поровну. Естественно, после открытия приложения его иконка исчезает из нижней области экрана.

 

Наоборот, если вы перетащите иконку в верхнюю часть экрана, расположение окон будет прямо обратным.

Следует заметить, что в дальнейшем менять расположение окон можно перетаскивая их за заголовки. Когда вы начинаете “тащить” приложение за заголовок, курсор принимает вид его иконки. Ее вы и помещаете в нужную часть экрана.

Но окна можно расположить и вертикально, бок об бок. Для этого значок приложения необходимо перетащить вплотную к левой или правой стороне экрана. Если вы думали, что Aero Snap – изобретение Windows 7, то глубоко заблуждались. Пускай здесь оно и представляет собой осознанную необходимость, но выглядит что-то очень напоминающим.

 

Наконец, следует сказать о том, что количество окон вовсе не ограничивается двумя, ровно как их расположение – исключительно горизонтальным или вертикальным. Все это поддается простой комбинации, которую довольно легко осуществить за счет перетаскивания окон и иконок свернутых приложений в нужные области экрана.

 

 

Расположение окон может быть и гораздо более замысловатым.

Но при открытии более 4-5 окон работа перестает быть комфортной – на экране все мешается, окнам не хватает пространства для отображения всего содержимого приложений.

И так далее. Я полагаю, читатель уже понял мозаичный принцип работы окон в Windows 1.0, чтобы домыслить остальное.

Остается лишь добавить о второй иконке, расположенной в правой части заголовка, которая теперь и вступает в игру. Служит она для изменения размеров окон. Поскольку окна не могут перекрывать друг друга, и между ними не может оставаться незанятого окном пространства, увеличение и уменьшение окон происходит за счет изменения соотношения их размеров – одного за счет другого.

 

 

 

Такое же изменение размеров окон работает и при количестве окон более двух.

И так далее.

Теперь, после рассмотрения принципа работы окон, может возникнуть вопрос – что будет, если свернуть все приложения? Ответ прост как никогда.

Опять же это не совсем рабочий стол, а скорее освобожденное от окон пространство, испещренное раздражающей текстурой. Иконка дискеты внизу принадлежит, как несложно догадаться, MS-DOS Executive.

Итак, если это пространство можно полностью открыть, то встает другой вопрос – можно ли развернуть окно во весь экран? Ответ положительный: один правый щелчок по заголовку окна разворачивает его на весь экран, скрывая всю нижнюю область с иконками.

Чтобы завершить обзор первой сборки Microsoft Windows, необходимо сказать несколько слов и о том, ради чего преимущественно Microsoft Windows создавалась – о разнообразных приложениях, входящих в ее состав. К тому же некоторые из них уже мелькали на скриншотах выше.

Основание Пантеона

Не все приложения, входящие в состав первых сборок Windows 1, полнофункциональны. Больше половины из них – простые макеты, служащие для демонстрации возможностей Windows и ее платформы (для некоторых из этих приложений доступен исходный код). Интересно, что формат приложений в ранних сборках Windows 1.0 отличен от финального. Так, к примеру, ресурсы приложений хранятся в отдельных файлах.

По умолчанию в Windows запускается 4 окна – Clipboard (буфер обмена), Clocks (часы), Control Panel (Панель управления), и уже рассмотренное выше окно MS-DOS Executive. С них и начнем.

Во времена первых версий Windows буфер обмена был чем-то действительно полезным. Он не только демонстрировал возможность Windows предоставлять доступ к скопированным в буфер обмена данным различным приложениям, но служил инструментом по работе с этими данными.

В меню Edit размещались различные средства по работе с данными, как то вырезать, копировать, вставить и очистить.

Кнопка Format служит для отображения окошка с данными о формате сохраненных в буфере обмена данных. Из меню Special можно лишь очистить буфер.

Но приложение Clipboard взаимодействовало с другими приложениями Windows напрямую. Поэтому если у вас не открыто окно, с данными которого вы собираетесь произвести операцию, будет отображена следующая ошибка.

Заметьте, между прочим, что ошибки выводятся в DR5 в виде небольшого бруска с текстом, появляющегося под панелью с меню, а не отдельного диалогового окна. Такой тип уведомлений используется в ранних сборках Windows 1.0 повсеместно и с ним можно столкнуться в большинстве приложений.

Если же открыть одновременно окна буфера обмена и другого приложения, содержащего данные (например, Блокнот), то все эти функции начнут применяться к данным, которые вы выделите в последнем. Например, выделяя текст в Блокноте и нажимая Copy в Clipboard, вы производите копирование этого текста в буфер обмена.

Функция Format сообщает о типе данных во втором окне (в нашем случае – текстовом).

Если окинуть взглядом Блокнот (Notepad) в первой сборке Windows, можно сделать вывод, что за 26 лет последующей истории разработки Windows он, пожалуй, претерпел изменений меньше всего.

Как несложно догадаться, меню File позволяет открыть, сохранить или сохранить как открытый документ (по умолчанию при открытии Блокнота открывается файл Notepad.txt, создающийся в одном с программой каталоге).

 

В меню Edit доступны привычные функции Cut, Copy, Paste, Clear и Select All (дублирующие, таким образом, возможности Clipboard).

Память у Блокнота на данном этапе разработки Windows была мизерной – открыть большие текстовые файлы не представлялось возможным.

Обратимся к другим приложениям Пантеона.

Часы также представлены отдельным приложением, которое заставляет задуматься о вечном.

Control Panel (Панель управления) служит для настройки времени, скорости двойного щелчка и частоты мерцания курсора. Некоторые обозреватели находят в ее оформлении и расположении элементов сильное влияние панели управления из Mac OS 1.x.

Calculator –еще одно приложение, бессмертное и вековечное, пока что лишь с самыми необходимыми для вычислений операциями.

Если результат вычислений превысит допустимое значение, в уже описанном выше уведомлении, появляющемся непосредственно в окне приложения, будет отображена соответствующая ошибка.

Побеспокоилась Microsoft и о развлечениях. Reversi – одна из легендарных игр первых дней Windows.

Кнопка Pass служит для пропуска хода. New – для начала новой игры. Из меню Skill можно выбрать уровень сложности.

 

Вторая доступная игра – Puzzle – пятнашки. Кнопка Mix-Up, расположенная на панели, позволяет смешать оформленные с претензией на объем костяшки.

 

Наконец, Microsoft включила в DR5 инструмент для создания и редактирования иконок – Icon Editor.

В основном окне расположено пространство для рисования, а рядом с ним – миниатюра иконки. Над ними текстовое поле для ввода файла – указав путь и имя файла и нажав Load или Save (кнопки в меню) можно открыть существующую иконку или сохранить свою. Приложение вполне работоспособно.

Но рисовать там, прямо-таки скажем, непросто.

В меню содержатся различные настройки. Так, в меню Mode можно выбрать формат изображения – курсор, иконка или bitmap-изображение (файлы cur, ico и bmp соответственно). Другими словами, предполагалось, что Icon Editor будет служить для создания не только иконок, но и других форматов изображений.

Из меню Background можно изменить фон изображения: выбор между черным, белым, серым и светло-серым.

 

 

В меню PenColor, как следует из названия, можно указать цвет карандаша – выбор тоже невелик (заметим, что пока что поддержка цветного изображения даже не предусмотрена).

 

Hotspot позволяет узнать порядковый номер столбца и строки пикселя, на который наведен курсор.

PenSize, как опять же легко догадаться, указывает толщину карандаша.

 

Grid позволяет включить пиксельную сетку (рисовать от этого легче не становится, ей-богу).

Назначение Load и Save уже описано выше. Кнопка Redraw обновляет изображение.

Теперь взглянем на демонстрационные приложения, которые были призваны показать “мощь” новой платформы и не попали в финальный выпуск Windows 1.

FONTDEMO.EXE открывает Sample Font Application.

Кнопка Start session на панели включает демонстрацию установленных шрифтов.

Как следует из документа, QANDA.DOC (Questions and answers), доступного в DR5, это тестовое приложение должно было помочь разработчикам сторонних приложений разобраться в модели шрифтов Windows, а также в вызове доступных шрифтов и выводе нескольких шрифтов в одном окне одновременно.

PPDEMO.EXE или PushPull Demo представляет собой просто окно, нажатие клавиши Enter в котором приводит к непрекращающемуся цикличному заполнению его точками. По-видимому, приложение служит для тестирования доступной в каталоге LIB в корне диске библиотеки PUSHPULL.LIB.

 

SAMPLE.EXE – всего лишь еще одни пятнашки, причем оформленные значительно беднее, чем Puzzle (иконка именно этого приложения была показана на скриншоте Icon Editor выше).

TEMPLATE.EXE – Template Application – обычное окно с красноречивыми элементами Alpha и Beta (Beta открывает ниспадающее меню с элементами One и Two – уж не намек ли на количество бета-версий, которые предполагалось выпустить?)

Особый интерес представляет два макета приложений, – Chart и Graph – описанные в документе GRAPH.DOC. Сразу стоит оговориться, что оба макета служат лишь для демонстрации интерфейса, возможного расположения элементов и т.п. – никакой реальной функциональности они не несут.

Chart – макет приложения, предназначенного для работы с диаграммами.

Меню наполнены различными функциями, которые, разумеется, не работают.

 

 

 

 

 

Лишь пункты из меню Data открывают разнообразные всплывающие окошки, опять же, призванные лишь показать элементы интерфейса.

 

 

 

 

 

В правой части приложения находится разделитель, с помощью которого можно просмотреть данные диаграммы. Изменить их, разумеется, невозможно – приложение служит исключительно для демонстрации возможностей интерфейса.

Немного больше возможностей для эксперимента предлагает приложение Graph. В основном окне расположена диаграмма и два окошка с предполагаемыми данными.

Из меню Gallery можно изменить вертикальные столбцы в диаграмме на горизонтальные.

 

Меню Data служит для изменения количества столбцов – их число возможно увеличить или уменьшить.

 

 

Меню Size позволяет менять расположение диаграммы (функции Clip и Scale), а также ее размер.

Размер и положение диаграммы по горизонтали и вертикали задается из окошка, открываемого пунктом Set (отсюда же можно задать количество столбцов вручную).

Теперь становится понятным назначение функций Clip и Scale в меню. Диаграмма, как можно видеть из скриншотов, помещена в небольшое прямоугольное окошко. Если задать размер, превышающий размер окошка, при выборе Clip – диаграмма будет отображена в соответствии с указанным размером, но обрезана краями окошка; при Scale – масштабирована по размеру окошка.

Помимо диалогового окошка Figure Size, изменить размер и положение диаграммы можно мышкой – просто перетаскивая и растягивая диаграмму прямо в экране самым привычным образом.

Наконец, пункты Debug 1, Debug 2 и т.д. из меню Debug добавляют в окно дополнительные числовые поля.

 

Пункт Debug открывает еще одно диалоговое окно с различными элементами интерфейса — полями, кнопками, переключателями.

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

Windows 1.0 DR5 – 16-разрядная оболочка для MS-DOS, первая известная нам сборка Microsoft Windows. В упомянутой документации (в частности, в документе QANDA.DOC, в котором содержатся вопросы и ответы для разработчиков), среди многочисленных примеров кода и вопросов сугубо технических, можно найти вопрос, касающийся наболевшего – низкой производительности при открытии диалоговых окон. “Нашей целью при разработке Windows является “беспрецедентная” производительность на компьютерах 8088 и 8086, но функции Dialog, как вы заметили, на данный момент этой высокой планке не соответствуют. В этом выпуске, по сравнению с предыдущим, вы должны заметить существенные улучшения (на 48%, согласно нашим бенчмаркам). Мы работаем над архитектурным изменением, чтобы достичь дополнительных улучшений”. За последующие 26 лет формулировки ничуть не изменились.

Development Release #5 (датированный, напомню, октябрем 1984 года) предназначался в первую очередь для разработчиков сторонних приложений. Все в той же документации говорится о следующей сборке Windows, которая была запланирована на январь. Но об этом новом релизе и о дальнейшей судьбе Windows 1.0 мы расскажем уже в следующей статье.

Источник: thevista.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты