vak: (Аристипп)
[personal profile] vak
Я собрал коллекцию образов загрузочных флопиков с разными версиями DOS: здесь. Надеюсь постепенно оживить все версии на симуляторе. Подумал, а пусть ИИ поведает нам их историю. Здесь краткий конспект на русском, выжимка из Evolution_of_DOS.md.

Ранние годы (1981–1983): строим фундамент

PC DOS 1.10 (май 1982)

Это обновление первой версии для IBM PC. Добавили поддержку двусторонних дискет — с 160 КБ до 320 КБ.

Сейчас звучит смешно. Тогда это было почти удвоение Вселенной.

Исправили ошибки, улучшили работу с файлами, сделали систему стабильнее.

Но:
  • никаких жёстких дисков,
  • никаких каталогов — все файлы в одном списке,
  • команды вроде FORMAT пугали новичков.
Тем не менее система грузилась за секунды на 4,77 МГц. И это было впечатляюще.

MS-DOS 1.25 (август 1982)

Вот тут начинается магия рынка.

Microsoft поняла: если дать DOS не только IBM, но и другим производителям, появится рынок «совместимых ПК».

Так и произошло.

Технически версия почти та же, что PC DOS 1.1. Но стратегически — это шаг, который создал экосистему клонов.

Проблема? Разное «железо». Приходилось настраивать систему под каждого производителя.

Но рынок рос.

PC DOS 2.10 (1983)

Появились жёсткие диски в IBM PC XT. И DOS пришлось взрослеть.

Добавили:
  • иерархические каталоги,
  • поддержку HDD до 10 МБ,
  • AUTOEXEC.BAT (автоматизация!).
Это был переход от «игрушки с дискетами» к настоящему рабочему инструменту.

MS-DOS 2.12

Редкая OEM-версия, адаптированная под специфическое оборудование (Texas Instruments, Compaq).

Это был период фрагментации. Каждый хотел своё. Система начинала разветвляться.

Средний период (1984–1991): рост и усложнение

PC DOS 3.30 (1987)

Теперь поддержка:
  • дискет 1,44 МБ,
  • разделов до 32 МБ,
  • международных кодировок.
Мир становился больше — DOS расширялась.

Но многозадачности всё ещё нет. Управление памятью — довольно примитивное.

PC DOS 4.01 (1988)

Предыдущая версия 4.0 была нестабильной. Добавили DOSSHELL — графическую оболочку. Но система падала.

Версия 4.01 исправила ошибки.

Интересный момент: DOS пыталась стать более «дружелюбной». Но архитектура у неё была не для GUI.

Это как прикрутить руль от автомобиля к велосипеду.

PC DOS 5.02 (1993)

Добавили:
  • полноэкранный редактор EDIT,
  • EMM386 для работы с расширенной памятью.
Вот тут начинается борьба с барьером 640 КБ. Инженерные трюки, верхняя память, EMS, XMS — целый цирк с адресными пространствами.

Но работало!

Расхождение путей (1993–1995)

В 90-е Microsoft переключается на Windows. DOS остаётся как фундамент.

IBM продолжает развивать PC DOS.

MS-DOS 6.22 (1994)

Последняя самостоятельная версия.

Добавили:
  • DriveSpace (сжатие диска),
  • SCANDISK,
  • DEFRAG.
Сжатие диска — это инженерная поэзия: вы делаете вид, что у вас в два раза больше места, хотя физически его не стало больше.

Но были патентные войны со Stac Electronics. Юридические битвы тоже часть эволюции технологий.

PC DOS 6.30

IBM ответила своей версией:
  • SuperStor (сжатие),
  • RAMBoost,
  • резервное копирование.
IBM делала ставку на надёжность.

PC DOS 7.0 (1995)

Добавили:
  • язык сценариев REXX,
  • Stacker,
  • поддержку XDF-дискет.
Это уже система для корпоративных задач.

Но мир уходил в Windows.

Поздний этап (1995–2003): жизнь внутри Windows

MS-DOS 7.1 (1998)

Она шла вместе с Windows 98.

Добавили:
  • FAT32,
  • поддержку больших дисков,
  • длинные имена файлов.
Но это уже не самостоятельная система. Это фундамент под Windows.

PC DOS 7.00 Release 1 (1998)

Исправления для Y2K. Добавили символ евро.

Это не революция — это аккуратная уборка перед новым тысячелетием.

PC DOS 7.1 (2003)

Добавили:
  • FAT32,
  • LBA,
  • поддержку больших дисков.
Использовалась в служебных и встроенных решениях IBM.

Это уже эпилог истории.

Date: 2026-02-12 23:30 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
А, ну это краткое обозрение. А то ж в 90м - 91м уже была какая-то популярная, но не из этих (забыл, какая)

список на википедии

Date: 2026-02-13 00:41 (UTC)
vlad_m: (Default)
From: [personal profile] vlad_m
Compaq DOS 3.31
Поддержка больших дисков.
До 2G, емнип.

Date: 2026-02-13 00:44 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Вот я тоже припоминаю, что классикой была 3.30; 4.0 была жопа, а 4.01 уже позволяла распараллеливать (что позволяло гонять фидо).

