Эта статья является кандидатом в добротные статьи

86-DOS

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
86-DOS
Изображение логотипа
Пример сессии 86-DOS (эмуляция).
Разработчик Seattle Computer Products / Тим Патерсон
Семейство ОС DOS
Исходный код Закрытый исходный код
Первый выпуск 1980
Последняя версия 86-DOS 1.14 (11 декабря 1981)
Поддерживаемые языки английский
Поддерживаемые платформы x86
Тип ядра монолитное
Интерфейс интерфейс командной строки
Лицензия проприетарная
Состояние Историческое
Следующая PC DOS и MS-DOS

86-DOS — операционная система, разработанная и поддерживаемая фирмой Seattle Computer Products[англ.] для своего компьютера, основанного на микропроцессоре Intel 8086. Внутри компании и до августа 1980 года операционная система была известна как QDOS[1] (англ. Quick and Dirty Operating System — сделанная наспех[2] операционная система, дословный перевод — быстрая и грязная операционная система).

86-DOS имела сходные команды с другими операционными системами тех времен, включая OS/8[англ.] и CP/M, а также имела API, который повторял API CP/M, что позволяло легко портировать программы из последних[3]. Впоследствии система была лицензирована Microsoft[4], а в июле 1981 года была также куплена и переименована сначала в PC DOS, а потом в MS-DOS[5].

Происхождение

[править | править код]

86-DOS была создана потому, что продажи микрокомпьютера Seattle Computer Products 8086, представленного в июне 1979 и поступившего в продажу в ноябре[6], падали из-за отсутствия операционной системы. Единственным программным обеспечением, которое шло вместе с платой, являлось Standalone Disk BASIC-86 от Microsoft, разработанное специально для оборудования, производимого SCP[6]. SCP хотела использовать в качестве операционной системы версию CP/M для Intel 8086, которую Digital Research изначально анонсировала на ноябрь 1979 года, но впоследствии выпуск пришлось отложить на неопределенный срок[7]. В апреле 1980 года SCP поручила Тиму Патерсону разработать замену CP/M-86[англ.][6].

Используя руководство по CP/M-80 в качестве справочного материала[8], Патерсон смоделировал 86-DOS именно на его основе, но адаптировал свою операционную систему для соответствия требованиям 16-разрядного процессора Intel 8086, а также для легкой и частично автоматизированной трансляции многих 8-битных программ для CP/M[7]. В то же время он внес множество усовершенствований, которые должны были исправить то, что он считал недостатками CP/M, такими он считал, например, кэширование информации о файловой системе в памяти для скорости, это требовало от пользователя принудительное обновление диска перед его извлечением, если он забывал сделать это, то диск становился поврежденным. Патерсон же выбрал безопасный, но более медленный подход, чтобы устранить данную проблему. Кроме того, недостатком CP/M он считал также тот факт, что команда PIP (Peripheral Interchange Program[англ.]), которая копировала файлы, поддерживала несколько специальных имен файлов, чтобы ссылаться на аппаратные устройства, такие как принтеры и аппаратные порты. Патерсон встроил данные имена в свою операционную систему как файлы устройств, чтобы любая программа могла их использовать. Он дал своей программе копирования (и, соответственно, команде) более логичное и интуитивно понятное для пользователя название COPY. Ко всему прочему, вместо того, чтобы внедрить в 86-DOS файловую систему, которую использовала CP/M, он использовал FAT[3].

К середине 1980 года SCP рекламировала 86-DOS по цене в 95 долларов США для владельцев производимой ими же платы на базе Intel 8086, которая, в свою очередь, стоила 1290 долларов США, а для всех остальных — 195 долларов США. Она расхваливала способность операционной системы читать машинный код Zilog Z80 с диска CP/M и переводить его в машинный код Intel 8086 и обещала, что для создания двоичных файлов Intel 8086 потребуется только «незначительная ручная коррекция и оптимизация»[9].

В октябре 1980 года IBM разрабатывала компьютер, который впоследствии стал известен как первый IBM PC. CP/M была самой популярной операционной системой на тот момент, и IBM хотела использовать именно её для своего компьютера, чтобы конкурировать на рынке. Представители IBM посетили Digital Research и обсудили лицензирование с представителем по лицензированию от Digital Research Дороти Килдалл[англ.], которая колебалась, подписывать ли IBM соглашение о неразглашении. Хотя соглашение позже и было принято, Digital Research не приняла предложение IBM в размере 250 000 долларов США в обмен на количество копий, сколько IBM сможет продать, настаивая на платеже роялти[10]. Предполагается, что в более поздних обсуждениях между представителем IBM Джеком Сэмсом и Биллом Гейтсом, когда до этого Сэмс поручил ему найти операционную систему для IBM PC, Гейтс упомянул о 86-DOS, после чего Сэмс сказал получить Microsoft на нее лицензию[11][12].

Создание PC DOS

[править | править код]

В декабре 1980 года Microsoft приобрела неисключительную лицензию на 86-DOS у Seattle Computer Products, обязуясь выплачивать SCP множество платежей роялти за выдачу исходного кода 86-DOS любому OEM-производителю и многое другое[4]. В мае 1981 года она наняла Тима Патерсона, разработчика 86-DOS, для переноса системы на IBM PC[6], который использовал менее быстрый, но более дешёвый процессор Intel 8088, чем 8086 и имел собственное семейство периферийных устройств. IBM ежедневно следила за развитием событий, практически ежедневно отправляя запросы на изменение[англ.][6], прежде чем приняла продукт и написала для него руководство пользователя.

В июле 1981 года, за месяц до выпуска IBM PC, Microsoft приобрела все права на 86-DOS у Seattle Computer Products за 50 000 долларов США[6][5][13]. Она соответствовала основным критериям, которые требовались для IBM: дизайн, крайне похожий на CP/M[3], легкость адаптации существующих 8-битных программ CP/M для работы на ней, в частности, благодаря команде TRANS[англ.], которая транслировала машинный код процессора Intel 8080 в 8086[9]. Microsoft лицензировала 86-DOS для IBM[14], после чего появилась новая операционная система PC DOS. Лицензия, которой владела Microsoft, позволяла ей давать право другим компаниям делать из 86-DOS новые операционные системы[4]. Из-за этого, сделка оказалась невероятно успешной, а SCP позже заявила в суде, что Microsoft скрывала свое желание создать с IBM PC DOS для того, чтобы снизить цену. В конечном итоге SCP получила компенсацию в размере 1 миллиона долларов США[15].

Спор об интеллектуальной собственности

[править | править код]

Когда основатель Digital Research Гэри Килдалл изучил PC DOS и обнаружил, что её интерфейс дублирует интерфейс CP/M, он захотел подать в суд на IBM, которая в то время утверждала, что PC DOS является её собственным продуктом. Однако адвокат Килдалла считал, что действующий закон не достаточно ясен для подачи иска. Тем не менее, позже Гэри Килдалл встретился с IBM и убедил их предлагать IBM PC с CP/M-86 в обмен на освобождение от ответственности[16].

Продолжаются споры о сходстве двух систем, а самое, возможно, сенсационное заявление сделал Джерри Пурнелл, который утверждал, что Килдалл лично продемонстрировал ему, что PC DOS содержит команду, которая отображает имя Килдалла, а также то, что данная команда также присутствует в CP/M как пасхальное яйцо[17], но Пурнелл никогда не раскрывал название команды, и никто так и не подтвердил данную информацию, кроме самого Пурнелла. Тим Патерсон же настаивает, что 86-DOS является его оригинальным продуктом, и отрицает, что каким-либо образом использовал исходный код CP/M при написании операционной системы[18][19]. После выхода книги Патерсон подал в суд на авторов и издателей за клевету[20], а суд постановил в упрощенном порядке, что клеветы не было, поскольку утверждения книги либо были мнениями, основанными на исследованиях, либо не были доказуемо ложными[21].

История версий

