Расширитель DOS - DOS extender
Эта статья нужны дополнительные цитаты для проверка.Март 2011 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
А Расширитель DOS это компьютерное программное обеспечение программа работает под ДОС что позволяет программному обеспечению работать в защищенный режим среды, даже если операционная система хоста может работать только в реальный режим.
Расширители DOS были первоначально разработаны в 1980-х годах после появления Intel 80286 процессор (и позже расширенный с Intel 80386 ), чтобы справиться с ограничениями памяти ДОС.
Работа с расширителем DOS
Расширитель DOS - это программа, которая «расширяет» DOS таким образом, чтобы программы, работающие в защищенном режиме, могли прозрачно взаимодействовать с нижележащими DOS API. Это было необходимо, потому что многие функции, предоставляемые DOS, требуют 16-битных сегментов и адресов смещения, указывающих на ячейки памяти внутри первые 640 килобайт памяти. Однако в защищенном режиме используется несовместимый метод адресации, при котором сегментные регистры (теперь называемые селекторами) используются для указания на запись в Глобальная таблица дескрипторов который описывает характеристики сегмента. Эти два метода адресации являются взаимоисключающими, при этом процессору приходится выполнять дорогостоящие переключения на реальный (или V86 ) для обслуживания запросов в незащищенном режиме.
Помимо настройки среды и загрузки фактической программы для выполнения, расширитель DOS также предоставляет (среди прочего) уровень перевода, который поддерживает буферы выделяется ниже 1 МБ памяти в реальном режиме. Эти буферы используются для передачи данных между базовой операционной системой реального режима и программой защищенного режима. Поскольку переключение между реальным / V86 режимом и защищенным режимом является относительно трудоемкой операцией, расширитель пытается минимизировать количество переключений, дублируя функциональность многих операций реального режима в своей собственной среде защищенного режима. Как DOS использует прерывает в основном для связи между операционной системой и программным обеспечением пользовательского уровня, расширители DOS перехватывают многие стандартные аппаратные средства (например, часы реального времени и контроллер клавиатуры) и программное обеспечение (например, сам DOS и API мыши). Некоторые расширители также обрабатывают другие общие функции прерывания, такие как подпрограммы видео BIOS.
По сути, расширитель DOS похож на миниатюрную операционную систему, обрабатывающую большую часть функций самой базовой операционной системы.
История развития
Расширитель DOS, возможно, был изобретен Phar Lap, но это было Программное обеспечение Tenberry расширитель 386 (ранее Rational Systems) DOS / 4GW это принесло DOS-программы в защищенном режиме на массовый рынок. Включено в Watcom компиляторы C, C ++ и Fortran для процессоров класса 386, вскоре он стал повсеместной опорой для приложений и игр для ПК, таких как id Программное обеспечение успешный Рок.
Хотя изначально именно бизнес-приложения, требовательные к памяти, были движущими силами разработки расширителей DOS, именно компьютерные игры действительно привлекли к ним внимание. В результате разработки расширителей DOS были созданы два новых программных интерфейса для устранения множества потенциальных конфликтов, которые могут возникнуть из-за различных методов управления памятью, которые уже существовали, а также для обеспечения единого интерфейса для клиентских программ.
Первым из этих интерфейсов был Виртуальный программный интерфейс управления (VCPI), но это было быстро омрачено Интерфейс защищенного режима DOS (DPMI), которая выросла из разработки Windows 3.0.[1] Они предоставили API, через который расширенная программа могла взаимодействовать с программным обеспечением реального режима, выделять память и обрабатывать службы прерывания. Они также предоставили повторителю простой способ установить переключатель в защищенный режим и позволили нескольким программам защищенного режима мирно сосуществовать.
Расширители DOS
- DOS / 4G и DOS / 4GW и DOS / 16M компанией Tenberry Software, Inc.
- 286 | DOS Extender и 386 | DOS Extender от Phar Lap. Позже заменен на TNT Dos Extender.
- PROT от Эла Вильямса, 32-битного расширителя DOS, опубликованного в журнале доктора Добба[2][3] и в двух книгах.[4][5] Этот расширитель имел возможность запускать вызовы DOS и BIOS в эмулируемом режиме вместо переключения обратно в реальный режим.
- PMODE и PMODE / W к Томас Пайтель и Чарльз Шеффолд. Последний был для Watcom C в качестве альтернативы DOS / 4GW и был довольно популярен среди демосцена программисты
- CauseWay был ранее проприетарным расширителем, который конкурировал с DOS4G. С 2000 года он был выпущен с открытым исходным кодом. Несколько редких игр, например Кинжал используй это.
- DOS / 32 в качестве альтернативы DOS / 4G Нареч К.
- Ergo (ранее Eclipse, ранее A. I. Architects) расширители OS / 286 и OS / 386, а также серверы DPM16 и DPM32
- 386Power 32-bit DOS Extender - это расширитель для 32-битных сборка Программы. Включает исходный код.
- все Майкрософт Виндоус версии с 1990 года, кроме ветки NT, включают как сервер DPMI, так и расширитель DOS.[6]
- HX DOS Extender обеспечивает ограниченную поддержку Win32, что позволяет консоли Windows и некоторым приложениям Win32 GUI работать под DOS. Он содержит как 16-битные, так и 32-битные DPMI серверы (HDPMI16 / HDPMI32) для использования с программами DOS защищенного режима
- DosWin32 обеспечивает ограниченную поддержку Win32
- WDosX был ранней реализацией ограниченной поддержки Win32, используемой компилятором TMT Pascal.
- Блок питания Borland был расширителем, включенным в некоторые из их пакетов разработки, который мог получить доступ к ограниченной части Win32 API.
- ТАСМ опять же от Borland, включает 32RTM с DPMI32VM и RTM с DPMI16BI, два хоста DPMI.
- CWSDPMI Чарльз В. Сандманн, сервер DPMI для использования с 32-битным защищенным режимом DOS DJGPP программы.
- QDPMI - автор Офисные системы Quarterdeck, был хостом DPMI, включенным в QEMM.
- GO32, используемый в более старых (до v2) версиях DJGPP, и Free Pascal
- D3X - это сервер DPMI, полностью написанный на сборка. Все еще в состоянии альфа, но прекращено до завершения.
- DPMIONE - еще один сервер DPMI. Первоначально разрабатывался для 32-битных программ, созданных Borland C ++ и Delphi.
- DBOS от Salford Software, 32-разрядный расширитель DOS с защищенным режимом, используемый в основном их компилятором FTN77 Fortran.[7]
- X32 и X32VM от FlashTek и поддерживаются в качестве цели Цифровой Марс компиляторы
- BLINKER от Blink Inc версии 3 и выше предоставил 286 DOS Extender для нескольких 16-битных компиляторов DOS, включая CA-Clipper, Microsoft C / C ++, PASCAL, FORTRAN и Borland C / C ++. Поддерживаются уникальные исполняемые файлы «Dual Mode», способные работать в реальном или защищенном режиме в зависимости от среды выполнения.
- EMX
Известные расширенные приложения DOS
- Adobe Acrobat Reader 1.0 (использует раннюю версию DOS / 4GW professional)
- AutoCAD 11 (PharLap 386)
- Лотос 1-2-3 Выпуск 3 (Rational Systems DOS / 16M)
- Oracle Профессиональный
- IBM Interleaf
- Основные BBS, 1980-е годы BBS программный пакет, который использовал Phar Lap Расширитель DOS.
- Quarterdeck DESQview и ПО DESQview / X для многозадачности
- Watcom с C, C ++ и Фортран компиляторы для x86
- Бесчисленные игры для DOS с начала до середины 1990-х, в основном использующие DOS / 4GW, в том числе:
- id Программное обеспечение с РОК и его сиквелы, а также Землетрясение (построен с DJGPP )
- Looking Glass Studios ' Системный шок
- Программное обеспечение Parallax с Спуск
- Crack dot com's Злоупотреблять
- Blizzard Entertainment с Warcraft: Орки и люди и Warcraft II: Приливы тьмы
- 3D Realms ' Duke Nukem 3D
- Мидуэй с Смертельная битва
- Westwood Studios ' Command & Conquer и Command & Conquer: Red Alert
- Дизайн DMA (теперь Rockstar North) Grand Theft Auto. Более поздние версии игры были перенесены на Windows, чтобы сделать ее более совместимой с современными компьютерами.
- Команчи: максимальное количество убийств к НоваЛогик использовал обычай Нереальный режим диспетчер памяти, который требовал 80386 процессор и несовместим с менеджеры памяти и виртуальные боксы DOS, требуя сложного Меню загрузки DOS конфигурация в CONFIG.SYS. Более поздние версии включали расширитель DOS, который решил проблему.
- Ultima VII и Ultima VII Part Two: Serpent Isle к Системы происхождения также использовал обычай Нереальный режим диспетчер памяти вызвал диспетчер памяти Voodoo, который был несовместим с EMS память и менеджеры памяти Такие как EMM386.
Рекомендации
- ^ Дункан, Рэй; Петцольд, Чарльз; Шульман, Эндрю; Бейкер, М. Стивен; Нельсон, Росс П .; Дэвис, Стивен Р .; Мут, Роберт (1992). Расширение DOS: Руководство программиста по DOS с защищенным режимом (2-е изд.). Эддисон-Уэсли Publishing Company, Inc., стр. 433–462. ISBN 0-201-56798-9.
- ^ Уильямс, Эл (октябрь 1990 г.). «Создайте свой собственный расширитель DOS: Часть I». Журнал доктора Добба. Технология CMP. 15 (10): 16–18, 20, 24. ISSN 1044-789X.
- ^ Уильямс, Эл (ноябрь 1990 г.). «Сделайте свой собственный DOS Extender: Часть II». Журнал доктора Добба. Технология CMP. 15 (11): 74, 76, 80, 81–83, 85, 122–128, 130. ISSN 1044-789X.
- ^ Уильямс, Эл (1991). DOS 5: Руководство разработчика. Редвуд-Сити, Калифорния, США: Markt & Technik. ISBN 1-55851-177-6.
- ^ Уильямс, Эл (1993). DOS 6: Руководство разработчика. Markt & Technik. ISBN 1-55851-309-4.
- ^ Уильямс, Эл (1993). Защищенный режим DOS и Windows: программирование с помощью расширителей DOS на C. Эддисон-Уэсли. п. 30. ISBN 0-201-63218-7.
- ^ Компилятор FTN77 Fortran
внешняя ссылка
- "DOS Extender на вики FreeDOS". Архивировано 2 марта 2009 года.. Получено 12 августа, 2009.CS1 maint: неподходящий URL (связь)
- HX-DOS
- Список расширителей DOS в Free Country