Операционная система MS-DOS

MS-DOS
MS-DOS (Microsoft Disk Operating System — Дисковая Операционная Система Microsoft) — проприетарный программный продукт фирмы Microsoft класса операционные системы для IBM-PC совместимых компьютеров. Самая известная операционная система в прошлом, на смену которой пришло семейство Windows.

 Выпуск MS-DOS был датирован 1981 годом и продолжался вплоть до 2000 года, за его время было выпущено 8 версий ОС. Этот программный продукт являлся приоритетной разработкой фирмы Microsoft который позволил компании стать ведущим производителем программного обеспечения. Напомним, что до этого Microsoft  специализировалась на разработке языка программирования.

История создания MS-DOS

Тим Патерсон (Tim Paterson), работавший в Seattle Computer Products (SCP), в 1980 году создал QDOS (Quick and Dirty Operating System) для процессора Intel 8086. Она получила торговое наименование «86-DOS». В июле 1981 года Microsoft приобрела на неё лицензию для IBM. Сумма сделки составила 25 тыс. долларов. В июле 1981 года, как раз перед выходом IBM PC, права на эту ОС были выкуплены полностью. 

 
Основой MS-DOS явилась самая известная на тот момент операционная система CP/M от Digital Research. Главное отличие от неё заключалось в иной файловой системе.
MS-DOS работает режиме реального времени процессора x86. Обеспечивается единовременное выполнение только одной программы. Системой устанавливается прерывание INT 21h для служб ядра: открытие файла, запись в файл и т.п. Базовый функционал вполне обеспечивают 3 файла:  IO.SYS (сервисы BIOS), MSDOS.SYS, COMMAND.COM (командный процессор). Для конфигурирования при запуске служат файлы CONFIG.SYS (драйверы и устройства) и AUTOEXEC.BAT (автозапуск программ).
MS-DOS была спроектирована так, чтобы пользователи могли легко заменить встроенный интерпретатор сторонними интерпретаторами командной строки, например 4DOS.

Пример программы MS-DOS:

MOV DX, OFFSET hello
MOV AX, 9 ; cервис 9 - вывод строки
INT 21h ; вызов сервиса
INT 20h ; служебное прерывание 20 — завершение программы
hello db 'Hello, World!', 13, 10, '$'

Особенности

Работа в MS-DOS пвид экрана ms-dosроизводится с помощью командной строки посредством ввода директив.

С 1983 вперед, различные компании работали над графическими интерфейсами пользователя (GUI), способные к работе на аппаратных средствах тогдашних PC. Так как DOS, являлась доминирующей операционной системой, несколько компаний выпустили дополнительные оболочки, например Microsoft Word для DOS, XTree, и Norton Shell. Однако, дублирование дублирование графических функций не обеспечивало большую последовательность в дизайне интерфейса (даже между продуктами от одной самой компании). Для большего удобства были созданы двухпанельные программные оболочки — shells. Самая распространённая среди них Norton Commander, у которого в России появился двойник Volkov Commander. В последствии они послужили прототипами для всех двухпанельных менеджеров файлов, таких, как Total Commander (Windows Commander) для Windows, Midnight Commander для UNIX и т.д. MS-DOS Shell осуществил качественный скачок в развитии удобства интерфейса пользователя за счёт поддержки мыши. По функциям это диспетчер файлов с квазиграфическим текстовым пользовательским интерфейсом (TUI), который имел меню,разделение областей на окна, цветные темы, используя графику символьного режима. Однако, не стал популярной из-за неотработанной оконной концепции.
Позже, в 1985, Windows Microsoft был выпущен как первая попытка Microsoft создания GUI (для приложений). Ранние версии Windows запускались под MS-DOS или клонами. Первая система Windows, встреченная весьма прохладно, послужила стимулом для усилий большинства других компаний также, например Jewel. После версии 3.0 (1990) Windows получила всеобщее признание.

Совместимость

Более поздние версии (Windows 95, Windows 98 и Windows Millennium) использовали процесс загрузки DOS, чтобы стартовать в защищенном режиме. Основные характеристики, связанные с файловой системой, такие как длинные имена файлов, были доступны только для DOS, работющей как подсистема Windows. Windows NT работали независимо от DOS, но включали подсистему DOS, таким образом приложения могли работать в виртуальной машине под новым OS.

С выходом новых версий Windows поддержка программ под DOS обеспечивается всё хуже. Отчасти, из-за архитектурных особенностей новых ОС, а так же в результате сознательного урезания функционала из соображений безопасности хостовой системы.

Само собой разумеется, что с ростом производительности компьютеров появилась проблема корректной работы старых программ. Особенно это касается игр, где время операций особенно критично.

Windows NT

Windows NT, хотя не основанный на DOS, обеспечивают интерфейс командной строки, подобный интерфейсу символьного режима MS-DOS. Эта командная строка предоставлена родной выполнимой программой, cmd.exe. Если 16-ти разрядная среда Windows 9х являлась фактически полноценной заменой DOS, то с выходом ветки NT DOS приложения работают в эмуляторе NTVDM (NT Виртуальная Машина DOS). 16-разрядный command.com интерпретатор от MS-DOS 5.0 все еще включен, чтобы поддержать прикладную совместимость с программами, которые ожидают это (Это иллюстрировано выводом, произведенным командой command.com /k версия", которая отображает "Версию 5.00.500" MS-DOS в окне консоли). Многие приложения командной строки (известный как консольные приложения) для Windows неправильно упоминаются как приложения DOS, когда фактически они - полноценные приложения Windows, которые используют консоль для их вывода, а не графический интерфейса, и не могут быть выполнены ни под какой версией MS-DOS.  Команда "версия" возвращает строковый "Microsoft (R) DOS Windows" когда выполняется под command.com, но "Windows XP Microsoft [Версия 5.1.2600]" (или подобный в зависимости от версии NT) когда выполнено от cmd.exe.

Последние версии NT для x64 архитектуры, включая Windows XP Proffesional x64, Windows Server 2003 x64 и Windows Vista x64, Windows 7 больше не включают NTVDM и больше не могут поэтому прирожденно выполнить MS-DOS (или 16-разрядный Windows) приложения. В этих версиях Windows даже самостоятельная загрузка MS-DOS проблематична, поскольку DOS, в своём первоначальном виде, без дополнительных программ, не в состоянии читать основную файловую систему.


Кардинальным решением проблем совместимости со старыми программами, написанными для MS-DOS и Windows 3.11 или ещё более ранних версий ОС, является их установка на специализированные эмуляторы с богатым выбором настроек, например, DOSBox, либо на виртуальные машины, такие, как VMWare, VirtualPC, Bochs и т.д.

 

Многозадачный режим

Операционная система MS-DOS не была спроектирован, для многопользовательской или многозадачной работы, но были сделаны множество попыток  добавить эти возможности. Резидентные системные вызовы были первоначально проектированы для драйверов устройства и расширяемых дополнений к программам, которые увеличили функционал или добавили особенности. Например, такие компании, как Borland. Добавочные среды как TopView и особенно DESQview попытался обеспечить многозадачный режим, и достиг небольшого количества успеха позже, после объединения с виртуальными 8086 режимами и особенностями виртуальной памяти Intel 80386 и с выпуском более мощных процессоров.

 

Версии и даты выпуска

  • MS-DOS 1.14 - июль 1981 - Microsoft повторно выпустил 86 DOS под торговой маркой MS-DOS в июле 1981, приобретя права на систему у SCP. DOS PC 1.0 - август 1981 - начальный выпуск с первым ПК IBM-PC, по существу
  • MS-DOS 1.14 с подсказкой стиля CP/м. (COMMAND.COM составляет 4959 байт)
  • DOS PC 1.1 - май 1982 - поддержка двустороннего гибкого диска на 320 КБ. Кодовое имя разработки в Microsoft MS-DOS 1.24
  • MS-DOS 1.25 - май 1982 - первый релиз системы для аналогов ПК IBM-PC, выставленных на продажу под различными марками (COMMAND.COM составляет 4986 байтов)
  • MS-DOS 2.0 - март 1983 - поддержка для PC XT: введены подкаталоги, основанные на описателях файловые операции, перенаправление ввода-вывода команды, и каналы. Microsoft решил использовать наклонную влево черту  в качестве разделителя имени пути, а не косую черту в стиле Unix, очевидно из-за последнего ключевого символа (слэш), используемого в большинстве DOS и программ CP/M. Добавлена поддержка гибких дисков 360 КБ и жестких дисков.
  • DOS PC 2.1 - октябрь 1983 - поддержка IBM PC AT
  • MS-DOS 2.11 - март 1984 - поддержка иностранных языков  и формата даты (COMMAND.COM составляет 16229 байтов)
  • MS-DOS 2.25 - октябрь 1985 - более качественная поддержка  наборов символов для японского, китайского, и корейского языков , приведённых к западным Тихоокеанским языкам.
  • MS-DOS 3.0 - август 1984 - добавлена поддержка в PC гибких дисков на 1.2 Мбайта и разделов жесткого диска до 32 МБ, превыборки и одного "логического диска" в "расширенном разделении"
  • MS-DOS 3.1 - ноябрь 1984 - поддержка сетей Microsoft
  • MS-DOS 3.2 - январь 1986 - поддержка для накопителей гибких магнитных дисках на 3.5  дюймов, 720 КБ (v 3.21 COMMAND.COM 23612 байт)
  • DOS PC 3.3 - апрель 1987 - поддержка PS/2 IBM: накопители на гибких магнитных дисках на 1.44 Мбайта, добавленна поддержка кодовой страницы ISO (COMMAND.COM составляет 25307 байт)
  • MS-DOS 3.3 - август 1987 - поддержка множественных логических дисков (COMMAND.COM составляет 25276 байт)
  • MS-DOS 4.0 - июнь 1988 - полученный из кодовой страницы IBM, а не Microsoft
  • DOS PC 4.0 - июль 1988 - добавленный DOS Shell & поддержка жестких дисков > 32 МБ, используя формат от DOS Compaq 3.31. Но у этогй реализации было много ошибок и меньше доступной памяти чем прежде. Вообще является непопулярным релизом.
  • MS-DOS 4.01 - декабрь 1988 - выпуск корректора ошибок (COMMAND.COM составляет 37557 байтов)
  • MS-DOS 5.0 - июнь 1991 - управление памятью, экранный редактор, язык программирования QBasic, интерактивная справка, DOS Shell, и средство передачи файлов FastLynx лицензированнй у Technology Rupp. Также используемый впоследствии как база для Виртуальной Машины DOS (VDM) для Windows, начиная с  NT4, заканчивая  Vista. (COMMAND.COM составляет 47845 байтов)
  • MS-DOS 6.22 boxart.
  • MS-DOS 6.22 boxart.
  • MS-DOS 6.0 - март 1993 - добавлено сжатие диска DubleStack, дисковая дефрагментация, и другие особенности (COMMAND.COM составляет 52925 байтов)
  • MS-DOS 6.2 - ноябрь 1993 - выпуск багфикс (COMMAND.COM составляет 54619 байтов)
  • MS-DOS 6.21 - февраль 1994 - после судебного процесса с Electronic Stac, удалено сжатие диска DubleStack (COMMAND.COM составляет 54619 байтов)
  • DOS PC 6.3 - апрель 1994
  • MS-DOS 6.22 - июнь 1994 - официальная автономная версия. DubleStack заменил не нарушающим лицензионные соглашения, но совместимым инструментом DriveSpace (COMMAND.COM составляет 54645 байтов)
  • DOS PC 7.0 - апрель 1995 - DrivePack вместо DriveSpace
  • MS-DOS 7.0 - август 1995 - релиз, внедренный в Windows 95. Включенная Логическая адресация блоков (LBA) и Длинное имя файла (LFN) поддержка (COMMAND.COM составляет 92870 байтов)
  • MS-DOS 7.1 - август 1996 - релиз, внедренный в Windows 95B (OSR2) (и Windows 98 и SE  в июне 1998 и мае 1999). Добавленная поддержка файловой системе FAT32 (COMMAND.COM 93812, 93880 или 93890 байтов в 95B, 98 или 98SE соответственно)
  • MS-DOS 8.0 - сентябрь 2000 - релиз, внедренный в Windows Millennium Edition. Подмножество включено в 32-разрядные версии Windows XP и Windows Vista. Последняя версия MS-DOS. Удалены команда SYS, способность загрузиться в режиме командной строки и другие особенности (COMMAND.COM составляет 93040 байтов)
  • DOS PC 2000 - версия 2000 года с незначительными дополнительными особенностями. Конечный член семейства MS-DOS

 

Конкурентная борьба

На платформе IBM-PC (и клонах), изначальная борьба велась между MS-DOS/PC-DOS и операционной системой, которого вдохновишей  Microsoft на создание MS-DOS — CP/M от Digital Research. Система CP/M-86 была усовершенствована Digital Research и предложена изготовителям компьютера как альтернатива MS-DOS и лицензионных требований Microsoft.

В деловом мире, на платформе PC, MS-DOS состязалась с операционными системами семейства Unix, которые работали на различных аппаратных архитектурах. Microsoft даже продал версию Unix по имени Xenix.

В появляющемся мире домашних пользователей множество других аппаратных платформ было на серьезном соревновании с ПК IBM-PC: Apple II, ранний Macintosh Apple, Коммодор 64 и другие. Сначала, соревнование за эти другие платформы было с компьютерами ПК IBM-PC, выполняющими MS-DOS. С появлением клонов ПК IBM-PC все выполнение на процессорах Intel IBM названия стала менее важной для домашних пользователей. То, что было важно, не отставало от устойчиво увеличивающихся тактовых частот Intel и способности выполнить MS-DOS.

Microsoft и IBM вместе начали то, что было предназначено как последующее к DOS, названному OS/2. Когда OS/2 был выпущен в 1987, Microsoft начал кампанию рекламы, объявляющую, что "DOS Мертв", смело объявляя версию 4 был последним полным выпуском.

MS-DOS рос во всплесках, со многими существенными взятыми особенностями (или дублировал) от других продуктов и операционных систем, так же как перепроектировавший инструментальные средства и утилиты, включая Norton Utilities, Инструментальные средства PC (Антивирус Microsoft), программа управления дополнительной памятью QEMM, DOS/4GW (32-разрядный расширитель DOS), сжатие диска Накопителя, и так далее. Появление OS/2, который предложил многие расширенные особенности, которые были написаны вместе, было замечено как законный наследник "kludgy" платформы DOS.

Digital Research, распознавая потребность продолжить платформу низшего уровня, представленную DOS, затем разработало DR-DOS 5, который зеркалировал OS/2 "модель" интеграции платформы, добавляя особенности, которые были доступны только как сторонние дополнения для MS-DOS. Несклонный потерять любую часть рынка, Microsoft ответил, объявляя о "ждущем обработки" выпуске MS-DOS 5.0 в мае 1990. Это эффективно уничтожило большинство продаж DR-DOS, до фактического выпуска MS-DOS 5.0 в июне 1991. Digital Research производило DR-DOS 6, который имел хороший сбыт, пока "предобъявление" о MS-DOS 6.0 снова не душило продажи DR-DOS.

Microsoft был обвинен в осторожном управлении утечек о будущих версиях MS-DOS в попытке создать то, что в промышленности называют FUD (страх, неопределенность, и сомнение) относительно DR-DOS. Например, в октябре 1990, вскоре после выпуска DR-DOS 5.0, и перед возможным выпуском июня 1991 MS-DOS 5.0, тексты на расширениях особенности в MS-DOS запустили появляться в Неделе PC и InfoWorld. Brad Silverberg, Вице-президент Программного обеспечения Систем в Microsoft и Генеральном директоре его Windows и Модуля Бизнеса MS-DOS, написал действительный символ Неделе PC (5 ноября 1990), отрицая, что Microsoft был занят в тактике FUD ("чтобы обслужить наших клиентов лучше, мы решили быть более предстоящими о версии 5.0"), и отрицая, что Microsoft хватает особенности от DR-DOS:" Расширения особенности версии 5.0 MS-DOS были решены, и разработка была начата прежде, чем мы услышали о DR-DOS 5.0. Будут некоторые подобные особенности. С 50 миллионами пользователей MS-DOS не должно быть удивительно, что DRI услышал некоторые из тех же самых запросов от клиентов, что мы имеем. "- (Schulman и др. 1994).

Договор между Microsoft и IBM, чтобы продвинуть OS/2 начал разваливаться в 1990, когда Windows 3.0 стал успехом рынка. Большая часть дальнейших содействий Microsoft OS/2 также вошла к создаванию третьей замены графического интерфейса пользователя для DOS, Windows NT.

IBM, которая уже разрабатывала следующую версию OS/2, продолжила разработку платформы без Microsoft и продала это как альтернативу DOS и Windows.

 

Закат MS-DOS

Операционная система MS-DOS эффективно прекратила существование как платформа для desktop систем. Начиная с выпуска Windows 9x она стала интегрирована в конечный программный продукт, главным образом используемый для того, чтобы загрузиться, и больше официально выпустило как автономный DOS. Это было все еще доступно, но стало все более и более несоответствующим как разработка, сдвинутая к API Windows.

Windows XP содержал копию основного MS-DOS 8 файлов от Windows Millennium, доступного только во время форматирования дискеты как "загрузочный диск MS-DOS". Попытка выполнить COMMAND.COM от такого диска под NTVDM приводит к сообщению "Неправильная версия MS-DOS".

С Windows Vista файлы на загрузочном диске датированы 18-ого апреля 2005, но иначе неизменны, включая строковую "Версию 8 MS-DOS (C) Copyright 1981-1999 Корпорация Microsoft" внутри COMMAND.COM.

Сегодня, DOS все еще используется во embedded (встроеных) x86 системах из-за её простой архитектуры, и минимальных требований к памяти и процессору. Интерпретатор командной строки Windows NT, cmd.exe поддерживает большинство тех же самых команд и немного совместимости с DOS.

Юридические проблемы

Как ответ на DR-DOS Digital Research 6.0, который связал сжатие диска SuperStor, Microsoft открыл переговоры с Stac Electronics, продавцом самого популярного инструмента сжатия диска DOS, Накопителя. В должен процессе усердия Stac проектирует, показал Microsoft некоторый исходный текст Накопителя. Stac не желал встретить сроки Microsoft для лицензирования Накопителя и ушел из переговоров. Microsoft хотел лицензировать DoubleDisk Vertisoft's, используя это как ядро для его сжатия диска Двойного интервала.

MS-DOS 6.0 и 6.20 был выпущен в 1993, оба, включая утилиту сжатия диска DubleStack Microsoft. Stac успешно предъявил иск Microsoft за нарушение авторских прав относительно алгоритма сжатия, используемого в DubleStack. Это привело к 1994 выпуску MS-DOS 6.21, из которому удалили сжатие диска. Вскоре после этого вышла версия 6.22, с новой версией системы сжатия диска, DriveSpace, у которого был отличающийся алгоритм сжатия, чтобы избежать плагиата кода.

До 1995 Microsoft лицензировал MS-DOS (и Windows) к изготовителям компьютера под тремя типами соглашения: в процессор (плата за каждую систему компания продала), в систему (плата за каждую систему специфической модели), или в копию (плата за каждую копию установленного MS-DOS). Наибольшие изготовители использовали расположение в процессор, у которого была самая низкая плата. Это расположение сделало это дорогим для больших изготовителей переместиться на любую другую операционную систему, такую как DR-DOS. В 1991 американское правительство федеральная Торговая Комиссия начало исследовать лицензирование Microsoft процедур, приводящих к 1994 ограничению соглашения об урегулировании Microsoft к лицензированию в копию. Digital Research не извлекало пользу этим урегулированием, и несколько лет спустя его преемник в Кальдере интереса предъявил иск Microsoft за убытки. Этот судебный процесс был улажен с денежно-кредитной оплатой 150 миллионов долларов.

Microsoft также использовали в MS-DOS множество хитрых способов, и несколько из их приложений и инструментальных средств разработки, которые, работая отлично, работая на подлинном MS-DOS (и DOS PC), не функционировали под DOS от других производителей. Вот самые известные примеры этой практики:

  • Microsoft QuickC v2.5, a.k.a. Инструментальные средства Программиста и Microsoft C v6.0, изменили Префикс Сегмента программы использовал недокументированные программные функции DOS, и затем проверял, изменилось ли связанное значение в установленной позиции в пределах сегмента данных DOS (также неописанный).
  • Скандально известный случай, когда код AARD, блок программы в WIN.COM Windows 3.1, который был неэквивалентностью, зашифрованной, самомодифицирующейся, и преднамеренно запутывал, который использовал различные неописанные структуры DOS и функции, чтобы определить, работал ли Windows действительно на MS-DOS.
  • Подпрограммы прерывания, названные Windows, чтобы сообщить MS-DOS, что Windows - ввод/вывод, информация, которую MS-DOS сохранил в стеке IN_WINDOWS, несмотря на то, что MS-DOS и Windows, как предполагалось, были двумя отдельными продуктами.

 

Связанные системы

Несколько подобных продуктов были произведены другими компаниями. В случае DOS PC и DR-DOS, это является распространенным, но является неправильным назвать эти "клоны". Учитывая, что Microsoft произвел DOS PC для IBM, DOS PC и MS-DOS были (чтобы продолжить генетическую аналогию) "идентичные близнецы", которые отклонились только во взрослой жизни и в конечном счете стали весьма своеобразными продуктами; DR-DOS был клоном лишь весьма удаленного.

* DOS PC
* DR-DOS, DOS Novell, и OpenDOS
* FreeDOS, FreeDOS 32, и GNU/DOS
* PTS-DOS
* DOSBox, популярный эмулятор MS-DOS

Эти продукты все вместе упоминаются как DOS. Однако, информация по MS-DOS может быть универсально применима к другим системам-аналогам.

Комментарии

Добавить коментарий