[править | править код]
Название Дата Описание
QDOS 0.10 июль 1980[6] Первая версия, скомпилированная SCP, однако, законченная только наполовину[6]. В данной версии уже была использована файловая система FAT. В отличие от более ранней, 8-битной файловой системы FAT, которая использовалась в Standalone Disk BASIC-86, данная версия уже поддерживала 12 битную[англ.][22], а также переопределила семантику некоторых зарезервированных значений кластера и изменила структуру диска так, чтобы корневой каталог теперь находился между самой FAT и областью данных. Патерсон также уменьшил лимит длины имен файлов с 9 до 11 символов, однако, несмотря на это, операционная система всё-равно использовала 16-байтовые записи каталогов, что означало, что файловая система не совместима с той, которая стала известна как FAT12, использующаяся в MS-DOS и PC DOS[23].
QDOS/86-DOS 0.11 август 1980[6] Самая старая версия, которую можно установить из Интернета. Содержит одну игру — шахматы, несколько программ для копирования файлов и дисков, команду EDLIN[23][24] и исправления ошибок предыдущей версии[6].
86-DOS 0.2 август 1980 Первая версия, переименованная из QDOS в 86-DOS[9]. Номер версии «0.2» является лишь предположением, так как настоящий номер версии неизвестен[6][23].
86-DOS 0.3 15 ноября 1980 Первая версия, лицензированная Microsoft[4]. Данную версию часто путают с версиями 0.33 и 0.34[23].
86-DOS 0.33 декабрь 1980[6] Первая версия, распространяемая среди OEM-производителей[6][4]. Символ * теперь воспринимается как подстановочный знак, и, соответственно, является недопустимым в именах файлов, а размеры файлов теперь отображаются рядом с их именами при вводе команды DIR. Добавлены команды CHKDSK и DEBUG[1].
86-DOS 0.34 29 декабря 1980[25] Очищенная версия для OEM-производителей[6].
86-DOS 0.42 25 февраля 1981[25] По косвенному запросу IBM через Microsoft[5], размер записи каталогов был изменён с 16 байт до 32, аналогично MIDAS[англ.], что реализует то, что потом станет FAT12[13]. Всё ещё возможно читать тома, которые были сделаны в более ранних версиях 86-DOS.
86-DOS 0.56 23 марта 1981[25] Добавлена поддержка блокировки/разблокировки диска[5].
86-DOS 0.60 27 марта 1981[25] Согласно файлу DOSIO.ASM из 86-DOS 1.00, данная версия содержит новую систему ввода-вывода[26].
86-DOS 0.74 15 апреля 1981[25] Добавлены файлы устройств.
86-DOS 0.75 17 апреля 1981[25] Исправление ошибок.
86-DOS 0.76 23 апреля 1981[25] Исправление ошибок.
86-DOS 0.80 27 апреля 1981[25] Добавление системных вызовов.
86-DOS 1.00 28 апреля 1981[25] Изменены системные вызовы[6][23][26].
86-DOS 1.01 12 мая 1981[25] Согласно исходному коду MS DOS 2.0, содержит исправление ошибки в «STORE»[27] (похоже, что «STORE» — это команда).
86-DOS/MS-DOS 1.10 21 июля 1981[25] Куплена Microsoft и переименована в MS-DOS[23][5]. Добавлены команды DATE и TIME, а также новый атрибут у файлов: «скрытый» и поддержка расширения .EXE от Microsoft.
86-DOS 1.14 11 декабря 1981[23] По словам Тима Патерсона, PC DOS 1.0 полностью аналогична данной версии[23]. До версии 1.14 было три релиза: 1.11, 1.12 и 1.13, которые вышли в октябре 1981 года и включали в себя только исправления ошибок[27].

Следующий список команд поддерживается 86-DOS 0.3[28]:

Внутренние команды

[править | править код]

Внешние команды

[править | править код]

Примечания

[править | править код]

Комментарии

