Как стать автором
Обновить
2684.4
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Old School: один день работы в DOS

Время на прочтение8 мин
Количество просмотров21K
Автор оригинала: Sean Gallagher


Обновление от 5 июля, 2021 года: по случаю празднования 4 июля у нас в США сегодня выходной, и у сотрудников Ars есть возможность успеть на летнюю распродажу Steam (или просто отдохнуть). В связи с этим мы достали из архивов редакции Ars несколько старых проектов, включая и этот в некотором смысле мазохистский эксперимент.

Еще в 2014 году почетный редактор Ars Шон Галлахер решил отметить 20 лет с момента окончания жизни MS-DOS и поработать в этой операционной системе в современных условиях. Получилось это…почти так же гладко, как можно было предположить.

Сегодня, спустя 27 лет после того, как в Microsoft объявили о завершении поддержки MS-DOS, мы решили освежить в памяти его опыт (и очень ценим современные возможности, поскольку теперь все работаем из дома немного больше). Датируется эта история 3 июля 2014 года и ниже передана в своем исходном виде.

Двадцать лет назад, когда в Microsoft сообщили, что заканчивают поддержку MS-DOS, Джеймс Холл заявил миру, что намерен создать версию этой ОС, которая станет всеобщим достоянием, с целью сохранить вселенную символьно-ориентированного программного обеспечения DOS. В конечном итоге проект Холла, изначально названный “PD-DOS”, получил имя FreeDOS и на сегодня поддерживает экосистему разработчиков, ретро-геймеров и приверженных консерваторов, которые откажутся от WordStar только, когда вы вырвете дискеты из их мертвых окоченелых пальцев.

В честь двадцатилетия проекта (а также тех храбрых душ, которые и по сей день поддерживают очаг жизни DOS) я решил провести день во FreeDOS. Я настроил машину на работу с последним дистрибутивом этой ОС и программным обеспечением из репозиториев FreeDOS Package Manager. После я добавил и другое ПО, которое смог собрать из разных уголков сети – программы с открытым исходным кодом, бесплатные программы и те, которые больше не поддерживаются разработчиками, а также кое-что, любезно предоставленное Ли Хатчинсоном из его личной коллекции ПО для DOS. Мне хотелось узнать, возможно ли выполнять современную завязанную на интернете работу в DOS, и насколько болезненным это может оказаться.

Вскоре мой ПК стал словно из 1994 – в нем не было Twitter, Google и всего, что бы использовало SSL, но при этом присутствовали инструменты командной строки TCP/IP, функциональный по остальным возможностям браузер и…Gopher. Помимо этого, я установил WordPerfect 5, Microsoft Word 5, WordStar, Lotus 123 и dBase III – все, о чем можно было мечтать, не так ли?

Почему FreeDOS?


Linux тоже бесплатен, и я бы предпочел провести день за стареньким ноутбуком с Debian или Ubuntu, чем работать из командной строки DOS. Но в аскетичности и строгости DOS есть некая безумная красота – к тому, же это операционная система, которая способна загружаться с дискеты и не потея работать на 640Кб памяти (хотя она может и выходить за эти рамки при использовании одного из расширителей «верхней памяти» с открытым исходным кодом).

FreeDOS в некоторой степени изменила старую среду DOS. К примеру, в связи с добавлением поддержки FAT32 эта ОС может работать с дисками объемом до 8ТБ. Модуль расширения LFNDOS привносит поддержку длинных имен файлов, появившуюся в Windows 95. При этом благодаря стараниям небольшой армии разработчиков, а также объектам интеллектуальной собственности, созданным на протяжении двадцати лет коммерческой и академической разработки DOS, FreeDOS содержит компиляторы для десятков языков программирования (хотя, насколько я знаю, Java к ним не относится).

В определенный момент FreeDOS стала единственной DOS, поставляемой с ведущими брендами ПК, но заказывать это нужно было отдельно. Dell и Hewlett Packard поставляли FreeDOS с машинам «без операционной системы» в качестве альтернативы предварительно настроенной Windows, что стало популярной опцией для дешевых ПК, особенно в Азии в конце последнего десятилетия. Эта ОС по-прежнему числится на сайтах Dell и HP, хотя варианта заказать с ней новенький ПК через онлайн-магазины этих компаний больше нет.

Но несмотря на то, что FreeDOS уходит в забытие, у нее до сих пор есть активное сообщество пользователей. Ее все еще используют в качестве легковесной ОС для «загрузочных дискет», необходимых для запусков сети, установки или исправления других ОС, а также обновления прошивок. Помимо этого, в связи с низким потреблением оперативной памяти и памяти хранилища, FreeDOS активно применяют в мире виртуальных машин (VM), где существуют готовые образы для различных десктопных и серверных VM-сред.

Однако, как это было всегда, для правильного функционирования DOS требуется самостоятельная настройка.


Веб-браузер под DOS

Настройка DOSтупа в интернет


Официальная текущая версия FreeDOS 1.1 от 2011 года доступна в виде образа Live CD, но в установке по умолчанию недостает многих компонентов, которые вам понадобятся для подключения к интернету 21 века, в том числе сетевых драйверов. К счастью, в доступе имеется еще один CD-образ, содержащий все пакеты репозитория, в том числе пару вариантов сетевых драйверов, которые можно установить с помощью FreeDOS Package Manager (FDNPKG).

Я предпочел установить большую часть библиотек, начиная с Crynwr – бесплатного набора сетевых драйверов, работающего почти со всеми стандартными сетевыми картами из эпохи DOS. Многие приложения DOS, использующие TCP/IP, вместо системного драйвера используют TCP библиотеку. Во FreeDOS есть две такие библиотеки, совместимые с Crynwr: mTCP, до сих пор поддерживаемая и сопровождаемая набором утилит (включая клиента IRC), а также почтенная Waterloo TCP (WATTCP), выпущенная в начале 90-х. mTCP даже использовалась для создания веб-сервера – ее домашняя страница размещалась на IBM PCjr.

Также можно найти драйвера формата «terminate and stay resident» (завершиться и остаться резидентной) для TCP и других сетей, которые потребуются для предоставления общего сетевого доступа к файлам. Но для того, чтобы заставить их работать, придется раздобыть все составляющие компоненты, так как большинство их них были коммерческими и теперь не поддерживаются. К счастью, некоторые пользователи с форумов VirtualBox уже проделали в этом направлении немало работы. Я же выбрал альтернативный путь: запустил FTP на своем хосте с Mac OS X и использовал FTP-клиента для передачи файлов клиенту DOS. Это позволило достаточно быстро пополнить свой инструментарий на день работы с DOS.

Территория «заброшенного» ПО


Еще мне потребовалось программное обеспечение для создания контента. Будь я настолько заинтересован, то мог бы отказаться от роскоши текстового процессора и просто использовать утилиту EDIT.EXE или один из многих портированных открытых инструментов для работы с текстом. Если же вы ищете нечто более напоминающее опыт работы в современном Office, то можно воспользоваться бесплатным Microsoft Word 5.5 для DOS.

Еще до того, как Microsoft победила в битвах за десктоп, у текстовых процессоров были свои приверженцы. По некоторым данным, Джордж Р. Р. Мартин до сих пор использует WordStar, с которым я недолго поработал в середине 80-х – он шел в комплекте с моим Kaypro PC. Однако меня не интересовало ничего, кроме гармоничного предустановленного темно-синего цвета WordPerfect 5. На моей сетчатке до сих пор остался выжженый некогда шаблон его функциональных клавиш. Хорошо, что у Ли Хатчинсона осталась копия этой программы.

Следующим шел выбор электронной таблицы. Использовать Lotus 1-2-3 или VisiCalc? Оба варианта бесплатно доступны в сети. Исполняемая версия VisiCalc, которую ее разработчик, Дэн Бриклин, разместил онлайн, представляет оригинальную версию с IBM PC, разработанную еще в 1981 году. Ее пользовательский интерфейс несколько упрощен, но с учетом того, что весит файл всего 27.5 Кб – то есть меньше, чем документ Word, который я создал для написания данной статьи – это можно счесть за образец элегантности. Распечаткой документов я больше практически не занимаюсь, поэтому поиском драйверов для принтера озадачиваться не стал.

К сожалению, отправить кому-нибудь документ в родном формате этих электронных таблиц – все равно, что отправить свитки Мертвого моря, если только у получателя не установлен Apache OpenOffice, в случае чего можно послать ему файл .WK1 из Lotus 1-2-3.

В завершении комплектации своего набора ПО я нашел .ZIP файл dBase III Эштона Тэйта и собрал быструю базу данных контактов. Мой внутренний Clipper-программист снова был счастлив.


