DOS-geschützte Modusdienste - DOS Protected Mode Services
DOS Protected Mode Services ( DPMS ) ist eine Reihe erweiterter DOS- Speicherverwaltungsdienste, mit denen DPMS-fähige DOS-Treiber im erweiterten Speicher und im geschützten Modus geladen und ausgeführt werden können .
DPMS ist kein DOS-Extender für sich und ein minimaler Satz erweiterter DOS-Speicherverwaltungsdienste, mit denen sich leicht modifizierte DOS-residente Systemerweiterungen ( RSX ) wie Gerätetreiber oder TSRs (sogenannte DPMS-Clients ) in den erweiterten Speicher verlagern können Laufen Sie im 16-Bit- oder 32-Bit- geschützten Modus, während Sie nur einen winzigen Stub im herkömmlichen Speicher als Schnittstelle für die Kommunikation mit der herkömmlichen DOS-Umgebung belassen. Die DPMS-Clients tun dies über DPMS-Dienste, die von einem zuvor geladenen DPMS-Server bereitgestellt werden . Die erforderliche Größe des verbleibenden Stubs hängt von der Art des Treibers ab, kann jedoch häufig auch für komplexe Treiber nur für den Header auf einige hundert Byte reduziert werden.
Durch die Ausführung des Treibers im erweiterten Speicher und die Freigabe des herkömmlichen Speichers ermöglicht DPMS nicht nur das Laden und Ausnutzen des verfügbaren Speichers durch sehr große Treiber, sondern lässt auch mehr Speicher für normale DOS-Treiber zum Laden oder für nicht erweiterte DOS-Anwendungen verfügbar innerhalb der Platzbeschränkungen des herkömmlichen Speicherbereichs ausführen. Dies wird auch dazu beitragen, die Anzahl der freien Systemressourcen unter Windows zu erhöhen. Durch die Bereitstellung einheitlicher Schnittstellen für die Software zur Zuweisung und Verwendung von Speicher im geschützten Modus, ohne dass alle Anforderungen über DOS im Realmodus getunnelt werden müssen, kann DPMS gleichzeitig zur Verbesserung der Systemleistung beitragen.
DPMS
DPMS wurde ursprünglich 1992 von der Digital Research GmbH von Novell entwickelt . Es ist mit jedem DOS kompatibel und kann mit Speichermanagern und DOS-Extendern wie DPMI , VCPI usw. koexistieren . Die DPMS-API ist wiedereintrittsfähig und mit Multitaskern wie z als DR-DOS-Multitasker oder DESQview . Durch die Bereitstellung eines integrierten DPMS VxD- Treibers ist dieser auch mit Windows 3.x und Windows 9x kompatibel .
Der DPMS-Server muss nach den Speichermanagern (und vor den Treibern, die ihn verwenden) entweder als "DPMSXXX0" -Gerätetreiber gemäß DEVICE- Anweisung in CONFIG.SYS (bevorzugte Methode) oder später als TSR geladen werden . Für Debug-Zwecke (z. B. in Verbindung mit Microsoft WDEB386.EXE) können SDK- Versionen von EMM386.EXE 3.00 alternativ DPMS-Dienste über EMM386 [/] DPMS [= ON] über ein integriertes DPMS.SYS-Modul bereitstellen und dann ausgeführt werden bei Ring 1 anstelle von Ring 0 , wie bei der eigenständigen Version von DPMS.EXE. Die DPMS [/] NOCR3- Option ermöglicht das Debuggen unter älteren NuMega SoftICE- Versionen.
Abhängig von den Umständen belegt der Server allein zwischen 700 und 1400 Byte herkömmlichen Speichers und kann nicht in UMBs geladen werden . Für die Ausführung des DPMS-Servers ist mindestens ein 286- Computer erforderlich. Da DPMS-fähige Software jedoch so konzipiert werden kann, dass sie im herkömmlichen Speicher weiterhin ausgeführt wird, wenn keine DPMS-Dienste verfügbar sind, muss die Software die Kompatibilität nicht aufgeben bei Systemen, die keine DPMS-Dienste bereitstellen, entweder weil DPMS nicht geladen ist oder nicht verfügbar ist (z. B. auf Prozessoren vor 286). Auf 386 CPUs (und höher) bietet der DPMS-Server nicht nur einen Satz von 16-Bit-Diensten, sondern auch einen Satz von 32-Bit-Diensten. Selbst auf diesen Computern kann DPMS gezwungen werden, nur seine 16-Bit-Dienste mit der Option DPMS [/] 2 [86] zu laden .
DPMS weist Speicher entweder über VCPI oder XMS zu , je nachdem, welche Art von Speicher verfügbar ist. VCPI ruft normalerweise auch XMS auf. Neuere Versionen von DPMS können mithilfe der Option DPMS [/] MEM = XMS | VCPI gezwungen werden, eine dieser Schnittstellen zu verwenden . In einigen Versionen ist es möglich, die maximale Menge an erweitertem Speicher anzugeben, die mit DPMS zugewiesen werden soll [/] MB = nnnn .
DPMS-Registrierungsdienste können jederzeit nach dem Laden mit dem Befehl DPMS [/] OFF oder DPMS [/] ON deaktiviert oder wieder aktiviert werden. Dies wirkt sich jedoch nur auf neu geladene Treiber aus, nicht auf diejenigen, die bereits ausgeführt werden und DPMS verwenden.
Grundsätzlich gibt es drei Revisionen der DPMS-Spezifikation: DPMS Beta, DPMS 1.0 (Originallieferung von Novell DOS 7) und DPMS 1.1 (seit dem Update vom März 1994). Die 1.0-Spezifikation unterstützte auch weiterhin die Beta-Spezifikation, während die 1.1-Implementierung (und höher) dies nicht tut.
DPMS sah sein Debüt in der Beta - Versionen von DR DOS "Panther" im Oktober 1992, die neben anderen, kam mit DPMS-fähigen Versionen der Super - PC-Kwik Disk - Cache, AddStor ‚s SuperStor Disk - Komprimierung und DEBUG als "Stealth" System-Debugger im geschützten Modus. Während DPMS zu diesem Zeitpunkt bereits als "DOS Protected Mode Services" bezeichnet wurde, zeigt der Treiber DPMS.EXE / DPMS.SYS 0.10 weiterhin die Startmeldungen "DOS Protected Mode Server" an. Die PCMCIA -Kartendienste CS in PalmDOS waren ebenfalls DPMS-fähig. Spätere Einzelhandelsprodukte wie Novell DOS 7 und Personal NetWare 1.0 im Dezember 1993 enthielten auch viele DPMS-fähige Treiber wie die Datei DELWATCH 2.00, den adaptiven Plattencache NWCACHE 1.00, NWCDEX 1.00, eine CD-ROM- Redirector- Erweiterung, der Peer-to-Peer-Netzwerkserver SERVER 1.20 und STACKER 3.12, die Festplattenkomprimierungskomponente. DPMS wurde auch von Caldera OpenDOS 7.01, DR-DOS 7.02 und 7.03 bereitgestellt , die zumindest in einigen Versionen DPMS-fähige Probleme von DRFAT32 (eine FAT32- Redirector-Erweiterung), LONGNAME ( Unterstützung für lange VFAT- Dateinamen ) und VDISK (virtueller RAM ) hinzufügten Scheibe ). DR-DOS 7.03 enthält die neueste Version von DPMS 1.44.
DPMS wurde ebenfalls zur Verfügung gestellt von IBM ‚s PC - DOS 7.0 und PC - DOS - 2000, die mit einer älteren Version von Novell DPMS - Server und eine DPMS-fähigen Version kam Stacker 4.02 gebündelt.
Stac Electronics produzierte auch eine DPMS-fähige Standalone-Version von Stacker 4.
Das Super PC-Kwik 6.xx der PC-Kwik Corporation für DOS und das Power Pak 4.0 für Windows enthielten 1994 auch den DPMS-fähigen Festplatten-Cache SUPERPCK.
Einige Drittanbieter - DOS - Treiber Suiten wie die Eicon Diva oder High - Soft Tech GmbH (HST) Saphir CAPI ISDN - Treiber oder PCMCIA / PC - Card - Treiber - Stacks wie Auszeichnung ‚s Cardware 2.5 (oder höher) , um Unterstützung DPMS bekannt ist , als auch. Nach der Übernahme von Award durch Phoenix wurden die PCMCIA-Treiber 6.0 (und höher) an UniCore verkauft . CardWare 6.0 und 7.0 waren über APSoft , Socket Services (SSxxxxxx.EXE), Card Services (PCCS.EXE), PC Enable (PCENABLE.EXE) und Kartenhandler (PCDISK.EXE, PCSRAM.EXE, PCATA.EXE und verfügbar) verfügbar PCFLASH.EXE) könnte DPMS verwenden. Durch die Integration des Stacks durch LXE in die robusten DOS-PCs fand DPMS auch Eingang in die Datalight ROM-DOS- Suite.
1999 stellte Funk Software eine DPMS-fähige Version ihrer Fernsteuerungssoftware Proxy Host vor, mit der PHOST nur 9 KB herkömmlichen Speicher belegen kann. Der Remote Dial-in - Client - Software REMOTE für die 833 Remote Access Server von Perle Systems könnte zumindest für den gleichen Zweck Vorteil DPMS nehmen seit 2002 SciTech Software ‚s Kendall Bennett die Möglichkeit untersucht DPMS Unterstützung , um ihre DOS - Treiber - Suite um hinzufügen 1999 auch, aber dies wurde nie veröffentlicht.
Bret Johnson entwickelte DPMS-fähige PRTSCR- ( Print Screen to File) und USB- Treiber für DOS.
TUCHEN
1993 führte der Speichermanager NETROOM 3 der Helix Software Company eine Funktion ein, die dem DPMS von Novell sehr ähnlich ist: CLOAKING wurde verwendet, um Helix-Treiber und Treiber von Drittanbietern in den erweiterten Speicher zu verschieben und sie bei Ring 0 auszuführen Real-Mode- EMS- und XMS- Schnittstelle, deren geschützte Modus-Dienste sind unter INT 2Ch verfügbar . Es war ein CLOAKING-Entwickler-Kit verfügbar, das einen NuMega SoftICE- Debugger enthielt . Getarnte Treiber- oder TSR-Software-Hooking-Interrupts mussten einen kleinen 11-Byte-Stub im herkömmlichen Speicher belassen, der den CLOAKING-Server aufrief, um die Ausführung an den geschützten Modus-Teil der Treibersoftware zu übergeben.
CLOAKING bietet Unterstützung für den nahtlosen Betrieb unter Windows 3.x und Windows 95, Bereitstellung kompatibler INT 2Ch-Dienste für Treiber im geschützten Modus über Windows VxD sowie nahtloses Debuggen über den Windows-Start mit SoftICE. Diese Fähigkeit zum Übergang zwischen Hostumgebungen im geschützten Modus ist ebenfalls Gegenstand eines Patents.
CLOAKING lässt sich in vorhandene Steuerprogramme für den virtuellen Speicher integrieren und arbeitet mit diesen, ohne die Deskriptortabellen zu wechseln oder die Steuerregister zurückzusetzen. Dies ermöglicht laut Helix-Dokumentation eine schnellere Interrupt-Verarbeitung.
Im Gegensatz zu Novells DPMS kann der CLOAKING-Treiber von Helix hoch geladen werden, läuft jedoch nicht auf 286 Computern, obwohl er auf einem 386 16-Bit-Dienste und Programmstrukturen unterstützt. Außerdem wurde festgestellt, dass CLOAKING 2.01 mit dem nicht kompatibel ist DR-DOS-Multitasker ( EMM386 / MULTI [= ON] + TASKMGR ).
Wenn beim Laden von CLOAKING.EXE kein DPMS-Server vorhanden ist, stellt CLOAKING standardmäßig auch einen getarnten DPMS-Server bereit, dessen DOS-Speicherbedarf lediglich um 100 Byte erhöht wird. Es kann jedoch auch mit einem DPMS-Server koexistieren, der vor dem CLOAKING geladen wurde. Das Laden des integrierten DPMS-Servers kann mit dem Parameter CLOAKING / NODPMS unterdrückt werden . DPMS-fähige Treiber funktionieren sowohl mit DPMS als auch mit CLOAKING, jedoch nicht umgekehrt.
In NETROOM v3.04, Supplemental Disk Distribution vom "2-10-95", enthält die kennwortgeschützte Ressourcendatei NR.ZIP (679,271 KB) eine undokumentierte Datei. DPMSCLK.EXE (13.904 KB), "Cloaked DPMS Server v3.03". Die Datei enthält keine Unterstützung für Optionen oder Parameter, wenn sie mit der Standard- Hilfeoption DPMSCLK /? Abgefragt wird. . Diese Datei wird vom Programm NETROOM 3 SETUP.EXE nicht entpackt und nicht installiert. Es gibt keinen Hinweis auf die Existenz der Datei im NETROOM 3-Softwarehandbuch oder in der Programmdokumentation auf der Festplatte und in lesbaren Dateien. Diese endgültige Version von NETROOM, wie sie veröffentlicht wurde, ignorierte DPMS grundsätzlich.
Helix lizenziert eine Version von Award Software ‚s BIOS und entwickelte verhüllte System und Video - BIOS - Systeme , die vollständig im geschützten Modus ausgeführt, wodurch ihren Real-Modus - Speicherbedarf auf 8 KB (statt 96 KB) und diese als Laufzeit - BIOS verwendet in Verbindung mit ihrem NETROOM- Speichermanager.
Als Teil ihres Multimedia Cloaking- Produkts stellte Helix getarnte Versionen des MOUSE 6.33-Treibers von Logitech , des MSCDEX von Microsoft und eines selbst erstellten Festplatten-Cache als Ersatz für die SmartDrive- Treiber von Microsoft bereit .
Es gab auch ein Produkt namens Multimedia Stacker, das aus Stacs DPMS-fähigem Stacker 4.01 mit Helix 'oben genannter Suite getarnter DOS-Dienstprogramme bestand.
Der Logitech DOS-Maustreiber seit MouseWare 6.50 konnte auch CLOAKING nutzen, wodurch der für DOS-Anwendungen sichtbare Speicherbedarf des Maustreibers von 27 KB auf 1 KB reduziert wurde.
CLOAKING wurde auch an Symantec für ihre Utility-Suite, an Corel für ihre CD Creator- und Corel SCSI- Produkte und an SMC Networks für ihre Ethernet-Treiber lizenziert .
Das DPMS-Dienstprogramm von Novell kann möglicherweise nicht verwendet werden, um DPMS mit einem DPMS [/] OFF- Befehl vorübergehend zu deaktivieren, wenn diese DPMS-Dienste von CLOAKING anstelle von DPMS selbst bereitgestellt werden, da die Implementierung von Helix fälschlicherweise nicht nur die Registrierung neuer Treiber bei DPMS verhindert, sondern auch die vollständige Umschaltung verhindert Deaktivieren Sie DPMS-Dienste auch für bereits geladene Treiber, was zu einem Systemabsturz führt.
NIOS
Im Jahr 1993 hatte Novell Pläne angekündigt, die residenten Workstation-Verwaltungsdienstprogramme sowie die DOS-Netzwerktreiberstacks (Shells, Redirectors und Anforderer) auf die Verwendung von DPMS umzustellen. Allerdings wurde nur die Personal NetWare-Serverkomponente geändert, um diese tatsächlich zu nutzen.
Novell wurde 1993 angekündigt und führte 1996 einen neuen 32-Bit-DOS / Windows- NetWare-Client ( Client 32 ) auf Basis von ODI32 / NIOS ein, der den früheren 16-Bit-Client auf Basis von ODI / VLM ersetzte . Der NIOS-Client ( NetWare I / O Subsystem ) für DOS und Windows verwendete Techniken, die DPMS oder Cloaking sehr ähnlich sind, um den Code der geladenen NLMs ( NetWare Loadable Modules ) im geschützten Modus und im erweiterten Speicher zu verschieben und auszuführen , um den herkömmlichen Speicher zu reduzieren Grundfläche des Netzwerkstapels auf ca. 2 bis 5 KB.
NIOS benötigte und verwendete DPMS oder Cloaking weder direkt noch stellte es eine generische Schnittstelle bereit, die von Nicht-NLM-Modulen verwendet werden konnte. Es wurde jedoch sicherlich von der DPMS-Technologie inspiriert und kann mit beiden koexistieren.
Während Novells Personal NetWare von den neueren Besitzern Caldera , Lineo und DeviceLogics bis 2018 unverändert als Teil der DR-DOS-Suite veröffentlicht wurde , wurde Personal NetWare seit 1995 in Novell selbst aufgegeben. Dies führte dazu, dass Novell niemals einen PNW.NLM- Treiber zur Unterstützung des Personal NetWare-Protokolls unter dem neueren 32-Bit-ODI32 / NIOS-Stack veröffentlichte, sodass Benutzer von Personal NetWare die DPMS-Funktionen des PNW-Servermoduls bereits nutzen konnten mussten den speicherintensiven ODI / VLM-16-Bit-Client mit seinem PNW.VLM- Protokolltreiber weiterhin verwenden.
Siehe auch
- DOS Protected Mode Interface (DPMI)
- VCPI ( Virtual Control Program Interface )
- Erweiterte Schnittstelle für virtuelle Steuerungsprogramme (XVCPI)
Anmerkungen
Verweise
Weiterführende Literatur
- "DPMS verursacht Fehler in CP Backup 7.2 für Win" (Revision 2 ed.). Novell . 1995-07-01 [1994-09-14]. 1000039. Archiviert vom Original am 16.09.2018 . Abgerufen am 16.09.2018 .
Externe Links
- "Online-Ausgabe des Caldera DR-DOS 7.03 DPMS 1.0 SDK" . Inoffizielle DR-DOS-Site . 1999 [1994, 1997]. Archiviert vom Original am 22.05.2016 . Abgerufen am 22.05.2016 .
- "Anhang E. DOS-geschützte Modusdienste". PC DOS 7 Technisches Update (PDF) (1. Aufl.). Boca Raton, FL, USA: IBM Corporation , Internationale Organisation für technischen Support, Boca Raton Center. Februar 1995. S. 313–324. Dokumentnummer GG24-4459-00. Archiviert (PDF) vom Original am 18.09.2018 . Abgerufen am 17.09.2018 .