SvarDOS: современная инкарнация DOS с открытым кодом и репозиторием

9c1a778f9e889be3cdc9c948e448a9fc.png

Меня всегда восхищали люди, которые верят в успех своих разработок. Часто они реализуют все поставленные планы и перевыполняют намеченное. Только представьте: назвать свою компанию «Межгалактические цифровые исследования» и после этого создать собственную операционную систему на своем же языке программирования. Это не придуманная история, все так и было.

Американец Гэри Арлен Килдалл (Gary Kildall) вместе со своей женой основал компанию Intergalactic Digital Research, позже Digital Research, Inc — не путать с Digital Equipment Corporation. Его операционная система CP/M получила бешеную по тем временам популярность и была продана тиражом более четверти миллиона копий. Сегодня обсудим, как давнее детище этого же программиста внезапно получило развитие в современном мире и как энтузиасты ретрокомпьютинга решили сделать свою собственную версию DOS с открытым исходным кодом.

Взгляд в прошлое

Intel 4004, источник изображения

На дворе 1972 год. Гэри Килдалл покупает себе процессор Intel 4004, вышедший меньше года назад, и вовсю экспериментирует с его программированием. Если совсем грубо, это можно сравнить с тем, как сейчас купить микроконтроллер ATmega328 или ESP32 и пробовать писать под него софт. Только тогда это был настоящий хардкор. Никаких тебе визуальных редакторов или высокоуровневых языков программирования. Вот ассемблер, вот весьма ограниченный набор инструкций, вот четыре килобайта доступной памяти — развлекайся.

Гэри быстро смекнул, что для всего этого великолепия нужен как минимум язык программирования, ведь писать на чистом ассемблере — сложно и долго. Засучив рукава он написал процедурный язык PL/M, или Programming Language for Microcomputers. Это сразу решило массу проблем, снижая порог вхождения в разработку. Но это было только началом, первым важным шагом к созданию новой операционной системы CP/M.

Консоль CP/M (источник изображения)

CP/M расшифровывалась как Control Programs for Microcomputers, и это в полной мере раскрывало ее назначение. Ко второй половине 70-х она стала самой популярной ОС для микрокомпьютеров на процессорах Intel 8080 и Zilog Z80. Конкурентов на тот момент у CP/M не было — ровно до того момента, как микрокомпьютеры не стали вытесняться персональными ПК.

Не буду пересказывать всю историю борьбы Гэри с такими монстрами, как Microsoft и IBM, чтобы не повторяться. Все это давно есть здесь, на Хабре. Из всей этой истории можно проследить один важный факт — CP/M легла в основу как MS-DOS, так и собственной разработки Digital Research DR-DOS. Эти две операционные системы шли параллельным курсом и до 1991 года даже были по факту совместимы друг с другом. После 1991 года лидерство захватила Microsoft, а про DR-DOS стали забывать, ведь он уже не был совместим с первыми версиями Windows.

Дистрибутив Novell DOS 7, источник изображения

В конечном счете DR-DOS была продана небезызвестной компании Novell, которая уже давно занималась разработками систем на CP/M. Последняя сразу отказалась от оригинального названия, переименовав DR-DOS в Novell DOS. Какое-то время разработка действительно продолжалась и были выпущены две новые версии Novell DOS 6 и 7. Но потом от дальнейшего развития решили отказаться.

Причин тому масса: от доминирования MS-DOS и появления Windows до необходимости сосредоточиться на сетевых технологиях для NetWare. Так что права на Novell DOS были проданы Caldera Systems, впоследствии ставшей печально известной The SCO Group. Та поступила весьма интересно, вновь переименовав операционную систему в OpenDOS, и продолжила разработку, пофиксив множество багов 7-й версии. Но самое главное — исходный код ОС открыли для некоммерческого использования, а это позволило энтузиастам создавать свои разработки на базе OpenDOS.

Хождение по мукам для детища Килдалла на этом не закончилось. Caldera Systems была разделена на три разные компании, и права на OpenDOS перешли к одной из них — Lineo. Та, недолго думая, опять переименовала ОС, вернув ей изначальное название DR-DOS, и продолжила разработку, делая упор на встраиваемые системы. Расчет был вполне понятен: большинство таких систем обладало сильно ограниченными ресурсами, и компактная DR-DOS отлично вписывалась в этот ландшафт.

Lineo выпустил еще две версии операционной системы, которые унаследовали открытый исходный код (DR-DOS 7.02 и 7.03). Как вы думаете, что произошло дальше? Правильно — права снова продали, на сей раз DeviceLogics (позднее DRDOS, Inc). Те уже не стали заниматься очередным переименованием, а выпустили DR-DOS 8, но снова под коммерческой лицензией и с закрытым исходным кодом. Они успешно продавали DR-DOS до 2018 года, после чего тихо и мирно ушли в офлайн.

Тут можно было бы поставить точку в истории DR-DOS, но современный мир тем и хорош, что полон энтузиастов. Поскольку OpenDOS выпускалась с открытым исходным кодом, любой разработчик мог сделать форк и »‎поднять упавшее знамя»‎. Это и произошло — на свет появилась SvarDOS.

Как установить SvarDOS

Установочный дистрибутив SvarDOS доступен аж в трех вариантах:

  • Stable build, распространяющийся в виде ISO-образа CD-ROM и наборов IMG-образов флоппи-дисков (от 360K до 1.44M). Бонус — файл для USB-флешки.

  • BNS build есть только в виде ISO-образа, предназначенного для людей с ограниченными возможностями. В этот дистрибутив встроен PROVOX, приложение для чтения с экрана, которое позволяет спокойно установить и использовать SvarDOS незрячим людям. Также он поддерживает подключение устройства Braille «n Speak — портативного девайса, совмещающего в себе клавиатуру Брайля и синтезатор речи.

  • Bleeding-edge-версия доступна, как и Stable, во всех возможных вариантах. Но стоит помнить, что это по факту альфа-версия, которая может как угодно глючить.

Ну, а для тех, кому интересно взглянуть на исходный код и, возможно, самостоятельно поучаствовать в развитии, есть репозиторий Subversion:

svn co svn://svn.svardos.org/svardos svardos

Любопытно здесь то, что SvarDOS разрабатывается по модели rolling-release. Вместо выпуска определенных версий здесь билды выгружаются по мере готовности, что дает возможность всегда использовать актуальную версию ОС на момент скачивания. Основными платформами, на которые рассчитан SvarDOS, являются ретрокомпьютеры, выпущенные с 1980 по 2000 годы. Но никто не мешает установить ее в виде виртуальной машины для того же VirtualBox.

Главное окно инсталлятора

Главное окно инсталлятора

Инсталлятор встречает нас выбором языка, где внезапно есть Russian. Далее система предложит выбрать раскладку клавиатуры. И там также русский язык поддерживается:

2882371f489aa105a9394b8094a826a0.png

Вот только переводилось все при помощи, видимо, Гугл Транслейта, что хорошо видно на следующем экране:

3bd611c06b779b3dfcdca8d27f0ef674.png

Казалось бы, все хорошо, и надо тыкать в Установить SvarDOS, но вспоминаем, что у нас чистый и никак не размеченный диск. Значит, нам нужно для начала создать на нем таблицу разделов при помощи FDISK:

1b9e3640175e16318312080e3eef67e8.png

И вот только теперь, повторно использовав те же самые пункты, можно приступать к установке. Нас встречает небольшое окно выбора диска:

93012f3fd644a18c4f2e173e74dfd124.png

Дальше система автоматически определит, что диск не отформатирован, и предложит это сделать:

e2baa9929bdaab757403aacbb81c04c8.png

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

a21941bd8276d765879417eeb86d341a.png

В финале появится надпись »‎SvarDOS установлен. Перезагрузите компьютер».‎

Особенности использования

94b2611a56a5d53ec48760bc274e21a0.png

Если посмотреть на SvarDOS глобально, главной целью этого проекта было сделать использование DOS более удобным и доступным, как для «ретрожелеза», так и для всевозможных эмуляторов (и устройств на их основе). Главная особенность SvarDOS — наличие пакетного менеджера и собственного репозитория, позволяющего напрямую устанавливать пакеты в систему. Этот репозиторий доступен не только из сети, но и локально в виде ISO-образа.

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

C:\> PKG INSTALL PACKAGE.SVP

Для работы с сетевым репозиторием есть команда PKGNET, значительно упрощающая доставку пакетов до целевой машины. По умолчанию SvarDOS поддерживает все команды обычного MS-DOS и способен запускать все те же приложения. При этом разработчики сосредоточились на улучшениях, связанных с управлением памятью и совместимостью с большим количеством оборудования.

Разумеется, SvarDOS — это не единственный дистрибутив, который ставит перед собой подобную задачу. Его основной оппонент — проект FreeDOS, появившийся впервые в 2006 году. Последний выпускает релизы приблизительно раз в пять лет. Даже несмотря на то, что DOS в целом сейчас интересен только энтузиастам, такой промежуток между релизами выглядит слишком большим. SvarDOS с его rolling-release-подходом в этом плане более привлекателен.

Опять же FreeDOS пошел по пути включения в свой состав исключительно свободного программного обеспечения. Это накладывает ограничения на то, какие пакеты в результате будут в дистрибутиве. У SvarDOS в этом плане все более либерально. Пакеты, которые попадают в репозиторий, должны соответствовать четырем простым критериям:

  • быть полезными для пользователей;

  • иметь приличное качество;

  • быть бесплатными;

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

Таким образом, если какое-то ПО соответствует этим критериям, то из них можно собрать SVP-пакет (ZIP-архив с дополнительными метаданными и скриптами установки и удаления) и отправить в общедоступный репозиторий.

Финалим

Очередная реинкарнация DR-DOS под крылом энтузиастов ретрокомпьютинга уже многих заинтересовала. Особенно с учетом того, что каждый может внести свой посильный вклад в проект: пофиксить баг или перевести что-то. А может быть, даже добавить поддержку какого-нибудь редкого оборудования. Уверен, любая помощь придется кстати.

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

А как вы думаете, сможет ли SvarDOS достигнуть поставленных целей? Ждем вас в комментариях.

© Habrahabr.ru