WordStar, любимый текстовый процессор Джорджа Р. Р. Мартина, также отлично работает во FreeDOS. Однако предустановленные цвета экрана заставляют мои глаза плакать кровью

Интернет 1994 года


Но суть в том, что я работаю на сайте, в связи с чем оставался вопрос относительно использования интернета из DOS.

Да, существует веб-браузер на базе DOS, который все еще разрабатывается и при этом является открытым. Речь об Arachne. Последний раз он обновлялся год назад и находится под лицензией GPL. Arachne представляет собой графический браузер с собственным встроенным TCP/IP стеком и поддержкой SLIP/PPP (для тех, кто до сих пор живет в мире телефонных соединений). В нем даже есть встроенный почтовый клиент POP/SMTP, пусть даже весьма примитивный.

Arachne стабилен, но его трудно настроить в соответствии с требованиями современного веб-пространства. Например, в нем нет поддержки HTTPS, в следствии чего Google, Twitter, Yahoo и все сайты, перешедшие после скандала со Сноуденом на SSL-шифрование, оказываются недоступны. (Спасибо Биллу, что все еще есть Bing, не так ли?) Кроме того, он поддерживает только самые базовые таблицы стилей CSS, из-за чего современные сайты выглядят не столь современно. И несмотря на то, что почтовый клиент работает, прикрепление к письмам файлов требует некоторых стараний.

Я также попробовал Dillo, еще один открытый браузер, основанный на кроссплатформенной библиотеке GUI под названием FLTK, и функционирующий подобно Mozilla 4.0. Взаимодействие с FLTK напоминает взаимодействие с Windows 2.0. Мне удалось заставить его работать с Google (после отключения скачивания изображений), но поддержка мыши оказалась неустойчивой. При этом во время загрузки страниц он несколько раз падал и давал сбой.

Помучившись с Arachne, я нашел более надежного почтового клиента FlMail, основанного на той же библиотеке FLTK. FlMail поддерживает SSL, а также работает с Gmail и другими службами сетевой почты, поддерживающими POP и SMTP. Однако, находясь в почтовом ящике, я по ошибке кликнул сообщение в формате HTML, и FlMail вошел в цикл «предварительного форматирования страницы», что дало мне повод пойти заварить очередную порцию кофе.

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

Игры, написание кода и радость возвращения в «сегодня»


Я попытался поделиться своими мучениями в Twitter. Печально, но клиента Twitter для DOS не существует. Когда я попробовал отправить твит из командной строки при помощи WGET, Twitter.com не смог разрешиться – мне не удалось выяснить, какой сетевой стек он должен использовать, поэтому я просто написал себе напоминание в заметке Post-It.

Вскоре я уже испытывал синдром отмены копипаста, и настало время передохнуть. Тогда я начал разбирать скачанные заранее игры. Одно из предлагаемых FreeDOS развлечений для геймеров – это его коллекция эмуляторов. Существуют десятки DOS-версий классических консолей, включая NES, Gameboy и Atari 800.

У меня также был бесплатный мод DOOM под названием FREEDOOM, и некоторое время я провел за исследованием пиксельного ада, расстреливая монстров. Еще было две версии Тетриса и сайд-скроллинг в стиле Марио под именем HappyLand, в котором я…честно говоря, не знал, что делать. Клон Space Invaders под DOS вел к сбою системы при каждой моей попытке его загрузить.

Напрудив лужу VGA-крови, я переключился на инструменты разработчика. GNU Compiler Collection была портирована на FreeDOS в виде платформы DJGPP. Она позволяет создавать 32-битные программы, запускаемые из DOS, а в марте 2012 претерпела обновление, получив в дополнение к C, C++ и Fortran язык программирования Go. Эта платформа также включает интегрированную среду разработки RHIDE. Есть еще пара десятков других бесплатных компиляторов и сред выполнения, включая выпущенные в начале этого года для языка FORTH.

Конечно же, разработчикам доступно много разного ПО, поддержка которого давно прекратилась. Чисто из чувства ностальгии я скачал Turbo Pascal и Harbour, открытый компилятор для Clipper. Как только я отлажу свое приложение менеджера контактов DOS, так сразу же выложу ссылку на него.

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

Только не просите меня использовать ее каждый день. Пожалуйста.

Теги:
Хабы:
Всего голосов 30: ↑25 и ↓5+34
Комментарии36

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds