stringtranslate.com

расширитель DOS

Баннер запуска DOS/4GW от Tenberry Software

Расширение DOS — это компьютерная программа, работающая под DOS , которая позволяет программному обеспечению работать в среде защищенного режима , даже если операционная система хоста способна работать только в реальном режиме .

Расширители DOS были первоначально разработаны в 1980-х годах после появления процессора Intel 80286 (а позже расширены с помощью Intel 80386 ), чтобы справиться с ограничениями памяти DOS .

Работа расширителя DOS

Расширитель DOS — это программа, которая «расширяет» DOS, чтобы программы, работающие в защищенном режиме, могли прозрачно взаимодействовать с базовым API DOS . Это было необходимо, поскольку многие функции, предоставляемые DOS, требуют 16-битных адресов сегментов и смещений, указывающих на ячейки памяти в пределах первых 640 килобайт памяти . Однако в защищенном режиме используется несовместимый метод адресации, при котором регистры сегмента (теперь называемые селекторами) используются для указания на запись в глобальной таблице дескрипторов , которая описывает характеристики сегмента. Два метода адресации являются взаимоисключающими, при этом процессору приходится совершать дорогостоящие переключения в реальный режим (или V86 ) для обслуживания запросов незащищенного режима.

Помимо настройки среды и загрузки самой программы для выполнения, расширитель DOS также предоставляет (среди прочего) уровень трансляции, который поддерживает буферы , выделенные ниже барьера памяти реального режима в 1 МБ. Эти буферы используются для передачи данных между базовой операционной системой реального режима и программой защищенного режима. Поскольку переключение между реальным режимом/режимом V86 и защищенным режимом является относительно трудоемкой операцией, расширитель пытается минимизировать количество переключений, дублируя функциональность многих операций реального режима в своей собственной среде защищенного режима. Поскольку DOS широко использует прерывания для связи между операционной системой и программным обеспечением пользовательского уровня, расширители DOS перехватывают многие общие аппаратные (например, часы реального времени и контроллер клавиатуры) и программные (например, саму DOS и API мыши) прерывания. Некоторые расширители также обрабатывают другие распространенные функции прерываний, такие как процедуры видео BIOS.

По сути, расширитель DOS подобен миниатюрной операционной системе, выполняющей большую часть функций самой базовой операционной системы.

История развития

Логотип продукта Tenberry Software для DOS/4G

Расширитель DOS, возможно, был изобретен Фар Лапом , но именно расширитель DOS/4GW компании Tenberry Software (ранее Rational Systems) 386 вывел программы DOS с защищенным режимом на массовый рынок. Включенный в состав компиляторов C, C++ и Fortran компании Watcom для процессоров класса 386, он вскоре стал повсеместной основой компьютерных приложений и игр, таких как успешная Doom от id Software .

Хотя первоначально именно бизнес-приложения, требующие большого объема памяти, стимулировали разработку расширителей DOS, именно компьютерные игры привлекли к ним всеобщее внимание. В результате разработки расширителей DOS были созданы два новых программных интерфейса, которые устраняют множество потенциальных конфликтов, которые могут возникнуть из-за уже существующих различных методов управления памятью, а также обеспечивают единый интерфейс для клиентских программ.

Первым из этих интерфейсов был программный интерфейс виртуального управления (VCPI), но его быстро затмила спецификация интерфейса защищенного режима DOS (DPMI), которая выросла из разработки Windows 3.0. [1] Они предоставили API, посредством которого расширенная программа могла взаимодействовать с программным обеспечением реального режима, выделять память и обрабатывать службы прерываний. Они также предоставили расширителю простой способ настроить переключение в защищенный режим и позволили мирно сосуществовать нескольким программам в защищенном режиме.

расширители DOS

Известные расширенные приложения DOS

Рекомендации

  1. ^ Дункан, Рэй; Петцольд, Чарльз ; Шульман, Эндрю; Бейкер, М. Стивен; Нельсон, Росс П.; Дэвис, Стивен Р.; Мут, Роберт (1992). Расширение DOS: Руководство программиста по DOS в защищенном режиме (2-е изд.). Addison-Wesley Publishing Company, Inc., стр. 433–462. ISBN 0-201-56798-9.
  2. ^ Уильямс, Эл (октябрь 1990 г.). «Создайте свой собственный расширитель DOS: Часть I». Журнал доктора Добба . Технология CMP . 15 (10): 16–18, 20, 24. ISSN  1044-789X.
  3. ^ Уильямс, Эл (ноябрь 1990 г.). «Создайте свой собственный расширитель DOS: Часть II». Журнал доктора Добба . Технология CMP . 15 (11): 74, 76, 80, 81–83, 85, 122–128, 130. ISSN  1044-789X.
  4. ^ Уильямс, Эл (1991). DOS 5: Руководство разработчика . Редвуд-Сити, Калифорния, США: Markt&Technik . ISBN 1-55851-177-6.
  5. ^ Уильямс, Эл (1993). DOS 6: Руководство разработчика . Маркт&Техник. ISBN 1-55851-309-4.
  6. ^ Уильямс, Эл (1993). Защищенный режим DOS и Windows: программирование с использованием расширителей DOS на языке C. Аддисон-Уэсли . п. 30. ISBN 0-201-63218-7.
  7. ^ "Расширитель HX DOS" .
  8. ^ FTN77 Компилятор Фортрана
  9. ^ Чарльз Шеффолд, Томаш Питель. «ПРЕЖИМ/ВТ» . Проверено 13 декабря 2023 г.

Внешние ссылки