Date: 2026-02-13 00:50 (UTC)
ufm: (Default)
From: [personal profile] ufm
а ты с DesqView не путаешь?

Date: 2026-02-13 00:55 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Вообще не знаю, что за DesqView - но всё равно могу путать.

Date: 2026-02-13 01:04 (UTC)
sab123: (Default)
From: [personal profile] sab123
Была 3.30, и потом следующая массовая 5.0.

Date: 2026-02-13 01:07 (UTC)
sab123: (Default)
From: [personal profile] sab123
DOS Shell не была графической, она была в псевдографике. Это они, похоже, так переименовали PC Shell, которая шла в комплекте PC Tools - выглядела очень и очень похоже. У нас как-то Нортон Коммандер всех побеждал, а в Америке вроде PC Shell была популярной. DEFRAG - тоже был частью PC Tools, про остальных не помню, но похоже что они купили PC Tools целиком.

Date: 2026-02-13 04:30 (UTC)
last_least: (Default)
From: [personal profile] last_least
DR-DOS была более-менее популярна, но майкрософт ей подлянку устроил.

Date: 2026-02-13 07:21 (UTC)
From: [personal profile] borisk
XTree Gold ещё была

Date: 2026-02-13 07:25 (UTC)
b0p0h0k: (Default)
From: [personal profile] b0p0h0k
Кристаллический чистый DOS - это 3.30. Дальше уже прикручивание бесполезных бантиков. Неинтересно.

Date: 2026-02-13 08:19 (UTC)
dimorlus: (Default)
From: [personal profile] dimorlus
Распараллеливать для ФИДО никакая ДОС не позволяла. Позволял DesqView (особенно с QEMM на 386), потом Win3.11 на 386. Я пользовался, на сколько помню, 3.30, потом 5.х и 6.х (не помню х и менялся ли он у меня), потом ДОС, как таковой, умер, это было ДОС окно, хотя у меня оно прожило (не само по себе, я в нем работал) до появления Win7 64, то есть где-то до 2010 года, конечно, все реже и реже используясь. Был еще DR-DOS, я пробовал (версию не помню, где-то в середине девяностых), но он не прижился у меня, хотя были в Фидо те, кто под ним сидел (или так говорил).

Date: 2026-02-13 08:46 (UTC)
From: [personal profile] litwr
Классная подборка дистрибутивов! Но история какая-то тенденциозная и фрагментарная. Есть про 2.12, но нет про гораздо более известную 2.11. А были и 2.13, 2.2, 2.3, ...
Интересна магия версии 3.30 - это была финальная версия Apple DOS. А для IBM PC - это был последний нормальный апгрейд. 4.0 не пошла, вместо неё пошёл DR-DOS 5 - тогда либо держались за 3.30, либо переходили на неё. 4.01 рядом с DR-DOS выглядела бледно и могла ставиться только по приказу. Однако, прорыв "магического барьера" стоил дорого, создатель DR как-то странно и безвременно погиб, был убит... В истории DR-DOS совсем не упомянут. :( Хотя DR-DOS 7 и 8 - это последние наверное коммерческие релисы ДОСа.
Не упомянут MS-DOS 8 - он извлекается из XP и после простенького патча на бут-сектор работает с жесткого диска.
Не упомянуты также Free DOS, который развивался до недавних пор и используется довольно часто. Могли бы упомянуть небезынтересный PTS-DOS.
Короче, согласен с juan_gandhi лучше читать Википедию.

Date: 2026-02-13 10:19 (UTC)
kondybas: (Default)
From: [personal profile] kondybas
Еще біл протогипервизор VM/386 - я с ним пять лет прокорячился.

Date: 2026-02-13 10:26 (UTC)
From: [personal profile] litwr
Флоппик с MS-DOS 8 стандартно получается из XP командой типа сделать загрузочную дискету. У меня есть XP под VirtualBox. Сделать? Или могу образ, через который этот ДОС грузится через GRUB 2.0 на современном компе. Ну и на старом Celeron-e есть загрузка этого ДОС (пропатченного) прямо с жесткого диска.
DR-DOS с 1989 до 1992 и был мейнстрим.
Но если дочитали мою статью про ДОС, то знаете удивительный малоизвестный факт: только майкрософтские ДОСы (IBM-ских не пробовал) стабильно работают с аппаратными прерываниями. Причина неизвестна до сих пор! Хотя на стандартном софте сбои прочих ДОСов очень редки.
Edited Date: 2026-02-13 10:27 (UTC)

Date: 2026-02-13 10:46 (UTC)
dmarck: (Default)
From: [personal profile] dmarck
sidenote: 4.0 выпускался прицельно как дос-шелл под OS/2, оттого нёс в себе гору "детских болезней"

Date: 2026-02-13 12:02 (UTC)
dimorlus: (Default)
From: [personal profile] dimorlus
А что значит DOS стабильно работают с аппаратными прерываниями? В PC же постоянно идут прерывания, ну как минимум от таймера, даже если вообще ничего не происходит. А так, для досовских программ было типично полностью или частично (отдавая обработку оригинальному вектору или нет) обрабатывать те или иные аппаратные прерывания, и я не припоминаю, чтобы хоть под какой-то ДОС с этим проблемы были.

Date: 2026-02-13 12:40 (UTC)
From: [personal profile] litwr
Обнаружил эту проблему в 1999 и уже тогда было непонятно, кому сообщать о баге. Написал разработчикам FreeDOS, ответа не было. Проблема непростая, у них там попроще дел до сих пор не в проворот. На самом деле обнаружились даже две проблемы. Но вторая явно чисто софтверная: FreeDOS и PTS-DOS ломались при штатном выходе из программы, если менялось значение в PSP по адресу 16h. Это значение официально не документировано и MS-DOS, и DR-DOS от такого не ломались.
Баг с прерываниями при стандартных установках проявляется наверное настолько редко, что его практически невозможно в таких условиях поймать. У меня в коде перехватывались IR0 (таймер) и IRQ1 (клава) и таймер перепрограммировался с 18.2 Гц на примерно 37 КГц - это в тысячи раз повышало вероятность поймать хитрого бага. Комп всегда подвисал после нескольких секунд работы, но только не под MS-DOS - там всё шло нормально хоть часами. Потом нашел способ немного изменить код и он стал работать со всеми ДОСами стабильно. Но почему так - загадка.

Date: 2026-02-13 12:47 (UTC)
dimorlus: (Default)
From: [personal profile] dimorlus
Однако, прорыв "магического барьера" стоил дорого, создатель DR как-то странно и безвременно погиб, был убит. Вот уж не думаю, что кончина Килдалла при несколько туманных обстоятельствах в 94 году хоть как-то связана с ДОС (DR-DOS). Я когда-то ее пробовал, ее фичи были избыточны, ресурсов они требовали больше MS-DOS, что-то глючило, ведь в те времена всякие недокументированные особенности систем широко использовались программами, в DR-DOS что-то работало не так. Кстати странно, что во всем этом треде нигде не упомянут фундаментальный Interrupt list by Ralf Brown.

Date: 2026-02-13 12:54 (UTC)
dimorlus: (Default)
From: [personal profile] dimorlus
Все равно ничего не понял, если какой-то ДОС нестабильно работает с прерываниями, то он вообще не работает. Таймерное прерывание полностью перехватывать было не принято, обычно программа что-то делала и отдавала обработку дальше, в отличие, скажем от прерывания от компорта, которое какой-нибудь терминал обрабатывал сам до конца (до посылания контроллеру прерываний команды об окончании обработки). Может быть при 37kHz DOS/BIOS просто не успевали до следующего?

Date: 2026-02-13 12:56 (UTC)
dimorlus: (Default)
From: [personal profile] dimorlus
Это как-то мимо прошло.

Date: 2026-02-13 13:09 (UTC)
From: [personal profile] litwr
DR-DOS 5 первая предложила использовать HIMEM и UMM - это был прорыв. Всё работало. Проблемы начались, когда в 1991 Microsoft выпустила, наконец, свой MS-DOS 5 с теми же основными фичами, что и DR-DOS + они что-то изменили в Windows и там стали возникать проблемы с DR-DOS. Это тогда уже был существенный фактор и постепенно в тренд опять вышел на MS-DOS. Подозреваю, что Microsoft хотело закончить с ДОСом к концу 80-х, толкая всех к виндам. Но DR сломал им эту игру, отжав немалое число пользователей ДОС. Пришлось Биллу менять стратегию и пролонгировать существование собственного ДОСа. Непонятно, что случилось с Гарри и почему, но он реально сломал какой-то барьер. А дальше пошла "магия" - дело тёмное. Некоторые такую магию называют диалектика. Может лет через 200 из каких архивов что и вывалится. А он мог ещё и триумфальному шествию Виндуз 95 помешать.
Edited Date: 2026-02-13 13:55 (UTC)

Date: 2026-02-13 13:21 (UTC)
From: [personal profile] litwr
Да у меня именно такой код - прерывание по IRQ0 перехватывалось и по счетчику, когда нужно, происходил вызов кода из БИОС. И, повторю, в MS-DOS все отлично работало. Ваша идея, что просто код БИОС обработчика был у прочих ДОСов такой, что иногда исполнялся очень долго решает проблему. Но на 486@120MHz это как-то сомнительно, 37 КНz для такой системы это совсем маленький оверхед. Пробовал тогда на Pentium-66/90 - всё было аналогично. Кроме того, как и писал, после небольшого изменения кода, проблема отпала. Изменение никак на тайминги не влияло. Думал ещё о переполнении стека, но добавление стеков проблемы не решало. В итоге уперся в то, что под не MS-DOS как-то не так срабатывает контроллер прерываний, но это было уже для меня через чур. Тем более, что проблема-то решилась, осталась только загадка вокруг неё.

Date: 2026-02-13 13:28 (UTC)
From: [personal profile] litwr
И Гарри чуть и вообще Виндуз не ликвидировал своим ГЕМ - Microsoft тогда спаслась через судебную тяжбу и помощь Apple.
Edited Date: 2026-02-13 13:31 (UTC)