DOS extender

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

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

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

Contents
  • 1 Работа с расширителем DOS
  • 2 История разработки
  • 3 Расширители DOS
  • 4 Известные расширенные приложения DOS
  • 5 Ссылки
  • 6 Внешние ссылки
Работа с расширителем DOS

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

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

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

История разработки
Логотип продукта Tenberry Software DOS / 4G

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

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

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

расширители DOS
  • DOS / 4G и DOS / 4GW и от Tenberry Software, Inc.
  • 286 | DOS Extender и 386 | DOS Extender от Phar Lap. Позже заменен TNT Dos Extender.
  • PROT от Al Williams, 32-битный расширитель DOS, опубликованный в журнале доктора Добба и в двух книгах. Этот расширитель имел преимущество выполнения вызовов DOS и BIOS в эмулируемом режиме вместо переключения обратно в реальный режим.
  • PMODE и PMODE / W by and. Последний был для Watcom C в качестве альтернативы DOS / 4GW и был весьма популярен среди программистов demoscene
  • CauseWay был ранее проприетарным расширителем, который конкурировал с DOS4G. С 2000 года он был выпущен с открытым исходным кодом. Несколько редких игр, таких как DaggerFall, используют его.
  • DOS / 32 в качестве альтернативы DOS / 4G от Нареча К.
  • Ergo (ранее Eclipse, ранее AI Architects) расширители OS / 286 и OS / 386, а также серверы DPM16 и DPM32
  • 386Power 32-разрядный расширитель DOS - это расширитель для 32-разрядных приложений Assembly. Включает исходный код.
  • все версии Microsoft Windows с 1990 года, кроме ветки NT, включает как сервер DPMI, так и расширитель DOS.
  • HX DOS Extender предоставляет ограниченную поддержку Win32, чтобы позволить консоли Windows и некоторым приложениям Win32 GUI работать под DOS. Он содержит как 16-битные, так и 32-битные серверы DPMI (HDPMI16 / HDPMI32) для использования с программами DOS в защищенном режиме
  • DosWin32 обеспечивает ограниченную поддержку Win32
  • WDosX был ранняя реализация ограниченной поддержки Win32, используемая компилятором TMT Pascal.
  • Borland Power Pack был расширением, включенным в некоторые из их комплектов разработки, который мог получить доступ к ограниченной части Win32 API.
  • TASM, опять же от Borland, включал 32RTM с DPMI32VM и RTM с DPMI16BI, два хоста DPMI.
  • CWSDPMI Чарльз В. Сандманн, сервер DPMI для использования с 32-битным защищенным режимом DOS DJGPP.
  • QDPMI от Quarterdeck Office Systems, был хостом DPMI, включенным в QEMM.
  • GO32, использовавшимся в более старых (до v2) версиях DJGPP и Free Pascal
  • D3X - это сервер DPMI, полностью написанный на Assembly. Все еще в альфа-состоянии, но работа прекращена до завершения.
  • DPMIONE - еще один сервер DPMI. Первоначально разработанный для 32-битных программ, созданных Borland C ++ и Delphi.
  • DBOS от Salford Software, 32-битный расширитель DOS в защищенном режиме, используемый в основном их FTN77 Fortran Compiler
  • X32 и X32VM от FlashTek и поддерживается в качестве цели компиляторами Digital Mars
  • BLINKER от Blink Inc версии 3 и выше предоставил 286 DOS Extender для нескольких 16-битных компиляторов DOS, включая CA-Clipper, Microsoft C / C ++, PASCAL, FORTRAN и Borland C / C ++. Поддерживаемые уникальные исполняемые файлы «Dual Mode», способные работать в реальном или защищенном режиме в зависимости от среды выполнения.
  • EMX
Известные расширенные приложения DOS
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-16 09:22:20
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте