Службы защищенного режима DOS

редактировать

Службы защищенного режима DOS (DPMS ) - это набор расширенных DOS службы управления памятью, позволяющие драйверам DOS с поддержкой DPMS загружаться и выполняться в расширенной памяти и в защищенном режиме.

Не будучи сам по себе расширителем DOS, DPMS - это минимальный набор расширенных служб управления памятью DOS, позволяющий слегка модифицировать резидентные системные расширения DOS (RSX ), такие как драйверы устройств или TSR (как так называемые клиенты DPMS) до перемещаются в расширенную память и работают в 16-битном или 32-битном защищенном режиме, оставляя только крошечную заглушку в обычной памяти как интерфейс для связи с обычной средой DOS. Клиенты DPMS делают это через службы DPMS, предоставляемые ранее загруженным сервером DPMS. Необходимый размер оставшейся заглушки зависит от типа драйвера, но часто может быть уменьшен до нескольких сотен байтов только для заголовка даже для сложных драйверов.

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

Содержание
  • 1 DPMS
  • 2 ЗАКРЫТИЕ
  • 3 NIOS
  • 4 См. Также
  • 5 Примечания
  • 6 Ссылки
  • 7 Дополнительная литература
  • 8 Внешние ссылки
DPMS

DPMS был первоначально разработан Novell Digital Research GmbH, Германия, в 1992 году. Он совместим с любой DOS и может сосуществуют с диспетчерами памяти и расширителями DOS, такими как DPMI, VCPI и т. д. DPMS API является реентерабельным и совместим с многозадачностью, такой как многозадачность DR-DOS или DESQview. Предоставляя встроенный драйвер DPMS VxD, он также совместим с Windows 3.x и Windows 9x.

. Сервер DPMS должен загружаться после памяти. менеджеры (и перед драйверами, использующими его), либо как драйвер устройства «DPMSXXX0» согласно инструкции DEVICE в CONFIG.SYS (предпочтительный метод), либо позже как TSR. Для целей отладки (например, в сочетании с Microsoft WDEB386.EXE) SDK -версии EMM386.EXE 3.00 могут альтернативно предоставлять службы DPMS через EMM386 [/] DPMS [= ON] через встроенный модуль DPMS.SYS, затем запускается в кольце 1 вместо кольцо 0, как в автономной версии DPMS.EXE. Параметр DPMS [/] NOCR3 позволяет выполнять отладку в более старых версиях NuMega SoftICE.

В зависимости от обстоятельств сервер будет занимать от 700 до 1400 байтов обычная память сама по себе и не может быть загружена в UMB. Для работы сервера DPMS потребуется как минимум машина 286, но поскольку программное обеспечение с поддержкой DPMS может быть спроектировано таким образом, чтобы оно продолжало работать в обычной памяти, если службы DPMS недоступны, программное обеспечение выполняет не нужно отказываться от совместимости с системами, не предоставляющими службы DPMS, потому что DPMS не загружен или недоступен (например, на процессорах до 286). На процессорах 386 (и выше) сервер DPMS будет предоставлять не только набор 16-разрядных, но также набор 32-разрядных служб. Даже на этих машинах DPMS можно заставить загружать только свои 16-битные службы с помощью параметра DPMS [/] 2 [86].

DPMS будет выделять память либо через VCPI, либо через XMS, в зависимости от того, какой тип памяти доступен. VCPI обычно также обращается к XMS. В более новых версиях DPMS можно принудительно использовать один из этих интерфейсов с помощью параметра DPMS [/] MEM = XMS | VCPI. В некоторых версиях можно указать максимальный объем расширенной памяти, выделяемой с помощью DPMS [/] MB = nnnn.

Службы регистрации DPMS можно отключить или снова включить в любое время после загрузите с помощью команды DPMS [/] OFF или DPMS [/] ON, однако это повлияет только на загруженные новые драйверы, а не на уже запущенные и использующие DPMS.

В основном есть три версии спецификации DPMS, бета-версия DPMS, DPMS 1.0 (исходная поставка Novell DOS 7) и DPMS 1.1 (после обновления в марте 1994 г.). Спецификация 1.0 продолжала поддерживать бета-спецификацию, тогда как реализация 1.1 (и выше) - нет.

DPMS дебютировал в бета-версиях DR DOS "Panther" в октябре 1992, который, помимо других, поставлялся с версиями дискового кэша с поддержкой DPMS, дисковым сжатием SuperStor и DEBUG в качестве системного отладчика с защищенным режимом "невидимости". Хотя DPMS в это время уже назывался «Службы защищенного режима DOS», драйвер DPMS.EXE / DPMS.SYS 0.10 по-прежнему отображал сообщения запуска «Сервер защищенного режима DOS». CS службы карт PCMCIA в PalmDOS также поддерживала DPMS. Более поздние розничные продукты, такие как Novell DOS 7 и Personal NetWare 1.0 в декабре 1993 года, также поставлялись со многими драйверами с поддержкой DPMS, такими как компонент отслеживания удаления файлов 2.00, адаптивный дисковый кеш NWCACHE 1.00, NWCDEX 1.00, расширение CD-ROM redirector, одноранговый сетевой сервер SERVER 1.20 и STACKER 3.12, компонент сжатия диска. DPMS также предоставлялась Caldera OpenDOS 7.01, DR-DOS 7.02 и 7.03, которые, по крайней мере, в некоторых выпусках, добавляли проблемы с поддержкой DPMS DRFAT32 (расширение перенаправителя FAT32 ), LONGNAME (VFAT поддержка длинных файлов ) и VDISK (виртуальный RAM-диск ). DR-DOS 7.03 содержит последнюю версию DPMS 1.44.

DPMS также предоставлялась IBM PC DOS 7.0 и PC DOS 2000, которые поставлялись с более старой версией сервера DPMS от Novell и версией с поддержкой DPMS. из Stacker 4.02 в комплекте.

Stac Electronics также выпустила автономную версию Stacker 4 с поддержкой DPMS.

Super PC-Kwik 6.xx от PC-Kwik Corporation для DOS и их Power Pak 4.0 для Windows также включали дисковый кэш SUPERPCK с поддержкой DPMS в 1994 году.

Некоторые сторонние наборы драйверов DOS, такие как Eicon Diva или High Soft Tech GmbH (HST) Известны драйверы Saphir CAPI ISDN или пакеты драйверов PCMCIA / PCCard, такие как Award CardWare 2.5 (или выше) для поддержки DPMS. После того, как Phoenix приобрела Award, их драйверы PCMCIA 6.0 (и выше) были проданы компании. CardWare 6.0 и 7.0 были доступны через Socket Services (SSxxxxxx.EXE), Card Services (PCCS.EXE), PC Enable (PCENABLE.EXE) и обработчики карт (PCDISK.EXE, PCSRAM.EXE, PCATA.EXE и PCFLASH..EXE) может использовать DPMS. Благодаря интеграции стека LXE в свои защищенные ПК с DOS, DPMS также нашла свое место в пакете Datalight ROM-DOS.

В 1999 г. Funk Software представила версию своего программного обеспечения для удаленного управления Proxy Host с поддержкой DPMS, позволяющую PHOST занимать всего 9 КБ обычной памяти. Программное обеспечение Remote Dial-in Client REMOTE для сервера удаленного доступа 833 от Perle Systems могло использовать преимущества DPMS для той же цели, по крайней мере, с 2002 года. SciTech Software исследовала возможность чтобы добавить поддержку DPMS в свой набор драйверов DOS примерно в 1999 году, но это так и не было опубликовано.

Брет Джонсон разработал драйверы Print Screen с поддержкой DPMS в файл (PRTSCR) и USB для DOS.

CLOAKING

В 1993 году диспетчер памяти Helix Software Company NETROOM 3 представил функцию, очень похожую на DPMS от Novell: CLOAKING использовался для перемещения драйверов Helix и сторонних производителей в расширенную память и их запуска. в кольце 0. Предоставляя свои функции в качестве расширения интерфейса реального режима EMS и XMS, его услуги в защищенном режиме доступны под. Был доступен комплект разработчика CLOAKING, в который входил отладчик NuMega SoftICE. Скрытые драйверы или программные прерывания перехвата программ TSR должны были оставлять небольшую 11-байтовую заглушку в обычной памяти, которая вызывала бы сервер CLOAKING для передачи выполнения части защищенного режима программного обеспечения драйвера.

CLOAKING включает поддержку непрерывной работы под Windows 3.x и Windows 95, обеспечивая совместимые службы INT 2Ch для драйверов защищенного режима через Windows VxD, а также беспрепятственную отладку при запуске Windows с помощью SoftICE. Эта возможность переключения между средами хоста в защищенном режиме также является предметом патента.

CLOAKING интегрируется и работает с существующими программами управления виртуальной памятью без переключения таблиц дескрипторов или сброса регистров управления. Это обеспечивает более быструю обработку прерываний, согласно документации Helix.

В отличие от DPMS от Novell, драйвер CLOAKING Helix может быть загружен с высоким уровнем, но он не работает на 286 машинах, хотя он поддерживает 16-битные службы и структура программы на 386. Также было обнаружено, что CLOAKING 2.01 несовместим с многозадачностью DR-DOS (EMM386 / MULTI [= ON] + TASKMGR).

