В 1994 году появилась альтернатива MS-DOS, которая получила название FreeDOS. Это свободная операционная система с текстовым интерфейсом, о которой знают миллионы пользователей ПК. ОС не только не устарела, но и продолжает развиваться — в первую очередь, благодаря энтузиастам.

Что это за система?

Первая версия будущей операционной системы появилась в 1994 году, ее автор  — Джим Холл. Изначально ОС называлась PD-DOS (Public Domain DOS). Холл разработал свой проект потому, что Microsoft объявила о переключении внимания на операционную систему следующего поколения — Windows 95. Многие пользователи ПК восприняли эту новость негативно и не были готовы к графике, оставаясь приверженцами чистой командной строки.

У PD-DOS достаточно быстро появились как ядро, так и интерпретатор командной строки COMMAND.COM с основными утилитами. Они и стали основой операционной системы. Официальный релиз начальной версии FreeDOS под лицензией GPL состоялся 12 января 1998 года.

Штурман и капитан корабля под названием FreeDOS по-прежнему Холл. Он утверждает, что уровень интереса к этой операционной системе остается примерно таким же. Не уменьшается и сообщество разработчиков.

«Судя по электронным письмам, которые люди присылают мне с вопросами, или по новым людям, которые задают вопросы в наших списках рассылки freedos-user или freedos-devel, или людям, говорящих о FreeDOS в Facebook и на других форумах, я бы сказал, что примерно столько же людей так или иначе участвуют в сообществе FreeDOS», — рассказывает Холл.

Что с FreeDOS происходит сейчас?

ОС до сих пор в строю. Текущая версия FreeDOS 1.3 была представлена в 2022 году. Сейчас ее используют в таких сферах, как предустановка минимального окружения на новые компьютеры, запуск старых игр, обучение студентов основам построения операционных систем, создание CD/Flash для установки прошивок и настройки материнской платы. Еще она используется в эмуляторах (например, DOSEmu) и на встраиваемой технике (например, POS-терминалы).

Возможности FreeDOS:

  • поддержка FAT32 и длинных имен файлов;

  • возможность запуска сетевых приложений;

  • реализация дискового кэша;

  • поддержка систем управления памятью HIMEM, EMM386 и UMBPCI. Менеджер памяти JEMM386;

  • поддержка системы печати;

  • драйверы для CD-ROM, мыши;

  • поддержка ACPI, временного засыпания и работы в энергосберегающем режиме;

  • в комплекте есть медиаплеер MPXPLAY с поддержкой mp3, ogg и wmv;

  • XDMA и XDVD — UDMA-драйверы для жестких дисков и DVD-приводов;

  • драйвер мыши CUTEMOUSE;

  • утилиты для работы с архивами 7Zip, INFO-ZIP zip и unzip;

  • многооконные текстовые редакторы EDIT и SETEDIT, просмотрщик файлов PG;

  • FreeCOM — командная оболочка с поддержкой автодополнения имён файлов;

  • поддержка сети, веб-браузеры Links и Dillo, BitTorrent-клиент;

  • наличие пакетного менеджера и поддержка установки различных частей ОС в виде пакетов;

  • комплект портированных из Linux программ (DJGPP);

  • набор высокопроизводительных сетевых приложений mtcp;

  • поддержка USB-контроллеров и возможность работы с USB Flash.

Что дальше? 

Следующего крупного обновления ждать придется еще пару лет как минимум: они выходят раз в 4–6 лет. Почему так медленно? Причин несколько. Комьюнити работает на добровольных началах, да и сообщество у этой ОС все же меньше, чем у того же Linux. К тому же приходится прикладывать значительные усилия, чтобы преодолеть технологическую пропасть между кодом системы родом из 90-х и современным оборудованием.

Кроме оборудования, важная и сложная проблема — переход с BIOS (Basic Input/Output System) на UEFI (Unified Extensible Firmware Interface). Почти все производители уже перешли на UEFI. Кроме того, появляются все новые и новые архитектуры, на поддержку которых FreeDOS был просто не рассчитан. Это, например, ARM и другие не совместимы с x86 архитектуры.

Создатель FreeDOS говорит, что эта ОС, в общем-то, и не нужна на новых ПК и ноутбуках. Лучше всего запускать ее на виртуальной машине, где реализована эмуляция BIOS. Но есть энтузиасты, которые запускают старую ОС на новых устройствах. Что касается старого железа, то FreeDOS идеально для него подходит.

Еще одно преимущество FreeDOS в том, что он позволяет запускать старые классические игры, вроде Nukem, Commander Keen, Biomenace, Wolfenstein 3D. Конечно, это касается не только игр, но и DOS-приложений, которые были актуальными несколько десятков лет назад.

В версии 1.3 появилось несколько современных фич. В их числе:

  • поддержка файловой системы FAT32: для сохранения обратной совместимости с MS-DOS ядро остается 16-разрядным;

  • утилиты zip и unzip: включены в базовый состав «чистого» DOS;

  • сжатие данных в сборке для дискет: позволяет в два раза снизить число необходимых флоппи-дисков;

  • поддержка сетевого стека;

  • командная оболочка FreeCOM (вариант COMMAND.COM): обновлена до версии 0.85a;

  • поддержка новых программ и игр, обновлены версии сторонних утилит;

  • модернизирован процесс установки;

  • улучшена инициализация CD-привода и реализованы CD-сборки для загрузки в Live-режиме;

  • добавлена поддержка автоматической настройки информации для COUNTRY.SYS;

  • программа Help переведена на использование AMB (html ebook reader) для вывода справки.

Сейчас уже есть готовая тестовая версия 1.4 с несколькими интересными обновлениями. Большинство из них содержат исправления — например, новый fdisk, который обеспечивает обход ошибки BIOS Book8088, и новый архиватор Zoo, в котором есть исправление для кластеров размером более 32 КБ, обновлен редактор edlin. Кстати, одно из возможных нововведений — поддержка Windows, чего не было раньше.

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

Комментарии (8)


  1. adron_s
    12.07.2024 06:59
    +1

    На ноуте запущена игра Gorilla Base. Она написана на BASIC и входила в состав MSDOS. Помню как я ее на 386-м с черно-белым CGA монитором запускал.


    1. JustMoose
      12.07.2024 06:59
      +1

      Это не совсем ноут. Это проект Pocket8086 (или Pocket80386, без надписей не понять). Я пока не смог найти к нему описание, но точно видел готовые "ноуты" на али и на амазоне. Наверное можно покопать отзывы на Али и узнать подробностей.


  1. LAutour
    12.07.2024 06:59
    +2

    У DOS есть такое полезное свойство, как игнорирование защиты у файлов в NTFS (доступ к файловой системе NTFS через Paragon драйвер). Это позволяет удалять при необходимости то, что Windows не позволяет.


    1. numb13
      12.07.2024 06:59

      У linux тоже такое свойство есть. Наверное и драйвер тот же.

      Хотя в 6.22 встроенной поддержки ntfs не было.


  1. NickDoom
    12.07.2024 06:59
    +7

    Её саму надо как модуль уефи реализовать.

    И чтобы на каждом аппаратном ядре крутилась одна инстанция. Сколько ядер — столько и задач.

    Просто, быстро, никакого квантования времени и жёсткий реалтайм. И доступна по щелчку выключателя, есть материнка — есть и ДОС.

    Кроме функционала восстановления и администрирования, это ещё даёт некоторые удобства в индустриальном применении бывших офисных материнок. Реалтайм в промышленных приложениях бывает ценен, а простота уровня «нечему глючить» — бесценен.


    1. NickDoom
      12.07.2024 06:59
      +1

      UPD: …а ещё собранная под конкретную материнку «уефидос» позволила бы использовать железо максимально интересным образом, вплоть до общения с произвольными девайсами через пины VGA, предназначенные для определения параметров монитора, ну и всё такое же подобное :)


  1. litos
    12.07.2024 06:59

    Использовал FreeDOS лет 5 назад для обновления BIOS на материнских платах (без UEFI), а на ретро-пк думаю надо ставить ту ОС которая там была во время его выхода.

    Но проект интересный именно в силу своей открытости и лицензии, опять же легко записать на usb (тем же rusfus), есть образы для VM и iso-образы для быстрого старта.


  1. ash_lm
    12.07.2024 06:59
    +1

    Любопытства ради. Помню, что в DOS для запуска некоторых игр нужно было включать XMS, для некоторых наоборот отключать. В результате приходилось постоянно редактировать CONFIG.SYS и перезагружаться. Во FreeDOS как обстоят с этим дела?