[править | править код]
  1. Преобразование шестнадцатеричных данных в двоичные[29][30].
  2. MARKDCPM.COM используется для модификации RDCPM.COM с целью обработки форматов, возможных в CP/M 2[28].
  3. Программа RDCPM.COM аналогична команде COPY в COMMAND.COM, за исключением того, что предполагается, что файл находится на диске, отформатированном CP/M-совместимой системой[28].
  1. 1 2 Патерсон, Тим. The Original DOS and the Old Days (англ.). YouTube (5 августа 2018). Дата обращения: 25 апреля 2025. Архивировано 19 января 2025 года.
  2. Определение quick and dirty на английском (англ.). Кембриджский словарь.
  3. 1 2 3 Allen, Paul; Gates, Bill; King, Adrian; Larson, Chris; Letwin, Gordon; O'Rear, Bob; Paterson, Tim; Peters, Chris; Phillips, Bruce; Reynolds, Aaron; Stillmaker, Betty; Zbikowski, Mark. MS-DOS (Versions 1.0-3.2) Technical Reference Encyclopedia : [англ.]. — 1986. — ISBN 0-914845-69-1.
  4. 1 2 3 4 5 86-DOS version 0.3 (1980-11-15) License Agreement between Seattle Computer Products and Microsoft (англ.) (PDF) (15 ноября 1980). — Опубликовано в рамках дела Comes против Microsoft[англ.] в качестве доказательства №1. Архивировано из оригинала 18 февраля 2020 года.
  5. 1 2 3 4 5 86-DOS Sales Agreement between Seattle Computer Products and Microsoft (англ.) (PDF) (27 июля 1981). — Опубликовано в рамках дела Comes против Microsoft[англ.] в качестве доказательства №2. Архивировано из оригинала 19 февраля 2020 года.
  6. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Хантер, Дэвид. The Roots of DOS: Tim Paterson (англ.). Softalk (март 1983). Архивировано из оригинала 6 сентября 2019 года.
  7. 1 2 Патерсон, Тим. An Inside Look at MS-DOS - The design decisions behind the popular operating system (англ.). Byte (июнь 1983).
  8. Cringely, Robert X. Triumph of the Nerds: The Rise of Accidental Empires (англ.) (июль 1996).
  9. 1 2 3 Seatle Computer Products. 86-DOS - 8086 OPERATING SYSTEM - $95 (англ.). Byte (август 1980).
  10. Freiberger, Paul; Swaine, Michael. стр. 332-333 // Fire in the Valley: The Making of the Personal Computer : [англ.]. — Нью-Йорк, 2000. — ISBN 0-07-135892-7.
  11. The workings of 86-DOS (англ.). BetaArchive (3 августа 2013). — Автор статьи не приписывает себе данное высказывание и множество других, что означает, что это не является первичным источником и доказательством данного утверждения без слова "предполагается", но это может доказать тот факт, что данное утверждение существует вообще. Если кто-то знает, может ли данное утверждение подтверждаться первичными авторитетными источниками, пожалуйста, сообщите об этом на странице обсуждения. Дата обращения: 12 мая 2025. Архивировано 27 апреля 2023 года.
  12. Hofer, Kevin. Gary Kildall: the almost-Gates (англ.). Digitec (19 мая 2022). — Скорее всего, также не является первичным источником, но еще раз доказывает, что данное утверждение существует вообще. Дата обращения: 12 мая 2025.
  13. 1 2 Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; Letwin, Gordon; Petzold, Charles; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, Van; Wong, William; Woodcock, JoAnne. Стр. 20 // The MS-DOS Encyclopedia: versions 1.0 through 3.2 : [англ.]. — 2. — Редмонд, Вашингтон, США. — ISBN 1-55615-049-0.
  14. MS-DOS. Definition, Features, Importance, & Facts (англ.). Britannica. Архивировано 26 апреля 2025 года.
  15. Phil Goldstein. What is MS-DOS: Computers Reshaped by Simple OS. BizTech (октябрь 2017). Дата обращения: 12 мая 2025. Архивировано 11 марта 2025 года.
  16. Laws, David. Fifty Years of the Personal Computer Operating System (англ.). Музей компьютерной истории (18 апреля 2024). Архивировано 21 апреля 2025 года.
  17. "this WEEK in TECH" (англ.). Twit Netcast (16 октября 2006).
  18. Патерсон, Тим. The Origins of DOS: DOS Creator Gives His View of Relationship Between CP/M, MS-DOS (англ.) (PDF). Microprocessor Report (3 октября 1994). Архивировано 31 мая 2012 года.
  19. Патерсон, Тим. Том 16, стр. 24 // DOS Testimony : [англ.]. — PC Magazine, 1997-05-06.
  20. Programmer sues author over role in Microsoft history (англ.). USA Today (3 февраля 2005). Архивировано из оригинала 29 августа 2017 года.
  21. Paterson v. Little, Brown, and Co., et al. - Order (англ.) (PDF). Окружной суд США по Западному округу Вашингтона[англ.]. Сиэтл, штат Вашингтон, США: Seattle Times (28 февраля 2005). — Дело 2:05-cv-01719-TSZ Документ 29. Архивировано 3 октября 2018 года.
  22. Патерсон, Тим. Design of DOS (англ.). DosMan Drivel (30 сентября 2007). Архивировано 20 января 2013 года.
  23. 1 2 3 4 5 6 7 8 Патерсон, Тим. A Short History of MS-DOS (англ.). Byte (июнь 1983). Архивировано из оригинала 31 октября 2015 года.
  24. 86-DOS, Tim Paterson - Старый DOS. Old-DOS. Дата обращения: 29 апреля 2025. Архивировано 23 января 2024 года.
  25. 1 2 3 4 5 6 7 8 9 10 11 Патерсон, Тим. Microsoft DOS V1.1 and V2.0: /msdos/v11source/MSDOS.ASM. Музей компьютерной истории (1983).
  26. 1 2 ZIP-файл, который содержит в себе большинство файлов, начиная с версии 86-DOS 0.75 и заканчивая 1.00.
  27. 1 2 Turner, Rich. Microsoft / MS-DOS: MSHEAD.ASM (англ.). Github. Microsoft (22 сентября 2018).
  28. 1 2 3 Seattle Computer Products. 86-DOS - Disk Operating System for the 8086 - User's Manual (англ.) (PDF) (1980). — Руководство пользователя по 86-DOS 0.3. Архивировано 14 июля 2019 года.
  29. PHP: hex2bin - Manual. PHP Documentation. Дата обращения: 2 мая 2025.
  30. HEX2BIN Function (англ.). Microsoft Learn. Дата обращения: 2 мая 2025.