ПРИНАДЛЕЖАЩИЙ
DOS ( / d ɒ s / , / d ɔː s / ) — семейство дисковых операционных систем для компьютеров, совместимых с IBM PC . [1] Семейство DOS в основном состоит из IBM PC DOS и обновленной версии Microsoft MS -DOS , обе из которых были представлены в 1981 году. Более поздние совместимые системы других производителей включают DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993 г.) и FreeDOS (1998 г.). MS-DOS доминировала на рынке, совместимом с IBM PC, в период с 1981 по 1995 год.
Хотя это название стало ассоциироваться именно с этим конкретным семейством операционных систем, DOS — это независимая от платформы аббревиатура от дисковой операционной системы . [2] использование которых предшествовало IBM PC. Десятки других операционных систем также используют эту аббревиатуру, начиная с DOS/360 для мэйнфреймов 1966 года. Другие включают Apple DOS , Apple ProDOS , Atari DOS , Commodore DOS , TRSDOS и AmigaDOS .
История [ править ]
Происхождение [ править ]
IBM PC DOS (и продаваемая отдельно MS-DOS ) и ее предшественница, 86-DOS , работали на Intel 8086 16-битных процессорах . Она была разработана по аналогии с Digital Research компании CP/M — доминирующей дисковой операционной системой для 8-битных микрокомпьютеров Intel 8080 и Zilog Z80 — чтобы упростить перенос приложений CP/M на MS-DOS.
Когда IBM представила IBM PC , построенный на микропроцессоре Intel 8088 , им понадобилась операционная система. Председатель Джон Опель побеседовал с другим членом исполнительного комитета Национального совета United Way Мэри Максвелл Гейтс , которая направила Opel к своему сыну Биллу Гейтсу за помощью в сборке CP/M, совместимой с 8088. [3] Затем IBM отправили в отдел цифровых исследований, и была назначена встреча. Однако первоначальные переговоры об использовании CP/M сорвались: Digital Research хотела продать CP/M на основе роялти, в то время как IBM добивалась единой лицензии и изменила название на «PC DOS». Основатель Digital Research Гэри Килдалл отказался, и IBM отказалась от участия. [4] [5]
IBM снова обратилась к Биллу Гейтсу. Гейтс, в свою очередь, обратился в компанию Seattle Computer Products . Там программист Тим Патерсон разработал вариант CP/M-80 , предназначенный в качестве внутреннего продукта для тестирования новой 16-битной Intel 8086 платы процессора SCP для шины S-100 . Первоначально система называлась QDOS (Quick and Dirty Operating System), а затем стала коммерчески доступной как 86-DOS . Microsoft приобрела 86-DOS предположительно за 50 000 долларов США. Это стала дисковая операционная система Microsoft, MS-DOS, представленная в 1981 году. [6] В течение года Microsoft лицензировала MS-DOS более чем 70 другим компаниям. [7] которые поставляли операционную систему для своего оборудования, иногда под своими именами. Позже Microsoft потребовала использования имени MS-DOS, за исключением варианта IBM. IBM продолжала разрабатывать свою версию PC DOS для IBM PC. [6] Digital Research стало известно, что IBM продает операционную систему, похожую на CP/M (под тем же названием, на котором IBM настаивала для CP/M), и пригрозила судебным иском. В ответ IBM предложила соглашение: они предоставят потребителям ПК выбор между PC DOS или CP/M-86 , версией 8086 от Килдалла. При этом CP/M стоила на 200 долларов дороже, чем PC DOS, а продажи были низкими. CP/M исчез, и MS-DOS и PC DOS стали продаваемыми операционными системами для ПК и совместимых с ПК. [4]
Первоначально Microsoft продавала MS-DOS только производителям оригинального оборудования (OEM). Одной из основных причин этого было то, что не все ранние ПК были на 100% совместимы с IBM PC . DOS была структурирована таким образом, что существовало разделение между кодом драйвера устройства для конкретной системы ( IO.SYS ) и ядром DOS ( MSDOS.SYS ). Microsoft предоставила комплект адаптации OEM (OAK), который позволил OEM-производителям настроить код драйвера устройства для своей конкретной системы. К началу 1990-х годов большинство ПК соответствовало стандартам IBM PC, поэтому Microsoft начала продавать розничную версию MS-DOS, начиная с MS-DOS 5.0.
В середине 1980-х годов Microsoft разработала многозадачную версию DOS . [8] [9] Эту версию DOS обычно называют «Европейской MS-DOS 4», поскольку она была разработана для ICL и лицензирована для нескольких европейских компаний. Эта версия DOS поддерживает вытесняющую многозадачность, общую память, вспомогательные службы устройств и исполняемые файлы формата New Executable («NE»). Ни одна из этих функций не использовалась в более поздних версиях DOS, но они легли в основу ядра OS/2 1.0 . Эта версия DOS отличается от широко распространенной версии DOS 4.0 для ПК, разработанной IBM на основе DOS 3.3.
Digital Research попыталась вернуть себе рынок, потерянный из-за CP/M-86, сначала с Concurrent DOS , FlexOS и DOS Plus программным обеспечением CP/M-86). (оба совместимы с программным обеспечением MS-DOS и CP/M-86), позже с Multiuser DOS (совместимым как с MS-DOS, так и с программным обеспечением CP/M-86), а затем с Multiuser DOS (совместимым как с MS-DOS, так и с -DOS и программное обеспечение CP/M-86) и DR DOS (совместимо с программным обеспечением MS-DOS). Digital Research была куплена Novell , а DR DOS стала PalmDOS и Novell DOS ; позже он был частью Caldera (под названиями OpenDOS и DR-DOS 7.02 / 7.03 ), Lineo и DeviceLogics .
Гордон Летвин писал в 1995 году, что «DOS, когда мы ее впервые написали, была одноразовым продуктом, предназначенным для того, чтобы IBM была счастлива, чтобы они покупали наши языки». [10] Microsoft ожидала, что это будет промежуточное решение перед Xenix. Компания планировала со временем улучшить MS-DOS, чтобы она была почти неотличима от однопользовательской Xenix или XEDOS , которая также работала бы на Motorola 68000 , Zilog Z-8000 и LSI-11 ; они будут полностью совместимы с Xenix, который BYTE в 1983 году описал как «многопользовательскую MS-DOS будущего». [11] [12]
IBM, однако, не хотела заменять DOS. [13] После того как AT&T начала продавать Unix, Microsoft и IBM начали разрабатывать OS/2 в качестве альтернативы. [10] Позже у двух компаний возникла серия разногласий по поводу двух операционных систем, преемников DOS: OS/2 и Windows. [14] В результате они разделили разработку своих систем DOS. [15] Последней розничной версией MS-DOS была MS-DOS 6.22; после этого MS-DOS стала частью Windows 95, 98 и Me. Последней розничной версией PC DOS была PC DOS 2000 (также называемая PC DOS 7, версия 1), хотя позже IBM разработала PC DOS 7.10 для OEM-производителей и внутреннего использования.
Проект FreeDOS начался 26 июня 1994 года, когда Microsoft объявила, что больше не будет продавать и поддерживать MS-DOS. Затем Джим Холл опубликовал манифест, предлагающий разработку замены с открытым исходным кодом. Через несколько недель другие программисты, в том числе Пэт Виллани к проекту присоединились и и Тим Норман. Ядро, интерпретатор командной строки (оболочка) COMMAND.COM и основные утилиты были созданы путем объединения кода, который они написали или нашли доступным. До того, как 3 сентября 2006 года был выпущен дистрибутив FreeDOS 1.0, существовало несколько официальных предварительных выпусков FreeDOS. FreeDOS, доступный под лицензией GNU General Public License (GPL), не требует лицензионных сборов или гонораров. [16] [17]
Отклонить [ править ]
Ранние версии Microsoft Windows работали под управлением MS-DOS. [18] К началу 1990-х годов графическая оболочка Windows стала широко использоваться в новых системах DOS. В 1995 году Windows 95 была представлена как отдельная операционная система, не требующая отдельной лицензии DOS. Windows 95 (а также последовавшие за ней Windows 98 и ME) стала ядром ОС по умолчанию , хотя компонент MS-DOS остался для совместимости. В Windows 95 и 98, но не в ME, компонент MS-DOS можно было запустить без запуска Windows. [19] [20] [21] Поскольку DOS больше не требовалась для использования Windows, большинство пользователей перестали использовать ее напрямую.
Продолжение использования [ править ]
По состоянию на 2023 год [update]доступные совместимые системы: FreeDOS , ROM-DOS , PTS-DOS , RxDOS. [22] и РЕАЛЬНЫЙ/32 . Некоторые производители компьютеров, в том числе Dell и HP , продают компьютеры с FreeDOS в качестве OEM -операционной системы. [23] [24] [ нужно обновить ] И некоторые разработчики и компьютерные инженеры до сих пор используют его, потому что он близок к аппаратному обеспечению. [ нужна ссылка ]
Встроенные системы [ править ]
Структура прямого доступа к оборудованию DOS позволяет использовать его во встроенных устройствах . Финальные версии DR-DOS по-прежнему нацелены на этот рынок. [25] ROM-DOS используется в качестве операционной системы для Canon PowerShot Pro 70. [26]
Эмуляция [ править ]
В Linux можно запустить DOSEMU Linux , собственную виртуальную машину для запуска программ DOS со скоростью, близкой к исходной. Существует ряд других эмуляторов для запуска DOS в различных версиях Unix и Microsoft Windows , таких как DOSBox . [27] [28] DOSBox предназначен для устаревших игр (например, King's Quest , Doom ) в современных операционных системах. [18] [27]
Дизайн [ править ]
Операционные системы, связанные с MS-DOS и IBM PC DOS, обычно ассоциируются с машинами, использующими процессоры Intel x86 или совместимые процессоры , в основном совместимые с IBM PC . Машинно-зависимые версии MS-DOS были созданы для многих несовместимых с IBM компьютеров на базе x86 , с вариациями от переименования дистрибутива Microsoft под именем производителя до версий, специально разработанных для работы с оборудованием, не совместимым с IBM-PC. . Пока прикладные программы использовали API-интерфейсы DOS вместо прямого доступа к оборудованию, они могли работать как на IBM-PC-совместимых, так и на несовместимых машинах. Исходное ядро FreeDOS , DOS-C , было создано на основе DOS/NT для процессоров Motorola серии 68000 в начале 1990-х годов. Хотя эти системы во многом напоминали архитектуру DOS, приложения не были двоично совместимыми из-за несовместимых наборов команд этих процессоров, отличных от x86. Однако приложения, написанные на языках высокого уровня, можно легко портировать.
DOS — это однопользовательская и однозадачная операционная система с базовыми ядра функциями , которые не подлежат повторному входу : их может использовать только одна программа одновременно, а сама DOS не имеет функций, позволяющих одновременно выполнять более одной программы. Ядро DOS предоставляет различные функции для программ ( интерфейс прикладной программы ), такие как символьный ввод-вывод, управление файлами, управление памятью, загрузка и завершение программы.
DOS предоставляет возможность написания сценариев оболочки через пакетные файлы (с расширением имени файла .BAT
). Каждая строка пакетного файла интерпретируется как программа, которую нужно запустить. Пакетные файлы также могут использовать внутренние команды, такие как GOTO и условные операторы . [29]
Операционная система предлагает интерфейс прикладного программирования, который позволяет разрабатывать текстовые приложения, но не обеспечивает доступ к большинству аппаратных средств , таких как видеокарты , принтеры или мыши . Это требовало от программистов прямого доступа к оборудованию, что обычно приводило к тому, что каждое приложение имело свой собственный набор драйверов устройств для каждого периферийного оборудования. Производители оборудования будут публиковать спецификации, чтобы гарантировать доступность драйверов устройств для популярных приложений. [30]
Последовательность загрузки [ править ]
- Начальный загрузчик на ПК-совместимых компьютерах, главная загрузочная запись , располагается начиная с загрузочного сектора , первого сектора на первой дорожке ( нулевой дорожке ) загрузочного диска. ROM BIOS загрузит этот сектор в память по адресу 0000ч : 7C00h и обычно проверяют наличие подписи " 55h AAh "при смещении +1ФЭх . Если сектор не считается действительным, ROM BIOS попытается использовать следующий физический диск в строке, в противном случае он перейдет к адресу загрузки с определенными настроенными регистрами.
- Если загруженный загрузочный сектор является основной загрузочной записью (MBR), обнаруженной на многораздельном носителе, он переместится в 0000ч : 0600h в памяти, [31] в противном случае этот шаг пропускается. Код MBR сканирует таблицу разделов, расположенную внутри этого сектора, на наличие активного раздела (современные MBR проверяют, установлен ли бит 7 по смещению +1BEh+10h*n , тогда как старые MBR просто проверяют значение 80h ), и, если он найден, загрузить первый сектор соответствующего раздела, который содержит загрузочную запись тома (VBR) этого тома, в память по адресу 0000ч : 7C00h таким же образом, как если бы он был загружен самой ПЗУ BIOS. Затем MBR передаст выполнение загруженной части с установленными определенными регистрами.
- Содержимое сектора, загруженное в 0000ч : 7C00h теперь представляет собой VBR. VBR зависят от операционной системы и в целом не могут быть заменены между разными версиями DOS, поскольку точное поведение различается в разных версиях DOS. В очень старых версиях DOS, таких как DOS 1.x, VBR загружал в память весь файл IO.SYS/IBMBIO.COM по адресу: 0000ч : 06:00 . [32] Чтобы это работало, эти сектора должны были храниться на диске в последовательном порядке с помощью SYS. В более поздних выпусках он будет находить и сохранять содержимое первых двух записей в корневом каталоге по адресу 0000ч : 0500h , и если они отражают правильные загрузочные файлы, записанные в VBR, VBR загрузит первые 3 последовательных сектора файла IO.SYS/IBMBIO.COM в память по адресу 0070ч : 0000ч . VBR также должен позаботиться о сохранении содержимого таблицы параметров диска (DPT). Наконец, он передает управление загруженной части, переходя к ее точке входа с установленными определенными регистрами (со значительными различиями между разными версиями DOS).
- Позже [ нужны разъяснения ] Версии DOS, в которых VBR загружает в память только первые 3 сектора файла IO.SYS/IBMBIO.COM, загруженная часть содержит другой загрузчик, который затем загружает остальную часть себя в память, используя информацию о корневом каталоге. хранится в 0000ч : 05:00 . В большинстве версий содержимое файла по-прежнему необходимо хранить на диске в последовательном порядке. В старых версиях DOS, которые еще загружались целиком, этот шаг пропускается.
- Код инициализации системы DOS инициализирует встроенные драйверы устройств, а затем ядро DOS, расположенное в MSDOS.SYS также загружает в память в системах MS-DOS. В Windows 9x код инициализации системы DOS, встроенные драйверы устройств и ядро DOS объединены в один файл IO.SYS, а MSDOS.SYS используется как текстовый файл конфигурации.
- Затем файл CONFIG.SYS считывается для анализа параметров конфигурации. Переменная SHELL указывает расположение оболочки , которая по умолчанию — COMMAND.COM .
- Оболочка загружается и выполняется.
- Затем командный файл запуска AUTOEXEC.BAT запускается оболочкой. [33] [34]
Системные файлы DOS, загружаемые загрузочным сектором, должны быть последовательными и находиться в первых двух записях каталога . [35] Таким образом, удаление и добавление этого файла может привести к невозможности загрузки носителя. Однако можно по желанию заменить оболочку, и этот метод можно использовать для более быстрого запуска выполнения специализированных приложений. Это ограничение не распространяется ни на одну версию DR DOS, где системные файлы могут располагаться в любом месте корневого каталога и не обязательно должны быть смежными. Таким образом, системные файлы можно просто скопировать на диск при условии, что загрузочный сектор уже совместим с DR DOS.
В PC DOS и DR DOS 5.0 и выше системные файлы DOS называются IBMBIO.COM вместо IO.SYS и IBMDOS.COM вместо MSDOS.SYS . В более старых версиях DR DOS вместо этого использовались DRBIOS.SYS и DRBDOS.SYS.
Начиная с MS-DOS 7.0, двоичные системные файлы IO.SYS и MSDOS.SYS были объединены в один файл IO.SYS, а MSDOS.SYS стал файлом конфигурации, аналогичным CONFIG.SYS и AUTOEXEC.BAT. Если для директивы MSDOS.SYS BootGUI установлено значение 0
, процесс загрузки остановится с загрузкой командного процессора (обычно COMMAND.COM) вместо автоматического выполнения WIN.COM.
Файловая система [ править ]
DOS использует файловую систему, которая поддерживает имена файлов 8.3 : 8 символов для имени файла и 3 символа для расширения. Начиная с DOS 2 поддерживаются иерархические каталоги. Каждое имя каталога также имеет формат 8.3, но максимальная длина пути к каталогу составляет 64 символа из-за внутренних таблиц текущей структуры каталогов (CDS), которые поддерживает DOS. Включая имя диска, максимальная длина полного имени файла, поддерживаемого DOS, составляет 80 символов в формате диск:\путь\имя_файла.ext, за которым следует нулевой байт.
DOS использует файловую систему таблицы размещения файлов (FAT). Первоначально это была FAT12 , которая поддерживала до 4078 кластеров на диск. В DOS 3.0 добавлена поддержка FAT16 , которая использовала 16-битные записи распределения и поддерживала до 65518 кластеров на диск. В Compaq MS-DOS 3.31 добавлена поддержка FAT16B , которая сняла ограничение на диск в 32 МБ и теперь поддерживает до 512 МБ. Наконец, в MS-DOS 7.1 (компонент DOS Windows 9x) добавлена поддержка FAT32 , которая использовала 32-битные записи распределения и могла поддерживать жесткие диски емкостью до 137 ГиБ и выше.
Начиная с DOS 3.1, в DOS была добавлена поддержка перенаправления файлов. Первоначально он использовался для поддержки сети, но позже был использован для поддержки приводов CD-ROM с MSCDEX . IBM PC DOS 4.0 также имела поддержку предварительно устанавливаемой файловой системы (IFS), но она не использовалась и была удалена в DOS 5.0. DOS также поддерживала блочные устройства («дисковые устройства»), загружаемые из CONFIG.SYS, которые можно было использовать в файловой системе DOS для поддержки сетевых устройств.
Схема именования дисков [ править ]
В DOS диски обозначаются буквами. Стандартная практика — резервировать «A» и «B» для дисководов . В системах только с одним дисководом DOS присваивает дисководу обе буквы, предлагая пользователю менять местами диски, поскольку программы поочередно получают доступ к ним. Это облегчает копирование с дискеты на дискету или запуск программы с одной дискеты при доступе к ее данным на другой. Изначально жестким дискам были присвоены буквы «C» и «D». DOS могла поддерживать только один активный раздел на диске. По мере того, как стала доступна поддержка большего количества жестких дисков, это привело к сначала назначению буквы диска активному основному разделу каждого диска , затем второму проходу по дискам для присвоения букв логическим дискам в расширенном разделе , а затем третьему проходу для присвоения любых букв. другие неактивные основные разделы — их имена (если такие дополнительные разделы существовали и содержали файловую систему, поддерживаемую DOS). Наконец, DOS выделяет буквы для приводов оптических дисков , RAM-дисков и другого оборудования. Назначение букв обычно происходит в порядке загрузки драйверов, но драйверы могут указать DOS назначить другую букву; Например, драйверы сетевых дисков обычно назначают буквы ближе к концу алфавита. [36]
Поскольку приложения DOS используют эти буквы дисков напрямую (в отличие от каталога /dev в Unix-подобных системах), их работу можно нарушить, добавив новое оборудование, которому нужна буква диска. Примером может служить добавление нового жесткого диска с основным разделом, тогда как уже существующий жесткий диск содержит логические диски в расширенных разделах; новому диску будет присвоена буква, которая ранее была присвоена одному из логических дисков расширенного раздела. Более того, даже добавление нового жесткого диска, имеющего в расширенном разделе только логические диски, все равно нарушит буквы RAM-дисков и оптических приводов. Эта проблема сохранялась в версиях Windows 9x на базе DOS, пока они не были заменены версиями, основанными на строке NT, которая сохраняет буквы существующих дисков до тех пор, пока пользователь не изменит их. [36] В DOS эту проблему можно обойти, определив диск SUBST и установив программу DOS на этот логический диск. Назначение этого диска затем будет меняться в пакетном задании при каждом запуске приложения. В некоторых версиях Concurrent DOS , а также в Multiuser DOS , System Manager и REAL/32 зарезервированная буква диска L: автоматически назначается соответствующему загрузочному диску при каждом запуске приложения.
Зарезервированные имена устройств [ править ]
В DOS существуют зарезервированные имена устройств, которые нельзя использовать в качестве имен файлов независимо от расширения, поскольку они заняты встроенными символьными устройствами. Эти ограничения также затрагивают несколько версий Windows, в некоторых случаях вызывая сбои и уязвимости безопасности. [37]
Зарезервированные имена:
COM1
,COM2
,COM3
,COM4
,COM5
,COM6
,COM7
,COM8
,COM9
(последовательные порты связи)CON
, для консолиLPT1
,LPT2
,LPT3
,LPT4
,LPT5
,LPT6
,LPT7
,LPT8
,LPT9
(линейные принтеры)AUX
, для вспомогательногоPRN
, для принтера [38]NUL
, для нулевых устройств ; добавлен в 86-DOS 1.10 и PC DOS 1.0.
В Windows 95 и Windows 98 ввод зарезервированного имени (например, CON/CON, AUX/AUX или PRN/PRN) приводит к сбою операционной системы, для которой Microsoft предоставила исправление безопасности для этой проблемы. В Windows XP имя файла или папки, использующее зарезервированное имя, автоматически возвращается к своему предыдущему имени без каких-либо уведомлений или сообщений об ошибках. В Windows Vista и более поздних версиях при попытке использовать зарезервированное имя для файла или папки появляется сообщение об ошибке «Указанное имя устройства неверно».
Эти имена (за исключением NUL) с тех пор продолжают поддерживаться во всех версиях MS-DOS, PC DOS и DR-DOS. [39] LST
также был доступен в некоторых OEM-версиях MS-DOS 1.25, тогда как другие OEM-версии MS-DOS 1.25 уже использовались. LPT1
( принтер первой линии ) и COM1
(первое устройство последовательной связи ), как это было представлено в PC DOS. В дополнение к LPT1
и LPT2
а также COM1
к COM3
от Hewlett-Packard OEM-версия MS-DOS 2.11 для HP Portable Plus. Также поддерживается LST
как псевдоним для LPT2
и 82164A
как псевдоним для COM2
; [40] [41] он также поддержал PLT
для плоттеров . [40] [41] В противном случае, COM2
, LPT2
, LPT3
и CLOCK$
(до сих пор названный CLOCK
в некоторых выпусках MS-DOS 2.11 [42] [40] [41] ) тактовое устройство было представлено в DOS 2.0, и COM3
и COM4
были добавлены в DOS 3.3. [39] только многозадачность MS-DOS 4. Поддерживается KEYBD$
и SCREEN$
. DR DOS 5.0 и выше, а также Multiuser DOS поддерживают $IDLE$
Устройство динамического обнаружения простоя для экономии энергии и улучшения многозадачности. LPT4
— дополнительный встроенный драйвер для принтера четвертой строки, поддерживаемый в некоторых версиях DR-DOS, начиная с 7.02. CONFIG$
представляет собой реального режима менеджер PnP в MS-DOS 7.0–8.0.
AUX
обычно по умолчанию COM1
, и PRN
к LPT1
( LST
), [39] но эти значения по умолчанию можно изменить в некоторых версиях DOS, чтобы они указывали на другие последовательные или параллельные устройства. [40] [41] [43] PLT
Устройство (присутствующее только в некоторых OEM-версиях HP MS-DOS) также можно было переконфигурировать. [40] [41]
Имена файлов заканчивались двоеточием ( : ) такой как NUL:
обычно указывают имена устройств, но двоеточие на самом деле не является частью имени встроенных драйверов устройств. В некоторых случаях двоеточия ставить не обязательно, например:
ECHO This achieves nothing > NUL
По-прежнему возможно создавать файлы или каталоги, используя эти зарезервированные имена устройств, например, путем прямого редактирования структур данных каталогов в секторах диска. Такое именование, например начало имени файла с пробела, иногда использовалось вирусами или хакерскими программами, чтобы скрыть файлы от пользователей, которые не знают, как получить доступ к этим местам.
Управление памятью [ править ]
DOS была разработана для процессора Intel 8088, который может напрямую обращаться только к 1 МБ ОЗУ. [44] И IBM, и Microsoft выбрали 640 кибибайт (КиБ) в качестве максимального объема памяти, доступной для программ, и зарезервировали оставшиеся 384 КБ для видеопамяти, постоянной памяти адаптеров на некоторых видео- и сетевых периферийных устройствах, а также BIOS системы. К 1985 году некоторые приложения DOS уже достигли предела памяти, в то время как большая часть зарезервированной памяти не использовалась, в зависимости от характеристик машины. [45]
Спецификации были разработаны для обеспечения доступа к дополнительной памяти. Первой была спецификация расширенной памяти (EMS), которая была разработана для обеспечения доступа к памяти на дополнительной карте через страничный кадр размером 64 КиБ в зарезервированной верхней области памяти. [46] Системы 80386 и более поздних версий могли использовать виртуальный диспетчер памяти режима 8086 (V86), такой как EMM386, для создания расширенной памяти из расширенной памяти без необходимости использования дополнительной карты. [47] Второй спецификацией была спецификация расширенной памяти (XMS) для систем 80286 и более поздних версий. Это обеспечило возможность копирования данных в расширенную память и из нее, а также доступ к области верхней памяти объемом 65 520 байт. [48] непосредственно над первым мегабайтом памяти и областью верхнего блока памяти . Обычно поддержка XMS обеспечивалась HIMEM.SYS или менеджером памяти в режиме V86, например QEMM или 386MAX , который также поддерживал EMS. [49]
Начиная с DOS 5, [50] DOS могла бы напрямую воспользоваться преимуществами HMA, загрузив туда свой код ядра и дисковые буферы через DOS=HIGH
заявление в CONFIG.SYS. DOS 5+ также позволял использовать доступные верхние блоки памяти через DOS=UMB
заявление в CONFIG.SYS. [51]
DOS под OS/2 и Windows [ править ]
Эмуляция DOS в OS/2 и Windows работает почти так же, как и собственные приложения. Они могут получить доступ ко всем дискам и службам и даже использовать службы буфера обмена хоста. Поскольку драйверы файловых систем и т. д. находятся в хост-системе, эмуляции DOS требуется только обеспечить уровень трансляции API DOS, который преобразует вызовы DOS в системные вызовы OS/2 или Windows. Уровень трансляции обычно также преобразует вызовы BIOS и виртуализирует доступ к общим портам ввода-вывода, которые обычно используют многие программы DOS.
В Windows 3.1 и 9x виртуальная машина DOS предоставляется WINOLDAP. WinOldAp создает виртуальную машину на основе PIF-файла программы и состояния системы на момент загрузки Windows. Графический режим DOS, как символьный, так и графический, можно захватить и запустить в окне. Приложения DOS могут использовать буфер обмена Windows, получая доступ к дополнительным опубликованным вызовам в WinOldAp, и можно вставлять текст через графику WinOldAp.
Эмулируемая DOS в OS/2 и Windows NT основана на DOS 5. Хотя существует конфигурация по умолчанию (config.sys и autoexec.bat), можно использовать альтернативные файлы для каждого сеанса. В эти файлы можно загрузить драйверы для доступа к хост-системе, хотя обычно они сторонние.
В OS/2 2.x и более поздних версиях эмуляцию DOS обеспечивает DOSKRNL. Это файл, который представляет собой объединенные файлы IBMBIO.COM и IBMDOS.COM; системные вызовы передаются в оконные службы OS/2. Программы DOS запускаются в своей собственной среде, основная часть утилит DOS предоставляется связанными приложениями DOS/OS2 в каталоге \OS2. OS/2 может запускать приложения Windows 3.1, используя модифицированную копию Windows (Win-OS/2). Изменения позволяют программам Windows 3.1 беспрепятственно работать на рабочем столе OS/2 или можно запускать рабочий стол WinOS/2, аналогично запуску Windows из DOS.
OS/2 допускает использование «DOS с диска A:» (VMDISK). Это настоящая DOS, такая как MS-DOS 6.22 или PC DOS 5.00. Делается загрузочная дискета DOS, добавляется ряд драйверов из OS/2, а затем создается специальный образ. Загруженная таким образом DOS имеет полный доступ к системе, но предоставляет собственные драйверы для оборудования. Такой диск можно использовать для доступа к приводам компакт-дисков, для которых нет драйвера OS/2.
Во всех 32-битных (IA-32) выпусках семейства Windows NT с 1993 года эмуляция DOS обеспечивается посредством виртуальной машины DOS (NTVDM). 64-битные (IA-64 и x86-64) версии Windows не поддерживают NTVDM и не могут напрямую запускать 16-битные приложения DOS; сторонние эмуляторы, такие как DOSbox, можно использовать для запуска программ DOS на этих машинах.
Пользовательский интерфейс [ править ]
Системы DOS используют интерфейс командной строки . Программа запускается путем ввода имени файла в командной строке. Системы DOS включают служебные программы и предоставляют внутренние команды, которые не соответствуют программам. [52]
Пытаясь обеспечить более удобную для пользователя среду, многие производители программного обеспечения написали программы управления файлами , которые предоставляли пользователям интерфейсы WIMP . Microsoft Windows является ярким примером, который в конечном итоге привел к тому, что Microsoft Windows 9x стала автономным загрузчиком программ и заменила DOS в качестве наиболее используемого загрузчика программ, совместимого с ПК. Программы текстового пользовательского интерфейса включали Norton Commander , DOS Navigator , Volkov Commander , Quarterdesk DESQview и Sidekick . Программы графического пользовательского интерфейса компании Digital Research включали GEM (первоначально написанную для CP/M) и GEOS .
Со временем производители основных DOS-систем начали включать в свой состав собственных менеджеров среды. MS-DOS/IBM DOS 4 включала оболочку DOS ; [53] DR DOS 5.0, выпущенный в следующем году, включал ViewMAX , основанный на GEM. [54]
Прекратить действие и остаться резидентом [ править ]
Хотя DOS не является многозадачной операционной системой, она предоставляет функцию резидентного завершения (TSR), которая позволяет программам оставаться резидентными в памяти. Эти программы могут перехватывать системный таймер или прерывания клавиатуры, чтобы позволить себе запускать задачи в фоновом режиме или вызывать их в любое время, вытесняя текущую запущенную программу и эффективно реализуя простую форму многозадачности для конкретной программы. Команда DOS PRINT делает это для реализации буферизации фоновой печати. Borland Sidekick , всплывающий менеджер личной информации (PIM), также использует этот метод.
Резидентные программы также используются для предоставления дополнительных функций, недоступных по умолчанию. Такие программы, как CED и DOSKEY, предоставляют возможности редактирования из командной строки, помимо тех, что доступны в COMMAND.COM. Такие программы, как расширения Microsoft CD-ROM (MSCDEX), обеспечивают доступ к файлам на дисках CD-ROM.
Некоторые TSR могут даже выполнять элементарную форму переключения задач. Например, условно-бесплатная программа Back and Forth (1990 г.). [55] имеет горячую клавишу для сохранения состояния текущей программы на диск, загрузки другой программы и переключения на нее, что позволяет переключаться между программами «взад и вперед» (хотя и медленно, из-за необходимости доступа к диску). Back and Forth не смог включить фоновую обработку Однако ; для этого нужен DESQview (по крайней мере, на 386 ).
Программное обеспечение [ править ]
- Arachne — 16-битный графический веб-браузер.
- dBase — для работы с базами данных . программа
- Harvard Graphics — программа для создания презентационной графики.
- Lotus 1-2-3 , электронная таблица , которой приписали успех IBM PC. [56]
- Norton Commander и XTree , утилиты управления файлами
- PKZIP , утилита, которая быстро стала стандартом сжатия файлов.
- ProComm , Qmodem и Telix . — программы модемной связи
- Sidekick , менеджер личной информации, который можно использовать из других программ.
- WordPerfect — текстовый процессор , доминировавший в 1980-х годах.
- WordStar , текстовый процессор, изначально предназначенный для CP/M, который стал популярным на IBM PC.
Инструменты разработки [ править ]
- BASIC Переводчики языка . БАЗИКА и GW-БЕЙСИК
- DJGPP , 32-битный порт gcc с DPMI для DOS.
- Microsoft Macro Assembler , Microsoft C и CodeView от Microsoft
- Watcom C/C++ от Watcom
- Turbo Pascal , Turbo BASIC , Turbo C , Turbo Prolog и Turbo Assembler от Borland.
См. также [ править ]
- COMMAND.COM (интерпретатор командной строки для DOS и Windows 9x )
- CP/M (ранняя операционная система Digital Research, похожая на DOS)
- Программа управления дисками (DCP, производная MS-DOS от бывшего восточногерманского VEB Robotron )
- ДВА API
- DOS/V
- Указатель DOS-игр
- Список операционных систем DOS
- PC-MOS/386 (многопользовательская операционная система, совместимая с DOS)
- VGA-совместимый текстовый режим , основа TUI DOS на IBM PC-совместимых устройствах.
Ссылки [ править ]
- ^ Мердок, Эверетт (1988). DOS: простой способ . Книги для скачивания EasyWay. ISBN 0-923178-00-7 .
- ^ Dictionary.com. Архивировано 12 ноября 2017 г. на Wayback Machine.
- ^ «Мэри Гейтс, 64 года; помогла своему сыну основать Microsoft» . Нью-Йорк Таймс . 11 июня 1994 г. Проверено 11 апреля 2023 г.
- ^ Jump up to: Перейти обратно: а б Роландер, Том . «Остальная часть истории: Как Билл Гейтс победил Гэри Килдалла в войне ОС, часть 1» . Шоу Скобла (интервью). Беседовал Скобл, Роберт. Архивировано из оригинала 4 ноября 2007 г.
- ^ Бове, Тони (2005). Просто скажите «нет» Microsoft . Пресс без крахмала . стр. 9–11 . ISBN 1-59327-064-Х .
- ^ Jump up to: Перейти обратно: а б Беллис, Мэри. «Необычная история MS-DOS — операционной системы Microsoft» . Архивировано из оригинала 27 апреля 2012 г. Проверено 2 сентября 2008 г.
- ^ Фрайбергер, Пол (23 августа 1982 г.). «Билл Гейтс, Microsoft и персональный компьютер IBM» . InfoWorld : 22. Архивировано из оригинала 18 марта 2015 г. Проверено 29 января 2015 г.
- ^ «Знаете ли вы, что OS/2 не была первой многозадачной операционной системой Microsoft, не являющейся Unix?» . Архивировано из оригинала 4 ноября 2012 г.
- ^ «Биография Ларри Остермана» . Архивировано из оригинала 2 июня 2013 г.
- ^ Jump up to: Перейти обратно: а б Летвин, Гордон (17 августа 1995 г.). «Что происходит с OS/2» . Группа новостей : comp.os.os2.advocacy . Usenet: [электронная почта защищена] . Проверено 6 ноября 2013 г.
- ^ Морган, Крис (январь 1982 г.). «Об IBM, операционных системах и Розеттских камнях» . БАЙТ : 6 . Проверено 19 октября 2013 г.
- ^ Фидлер, Райан (октябрь 1983 г.). «Учебное пособие по Unix / Часть 3: Unix на рынке микрокомпьютеров» . БАЙТ : 132 . Проверено 30 января 2015 г.
- ^ Ховитт, Доран (10 декабря 1984 г.). «Unix и одиночный пользователь» . InfoWorld : 28. Архивировано из оригинала 29 января 2018 г. Проверено 7 февраля 2015 г.
- ^ Поллак, Эндрю (27 июля 1991 г.). «Microsoft расширяет свой раскол с IBM в отношении программного обеспечения» . Нью-Йорк Таймс . Архивировано из оригинала 2 ноября 2010 г. Проверено 2 сентября 2008 г.
- ^ Бринкли, Джоэл (28 мая 1999 г.). «Руководитель IBM описывает ценовое давление со стороны Microsoft» . Нью-Йорк Таймс . Архивировано из оригинала 11 декабря 2008 г. Проверено 2 сентября 2008 г.
- ^ Холл, Джим (25 марта 2002 г.). «Прошлое, настоящее и будущее проекта FreeDOS» . Архивировано из оригинала 29 мая 2012 г. Проверено 14 июня 2008 г.
- ^ Холл, Джим (23 сентября 2006 г.). «История FreeDOS» . freedos.org. Архивировано из оригинала 27 мая 2007 г. Проверено 28 мая 2007 г.
- ^ Jump up to: Перейти обратно: а б Баннан, Джеймс (13 октября 2006 г.). «КАК: Коаксовать ретро-игры для DOS для запуска на Vista» . Архивировано из оригинала 1 августа 2008 г. Проверено 3 июля 2008 г.
- ^ «Нахождение DOS в Windows 95» . Умные вычисления . Март 1996 г. Архивировано из оригинала 7 июля 2004 г. Проверено 12 июля 2008 г.
- ^ Чен, Раймонд (24 декабря 2007 г.). «Какова была роль MS-DOS в Windows 95?» . Старая новая вещь — Домашняя страница сайта — Блоги MSDN . Архивировано из оригинала 5 февраля 2014 г. Проверено 5 февраля 2014 г.
- ^ «Описание перезагрузки компьютера в режиме MS-DOS» . support.microsoft.com . 19 января 2007 г. Архивировано из оригинала 5 февраля 2014 г. Проверено 5 февраля 2014 г.
- ^ "Дом" . rxdos.sourceforge.net .
- ^ Холл, Джим (13 июля 2007 г.). «Блог Джима Холла — 2007» . Архивировано из оригинала 25 октября 2012 г. Проверено 12 июня 2008 г.
- ^ «Компьютеры Dell с FreeDOS» . Архивировано из оригинала 19 марта 2008 г. Проверено 14 июня 2008 г.
- ^ «DR-DOS Встроенный DOS» . Архивировано из оригинала 21 декабря 2008 г. Проверено 26 сентября 2008 г.
- ^ «Datalight DOS выбрана для новой линейки цифровых фотоаппаратов Canon» . Деловой провод . 24 августа 1999 г. Архивировано из оригинала 9 июля 2012 г. Проверено 26 сентября 2008 г.
- ^ Jump up to: Перейти обратно: а б «Информация о DOSBox» . Архивировано из оригинала 25 мая 2008 г. Проверено 18 мая 2008 г.
- ^ «ДОСЕМУ Дом» . 05.05.2007. Архивировано из оригинала 23 июля 2008 г. Проверено 3 июля 2008 г.
- ^ «Справка по пакетному файлу» . www.computerhope.com. Архивировано из оригинала 7 сентября 2008 г. Проверено 10 сентября 2008 г.
- ^ Матчинский, Михаил. «ZINGTECH — Руководство для программиста новых игр» . Архивировано из оригинала 19 декабря 2008 г. Проверено 2 сентября 2008 г.
- ^ «Основная загрузочная запись (MBR) и что она делает» . Архивировано из оригинала 27 мая 2013 г. 090912 dewassoc.com
- ^ «Реверс-инжиниринг DOS 1.0 – Часть 1: Загрузочный сектор «pagetable.com» . Архивировано из оригинала 11 мая 2009 г. 090912 pagetable.com
- ^ «Команды CONFIG.SYS» . Архивировано из оригинала 2 мая 2009 г. 090913 Academic.evergreen.edu
- ^ Козерок, Чарльз (2001). «Процесс загрузки DOS» . Руководство для ПК . Архивировано из оригинала 19 июля 2008 г. Проверено 2 сентября 2008 г.
- ^ "разное.txt" . Архивировано из оригинала 29 июня 2010 г. 090912 arl.wustl.edu
- ^ Jump up to: Перейти обратно: а б «Назначение буквы диска и выбор основного или логического разделов» . Руководство для ПК . 17 апреля 2001 г. Архивировано из оригинала 17 апреля 2012 г. Проверено 4 апреля 2012 г.
- ^ «Уязвимость имени устройства Microsoft Windows MS-DOS DoS» . Архивировано из оригинала 25 июля 2011 г. Проверено 2 сентября 2008 г.
- ^ «Определение имен устройств DOS» . Журнал ПК . Архивировано из оригинала 29 сентября 2008 г. Проверено 2 сентября 2008 г.
- ^ Jump up to: Перейти обратно: а б с «Имена драйверов устройств MS-DOS не могут использоваться в качестве имен файлов» . Версия 2.0. Майкрософт . 12 мая 2003 г. КБ74496, Q74496. Архивировано из оригинала 21 июля 2012 г.
- ^ Jump up to: Перейти обратно: а б с д и Hewlett-Packard - Техническое справочное руководство - Portable PLUS (1-е изд.). Корваллис, Орегон, США: Компания Hewlett-Packard , подразделение портативных компьютеров. Август 1985 г. 45559-90001 . Проверено 27 ноября 2016 г.
- ^ Jump up to: Перейти обратно: а б с д и Hewlett-Packard - Техническое справочное руководство - Portable PLUS (PDF) (2-е изд.). Подразделение портативных компьютеров, Корваллис, Орегон, США: Компания Hewlett-Packard . Декабрь 1986 г. [август 1985 г.]. 45559-90006. Архивировано (PDF) из оригинала 28 ноября 2016 г. Проверено 27 ноября 2016 г.
- ^ Патерсон, Тим ; Microsoft (19 декабря 2013 г.) [1983]. «Microsoft DOS V1.1 и V2.0: /msdos/v20source/SKELIO.TXT, /msdos/v20source/HRDDRV.ASM» . Музей истории компьютеров , Microsoft . Архивировано из оригинала 26 марта 2014 г. Проверено 25 марта 2014 г. (Примечание: хотя издатели утверждают, что это будут MS-DOS 1.1 и 2.0, на самом деле это SCP MS-DOS 1.25 и смесь Altos MS-DOS 2.11 и TeleVideo PC DOS 2.11 .)
- ^ Пол, Матиас Р. (2 октября 1997 г.). «Обновление Caldera OpenDOS 7.01/7.02 Alpha 3 IBMBIO.COM README.TXT» . Архивировано из оригинала 4 октября 2003 г. Проверено 29 марта 2009 г. [1]
- ^ Бэйлс и Мюллер 1992 , с. 5.
- ^ Бэйлс и Мюллер 1992 , стр. 42–44.
- ^ Бэйлс и Мюллер 1992 , стр. 67–68.
- ^ Мюллер 1998 , стр. 169.
- ^ Мюллер 1998 , стр. 243–244.
- ^ Бэйлс и Мюллер 1992 , с. 79–80.
- ^ Мюллер 1998 , с. 243.
- ^ Бэйлс и Мюллер 1992 , стр. 150–151.
- ^ Мердок, Эверетт (2008). DOS: простой способ . Книги для скачивания EasyWay. стр. 7–12. ISBN 978-0-923178-02-4 .
- ^ Мердок, Эверетт (2008). DOS: простой способ . Книги для скачивания EasyWay. п. 71. ИСБН 978-0-923178-02-4 . Архивировано из оригинала 18 марта 2015 г.
- ^ Дворжак, Джон Чарльз ; Анис, Ник (1991). Руководство Дворжака по DOS и производительности ПК . Осборн МакГроу-Хилл . стр. 442–444.
- ^ Версия 1.47 заархивирована по адресу «Вперед-назад 1.47» . Архивировано из оригинала 5 ноября 2013 г. Проверено 5 августа 2013 г. и написано: «(C) 1990, компания Progressive Solutions, Inc.».
- ^ Дэрроу, Барбара (1 февраля 2002 г.). «Что случилось с Лотосом 1-2-3?» . Архивировано из оригинала 9 января 2009 г. Проверено 12 июля 2008 г.
Дальнейшее чтение [ править ]
- IBM Corp., IBM (январь 1984 г.). «IBM DOS Release 2.10 Коробка из твердого картона для розничной торговли в тканевом переплете» . 1-е издание. Номер позиции корпорации IBM. 6183946
- IBM Corp., IBM (январь 1984 г.). «Руководство пользователя дисковой операционной системы (DOS Release 2.10)». 1-е издание. Microsoft Corp. (100 страниц, включая цветные иллюстрации) Номер позиции. 6183947
- IBM Corp., IBM (январь 1984 г.). «Руководство по дисковой операционной системе (DOS версии 2.10)». 1-е издание. Microsoft Corp. (574 листа в папке с 3 кольцами), арт. № 6183940
- Мюллер, Скотт (1998). Обновление и ремонт компьютеров (Восьмое изд.). Издательство Que . ISBN 0-7897-1295-4 . Проверено 2 ноября 2021 г.
- Бейлз, Ленни; Мюллер, Джон (1992). Управление памятью и многозадачность за пределами 640 КБ . МакГроу-Хилл . ISBN 0-8306-3476-2 . Проверено 2 ноября 2021 г.
Внешние ссылки [ править ]
- Истоки DOS , статьи и руководства Тима Патерсона.
- Хронология версий для DOS и Windows на Wayback Machine (архивировано 28 октября 2007 г.)
- «DOS — где единственным ограничением является аппаратное обеспечение» . Архивировано из оригинала 15 августа 2010 г. Проверено 29 августа 2010 г.
- Batfiles: Руководство по программированию пакетных файлов DOS.
- «Расцвет DOS: как Microsoft получила контракт на ОС IBM PC» . pcmag.com . Проверено 24 декабря 2022 г.
- «Прикладное программное обеспечение — семейство коротких имен файлов DOS» . www.jumpjet.info . Архивировано из оригинала 17 февраля 2020 г. Проверено 7 февраля 2020 г. «(...) Архив тщательно отобранного БЕСПЛАТНОГО [и заброшенного ] программного обеспечения для DOS».
- Онлайн-симулятор Windows XP
- Исходный код MS-DOS v1.25, v2.0, v4.0