home *** CD-ROM | disk | FTP | other *** search
/ Pegasus Games / Pegasus_Games_CD2.iso / aodemo / dpmiuser.doc < prev    next >
Text File  |  1995-04-26  |  9KB  |  208 lines

  1.                        DPMI-Dienstprogramme
  2.                        ====================
  3.  
  4.  
  5. ================================================
  6. Das Ausführen eines DOS-Protected-Mode-Programms
  7. ================================================
  8.  
  9. Wenn Sie ein Protected-Mode-Programm starten, müssen Sie sicherstellen,
  10. daß sich DPMI16BI.OVL (der DPMI-Server), RTM.EXE (der DPMI-Lader)
  11. und alle von der Anwendung benötigten DLLs an einem der folgenden Orte
  12. befinden:
  13.  
  14.   - im aktuellen Verzeichnis
  15.   - im selben Verzeichnis wie die Anwendung
  16.   - im Suchpfad.
  17.  
  18.  
  19. Protected Mode und Speicher
  20. ---------------------------
  21.  
  22. DPMI (für DOS Protected Mode Interface) ermöglicht es einem DOS-
  23. Programm, im Protected Mode zu laufen und dadurch auf den gesamten
  24. Arbeitsspeicher Ihres Computers zuzugreifen. Von einigen Ausnahme-
  25. fällen abgesehen, ist diese Technik vollkommen transparent und es
  26. sind keine besonderen Maßnahmen nötig, um ein Programm im Protected
  27. Mode auszuführen.
  28.  
  29.  
  30. DPMIINST
  31.  
  32. Ein solcher Ausnahmefall kann auftreten, wenn Sie ein Protected-
  33. Mode-Programm das erste Mal auf einem Rechner mit 80286-Prozessor
  34. ausführen. Zur Konfiguration der Protected-Mode-Schnittstelle wird
  35. eine interne Datenbank mit verschiedenen Rechner-Charakteristika
  36. verwendet. Aufgrund dieser Informationen wird entschieden, wie der
  37. Protected Mode auf Ihrem Rechner aktiviert werden kann. Wenn Sie einen
  38. Rechner mit einem älteren 80286 haben, kann es vorkommen, daß dieser
  39. nicht erkannt wird. In diesem Fall sehen Sie bei Start des Protected-
  40. Mode-Programms die folgende Meldung:
  41.  
  42.   Machine not in database (RUN DPMIINST)
  43.  
  44. Falls Sie diese Meldung erhalten, dann lassen Sie einfach DPMIINST
  45. laufen. Tippen Sie an der DOS-Eingabeaufforderung DPMIINST ein und
  46. folgen Sie den Instruktionen des Programms.
  47.  
  48. DPMIINST unterzieht Ihren Rechner einer Reihe von Tests, um zu
  49. ermitteln, wie der Protected Mode am besten aktiviert werden kann,
  50. und konfiguriert die DPMI-Schnittstelle entsprechend. Sie müssen
  51. dieses Programm nur ein einziges Mal ausführen.
  52.  
  53. Einige Speicherverwaltungsprogramme, Gerätetreiber und speicher-
  54. residente Programme können unter Umständen verhindern, daß DPMIINST
  55. die nötigen Tests durchführt. Entfernen Sie vorübergehend alle
  56. derartigen Programme, wenn DPMIINST nicht korrekt abläuft, oder
  57. schalten Sie sie ab, so daß DPMIINST den uneingeschränkten Zugriff
  58. auf Ihr System erhält.
  59.  
  60. Beachten Sie, daß DPMIINST weder auf einem Rechner, auf dem HIMEM
  61. (oder ein äquivalentes Programm) läuft, noch auf einem Rechner mit
  62. 80386- oder 80486-Prozessor je benötigt wird.
  63.  
  64.  
  65. DPMIMEM
  66.  
  67. Per Vorgabe belegt die DPMI-Schnittstelle alles verfügbare Extended
  68. Memory. Wenn Sie das verhindern möchten, können Sie eine DOS-Umge-
  69. bungsvariable definieren, die eine Obergrenze für den verwendeten
  70. Speicher festlegt. Diese Definition können Sie entweder an der DOS-
  71. Eingabeaufforderung oder in die Datei AUTOEXEC.BAT eingeben. Die
  72. Syntax lautet:
  73.  
  74.   SET DPMIMEM=MAXMEM nnnn
  75.  
  76. wobei nnnn für die Speichergröße in Kilobyte steht.
  77.  
  78. Falls beispielsweise Ihr Rechner 4 MB hat und DPMI nur 2 MB ver-
  79. wenden soll, können Sie die Umgebungsvariable DPMIMEM wie folgt
  80. definieren:
  81.  
  82.   SET DPMIMEM=MAXMEM 2048
  83.  
  84. Einige Speicherverwaltungsprogramme wie QEMM oder 386^Max können ein und
  85. denselben Speicherbereich wahlweise als Expanded oder Extended Memory
  86. reservieren. Viele ältere Programme können nur Expanded Memory (EMS)
  87. nutzen. Mit der Umgebungsvariablen DPMIMEM können Sie erreichen, daß
  88. nur ein Teil des Extended Memory für DPMI genutzt wird, so daß diesen
  89. älteren Programm weiterhin EMS-Speicher zur Verfügung steht.
  90.  
  91.  
  92. RTMRES
  93.  
  94. RTMRES lädt das DPMI-System vorab. Wenn Sie das tun, startet ein
  95. Protected-Mode-Programm etwas rascher. Wenn Sie beim Aufruf ein
  96. Programm mit angeben, wird es geladen. Ansonsten lädt RTMRES eine
  97. DOS-Shell, die Sie wie üblich mit EXIT beenden können.
  98.  
  99. RTMRES ist dann besonders von Nutzen, wenn Sie ein Protected-Mode-
  100. Programm immer wieder starten und beenden. Normalerweise würde bei
  101. jedem Start der DPMI-Server geladen, was Sie sich ersparen können,
  102. wenn Sie ihn mit RTMRES resident machen.
  103.  
  104.  
  105. EXTENDED MEMORY
  106.  
  107. Die Kommunikation eines Protected-Mode-Programms mit dem  DPMI-
  108. Server geschieht über den DPMI-Lader RTM.EXE. Per Vorgabe
  109. benutzt ein Protected-Mode-Programm allen vom DPMI-Kernel reser-
  110. vierten Speicher.
  111.  
  112.  
  113. ===================================================
  114. Ein Protected-Mode-Programm unter Windows ausführen
  115. ===================================================
  116.  
  117. Ein DOS-Protected-Mode-Programm läuft unter dem erweiterten
  118. 386er-Modus von Windows. Mit Hilfe einer PIF-Datei können Sie fest-
  119. legen, wieviel Speicher dem Programm zur Verfügung gestellt wird.
  120. Was eine PIF-Datei ist und wie Sie eine anlegen, erfahren Sie im
  121. Benutzerhandbuch zu Microsoft Windows.
  122.  
  123.  
  124. Ein Protected-Mode-Programm im Windows-Standardmodus ausführen
  125. --------------------------------------------------------------
  126.  
  127. Wenn Sie ein Protected-Mode-Programm im Windows-Standardmodus aus-
  128. führen wollen, müssen Sie die DOS-Umgebungsvariable DPMIMEM
  129. definieren und RTMRES starten, bevor Sie Windows starten. Beides
  130. ist weiter oben beschrieben. Lassen Sie bei der Definition von DPMIMEM
  131. genügend Speicher für Windows übrig.
  132.  
  133. Sobald Sie DPMIMEM geladen haben, können Sie Windows nicht mehr im
  134. erweiterten 386er-Modus ausführen. Sie müssen RTMRES erst wieder
  135. verlassen (tippen Sie dazu an der DOS-Eingabeaufforderung EXIT ein).
  136.  
  137.  
  138. Die DOS-Eingabeaufforderung von Windows
  139. ---------------------------------------
  140.  
  141. Um ein DOS-Protected-Mode-Programm von der DOS-Eingabeaufforderung
  142. unter Windows zu starten, müssen Sie die Datei DOSPRMPT.PIF in Ihrem
  143. Windows-Verzeichnis bearbeiten. Andernfalls kann das Protected-Mode-
  144. Programm kein Extended Memory nutzen.
  145.  
  146. Starten Sie den PIF-Editor von Windows, öffnen Sie die Datei
  147. DOSPRMPT.PIF und geben Sie darin an, wieviel Extended Memory das
  148. Protected-Mode-Programm benutzen soll. Wenn Sie mit dem PIF-Editor
  149. nicht vertraut sind, können Sie Einzelheiten im Benutzerhandbuch zu
  150. Microsoft Windows nachlesen.
  151.  
  152.  
  153. ================================================================
  154. Wie Sie die Speicherbelegung durch den DPMI-Lader steuern können
  155. ================================================================
  156.  
  157. Der DPMI-Lader versucht, möglichst viel konventionellen Speicher
  158. zur Verfügung zu stellen, bevor er eine Anwendung lädt (er lagert
  159. nach Mögichkeit Speicherblöcke ins Extended Memory aus). Er versucht
  160. hingegen nicht, Extended Memory freizugeben. Falls Sie andere
  161. Protected-Mode-Programme benutzen wollen, die den DPMI-Lader
  162. nicht verwenden (beispielsweise Paradox 4.0), so können Sie die
  163. Speicherbelegung mit Hilfe der DOS-Umgebungsvariablen RTM steuern.
  164.  
  165. Mit Hilfe des SET-Befehls können Sie die Umgebungsvariable RTM in der
  166. DOS- Kommandozeile definieren. Es gilt folgende Syntax:
  167.  
  168.   SET RTM=[Option nnnn]
  169.  
  170. Die folgende Tabelle listet die verfügbaren Optionen auf. nnnn kann
  171. eine dezimale oder hexadezimale Zahl sein, letztere im Format xAB54
  172. oder xab54.
  173.  
  174.    Option          Beschreibung
  175.    -------------------------------------------------------------
  176.    EXTLEAVE nnnn   Es werden stets nnnn Kilobyte Extended Memory
  177.                    freigelassen. Der Vorgabewert ist 640 KB.
  178.  
  179.    EXTMAX nnnn     Es werden nicht mehr als nnnn Kilobyte Extended
  180.                    Memory reserviert. Der Vorgabewert ist 4
  181.                    Gigabyte bzw., unter Windows, die Hälfte des
  182.                    verfügbaren Speichers.
  183.  
  184.    EXTMIN nnnn     Wenn unter Berücksichtigung der Angaben zu EXTMAX
  185.                    und EXTLEAVE weniger als nnnn Kilobyte Speicher
  186.                    zur Verfügung stehen, wird das Programm beendet
  187.                    und die Meldung "Out of Memory" ausgegeben. Der
  188.                    Vorgabewert ist Null.
  189.  
  190.    REALLEAVE nnnn  Es werden stets mindestens nnnn Paragraphen an
  191.                    DOS-Speicher freigelassen. Der Vorgabewert ist
  192.                    4096 Paragraphen, was 64 KB entspricht.
  193.  
  194.    REALMAX nnnn    Es werden nicht mehr als nnnn Paragraphen an DOS-
  195.                    Speicher reserviert. Der Vorgabewert ist 1 MB bzw.
  196.                    65535 Paragraphen.
  197.  
  198.    REALMIN nnnn    Wenn unter Berücksichtigung der Angaben zu REALMAX
  199.                    und REALLEAVE weniger als nnnn Kilobyte Speicher
  200.                    zur Verfügung stehen, wird das Programm beendet
  201.                    und die Meldung "Out of Memory" ausgegeben. Der
  202.                    Vorgabewert ist Null.
  203.  
  204. Mit dem folgenden Befehl reserviert RTM maximal 2 MB Extended Memory
  205. und es werden 128 KB DOS-Speicher freigelassen.
  206.  
  207.   SET RTM=EXTMAX 2048 REALLEAVE 8192
  208.