Если сервер DPMS отсутствует, когда CLOAKING.EXE загружается, CLOAKING по умолчанию также предоставляет скрытый сервер DPMS при увеличении его объема памяти DOS всего на 100 байт. Однако он также может сосуществовать с сервером DPMS, загруженным до ЗАКРЫТИЯ. Загрузка встроенного сервера DPMS может быть подавлена ​​с помощью параметра CLOAKING / NODPMS. Драйверы с поддержкой DPMS будут работать как с DPMS, так и с CLOAKING, но не наоборот.

В NETROOM v3.04, дополнительный диск от «2-10-95» защищен паролем. файл ресурсов NR.ZIP (679 271 КБ) содержит недокументированный файл; DPMSCLK.EXE (13 904 КБ), «Скрытый сервер DPMS v3.03». Файл не поддерживает какие-либо опции или параметры при запросе с использованием стандартной опции справки, DPMSCLK /?. Этот файл не распаковывается программой NETROOM 3 SETUP.EXE и не устанавливается. В руководстве по программному обеспечению NETROOM 3, в документации к программам на диске и в файлах, удобочитаемых человеком, нет ни намека на существование файла. Эта последняя версия NETROOM в том виде, в котором она была выпущена, в основном игнорировала DPMS.

Helix лицензировала версию BIOS Award Software и разработала скрытую систему и видео BIOS, которые выполнялись полностью в защищенном режиме, уменьшая объем памяти в реальном режиме до 8 КБ (вместо 96 КБ), и использовали их в качестве BIOS времени выполнения вместе со своим менеджером памяти NETROOM.

Как часть своего продукта Multimedia Cloaking, Helix предоставила скрытые версии драйвера MOUSE 6.33 Logitech, MSCDEX от Microsoft и самодельный дисковый кеш для замены Microsoft SmartDrive драйверы.

Был также продукт под названием Multimedia Stacker, состоящий из Stac-совместимого Stacker 4.01 с DPMS и упомянутого выше набора скрытых утилит DOS от Helix.

Драйвер мыши Logitech для DOS, начиная с MouseWare 6.50, также может использовать ЗАКРЫТИЕ, тем самым уменьшая объем памяти драйвера мыши, видимый приложениям DOS, с 27 КБ до 1 КБ. <66 Лицензии>

CLOAKING были также предоставлены Symantec для их набора утилит, Corel для их продуктов и их драйверов Ethernet.

Утилита Novell DPMS не может использоваться для временного отключения DPMS с помощью команды DPMS [/] OFF, если эти службы DPMS предоставляются CLOAKING вместо самой DPMS, поскольку реализация Helix ошибочно не только запрещает новые драйверы для регистрации в DPMS, но полностью отключить службы DPMS даже для уже загруженных драйверов, что приведет к сбою системы.

NIOS

В 1993 году Novell объявила о планах преобразовать управление своей резидентной рабочей станцией утилиты, а также их стеки сетевых драйверов DOS (оболочки, перенаправители и запросчики) для использования DPMS, однако только серверный компонент Personal NetWare был изменен для реального использования его преимуществ.

Объявленная в 1993 году, Novell представила новый 32-битный DOS / Windows клиент NetWare () на основе ODI32 / NIOS в 1996 году, замена прежнего 16-битного клиента на основе ODI / VLM. Клиент NIOS (Подсистема ввода-вывода NetWare ) для DOS и Windows использовал методы, очень похожие на DPMS или маскировку, для перемещения и запуска кода загруженных NLM (NetWare Loadable Модули ) в защищенном режиме и с расширенной памятью, чтобы уменьшить обычную память, занимаемую сетевым стеком, примерно до 2–5 КБ.

NIOS не требовал и не использовал DPMS или маскировку напрямую, и это действительно так. не предоставляет общий интерфейс, который мог бы использоваться модулями, отличными от NLM, однако он определенно был вдохновлен технологией DPMS и может сосуществовать с ними обоими.

В то время как Novell Personal NetWare была опубликована без изменений как часть пакета DR-DOS ее новыми владельцами Caldera, Lineo и DeviceLogics до 2018 г. в самой Novell с 1995 г. отказались от Personal NetWare. Это привело к тому, что Novell никогда не публиковала драйвер PNW.NLM для поддержки протокола Personal NetWare в новом 32-битном стеке ODI32 / NIOS, так что пользователи Personal NetWare, которые могли воспользоваться преимуществами серверного модуля PNW Возможности DPMS уже должны были продолжить использование потребляющего память 16-разрядного клиента ODI / VLM с его драйвером протокола PNW.VLM.

См. Также
Примечания
Ссылки
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-05-16 09:22:14
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте