home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip: Special Survival Kit
/
Chip_Special_Survival_Kit_fuer_PC_Anwender.iso
/
04ordnun
/
abkat
/
dpmiuser.doc
< prev
next >
Wrap
Text File
|
1994-09-01
|
11KB
|
252 lines
Borland Pascal 7.0
DPMI-Dienstprogramme
====================
Diese Datei beschreibt die Programme RTM.EXE, RTMRES.EXE, DPMI16BI.OVL,
DPMIINST.EXE und DPMILOAD.EXE. Sie dürfen diese Programme unter denselben
Lizenzbedingungen weitergeben, die für Borland Pascal 7.0 gelten. Stellen
Sie den Anwendern Ihrer Programme auch die in dieser Datei enthaltenen
Informationen zur Verfügung.
Es werden folgende Themen behandelt:
o Das Ausführen eines DOS-Protected-Mode-Programms
o Was Sie tun können, wenn der DPMI-Server von Borland auf Ihrem System
nicht läuft
o Wie Sie DOS-Umgebungsvariablen für die mit Borland Pascal 7.0
erzeugten Programme setzen
o Besonderheiten bei der Ausführung unter Windows
o Wie Sie die Speicherbelegung durch den DPMI-Lader steuern können
o Ein Hinweis für Anwender von Borland C++ und Paradox 4.0
================================================
Das Ausführen eines DOS-Protected-Mode-Programms
================================================
Wenn Sie ein Protected-Mode-Programm starten, müssen Sie sicherstellen,
daß sich DPMI16BI.OVL (der DPMI-Server), RTM.EXE (der DPMI-Lader)
und alle von der Anwendung benötigten DLLs an einem der folgenden Orte
befinden:
- im aktuellen Verzeichnis
- im selben Verzeichnis wie die Anwendung
- im Suchpfad.
Protected Mode und Speicher
---------------------------
DPMI (für DOS Protected Mode Interface) ermöglicht es einem DOS-
Programm, im Protected Mode zu laufen und dadurch auf den gesamten
Arbeitsspeicher Ihres Computers zuzugreifen. Von einigen Ausnahme-
fällen abgesehen, ist diese Technik vollkommen transparent und es
sind keine besonderen Maßnahmen nötig, um ein Programm im Protected
Mode auszuführen.
DPMIINST
Ein solcher Ausnahmefall kann auftreten, wenn Sie ein Protected-
Mode-Programm das erste Mal auf einem Rechner mit 80286-Prozessor
ausführen. Zur Konfiguration der Protected-Mode-Schnittstelle wird
eine interne Datenbank mit verschiedenen Rechner-Charakteristika
verwendet. Aufgrund dieser Informationen wird entschieden, wie der
Protected Mode auf Ihrem Rechner aktiviert werden kann. Wenn Sie einen
Rechner mit einem älteren 80286 haben, kann es vorkommen, daß dieser
nicht erkannt wird. In diesem Fall sehen Sie bei Start des Protected-
Mode-Programms die folgende Meldung:
Machine not in database (RUN DPMIINST)
Falls Sie diese Meldung erhalten, dann lassen Sie einfach DPMIINST
laufen. Tippen Sie an der DOS-Eingabeaufforderung DPMIINST ein und
folgen Sie den Instruktionen des Programms.
DPMIINST unterzieht Ihren Rechner einer Reihe von Tests, um zu
ermitteln, wie der Protected Mode am besten aktiviert werden kann,
und konfiguriert die DPMI-Schnittstelle entsprechend. Sie müssen
dieses Programm nur ein einziges Mal ausführen.
Einige Speicherverwaltungsprogramme, Gerätetreiber und speicher-
residente Programme können unter Umständen verhindern, daß DPMIINST
die nötigen Tests durchführt. Entfernen Sie vorübergehend alle
derartigen Programme, wenn DPMIINST nicht korrekt abläuft, oder
schalten Sie sie ab, so daß DPMIINST den uneingeschränkten Zugriff
auf Ihr System erhält.
Beachten Sie, daß DPMIINST weder auf einem Rechner, auf dem HIMEM
(oder ein äquivalentes Programm) läuft, noch auf einem Rechner mit
80386- oder 80486-Prozessor je benötigt wird.
DPMIMEM
Per Vorgabe belegt die DPMI-Schnittstelle alles verfügbare Extended
Memory. Wenn Sie das verhindern möchten, können Sie eine DOS-Umge-
bungsvariable definieren, die eine Obergrenze für den verwendeten
Speicher festlegt. Diese Definition können Sie entweder an der DOS-
Eingabeaufforderung oder in die Datei AUTOEXEC.BAT eingeben. Die
Syntax lautet:
SET DPMIMEM=MAXMEM nnnn
wobei nnnn für die Speichergröße in Kilobyte steht.
Falls beispielsweise Ihr Rechner 4 MB hat und DPMI nur 2 MB ver-
wenden soll, können Sie die Umgebungsvariable DPMIMEM wie folgt
definieren:
SET DPMIMEM=MAXMEM 2048
Einige Speicherverwaltungsprogramme wie QEMM oder 386^Max können ein und
denselben Speicherbereich wahlweise als Expanded oder Extended Memory
reservieren. Viele ältere Programme können nur Expanded Memory (EMS)
nutzen. Mit der Umgebungsvariablen DPMIMEM können Sie erreichen, daß
nur ein Teil des Extended Memory für DPMI genutzt wird, so daß diesen
älteren Programm weiterhin EMS-Speicher zur Verfügung steht.
RTMRES
RTMRES lädt das DPMI-System vorab. Wenn Sie das tun, startet ein
Protected-Mode-Programm etwas rascher. Wenn Sie beim Aufruf ein
Programm mit angeben, wird es geladen. Ansonsten lädt RTMRES eine
DOS-Shell, die Sie wie üblich mit EXIT beenden können.
RTMRES ist dann besonders von Nutzen, wenn Sie ein Protected-Mode-
Programm immer wieder starten und beenden. Normalerweise würde bei
jedem Start der DPMI-Server geladen, was Sie sich ersparen können,
wenn Sie ihn mit RTMRES resident machen.
EXTENDED MEMORY
Die Kommunikation eines Protected-Mode-Programms mit dem DPMI-
Server geschieht über den DPMI-Lader RTM.EXE. Per Vorgabe
benutzt ein Protected-Mode-Programm allen vom DPMI-Kernel reser-
vierten Speicher.
===================================================
Ein Protected-Mode-Programm unter Windows ausführen
===================================================
Ein DOS-Protected-Mode-Programm läuft unter dem erweiterten
386er-Modus von Windows. Mit Hilfe einer PIF-Datei können Sie fest-
legen, wieviel Speicher dem Programm zur Verfügung gestellt wird.
Was eine PIF-Datei ist und wie Sie eine anlegen, erfahren Sie im
Benutzerhandbuch zu Microsoft Windows.
Ein Protected-Mode-Programm im Windows-Standardmodus ausführen
--------------------------------------------------------------
Wenn Sie ein Protected-Mode-Programm im Windows-Standardmodus aus-
führen wollen, müssen Sie die DOS-Umgebungsvariable DPMIMEM
definieren und RTMRES starten, bevor Sie Windows starten. Beides
ist weiter oben beschrieben. Lassen Sie bei der Definition von DPMIMEM
genügend Speicher für Windows übrig.
Sobald Sie DPMIMEM geladen haben, können Sie Windows nicht mehr im
erweiterten 386er-Modus ausführen. Sie müssen RTMRES erst wieder
verlassen (tippen Sie dazu an der DOS-Eingabeaufforderung EXIT ein).
Die DOS-Eingabeaufforderung von Windows
---------------------------------------
Um ein DOS-Protected-Mode-Programm von der DOS-Eingabeaufforderung
unter Windows zu starten, müssen Sie die Datei DOSPRMPT.PIF in Ihrem
Windows-Verzeichnis bearbeiten. Andernfalls kann das Protected-Mode-
Programm kein Extended Memory nutzen.
Starten Sie den PIF-Editor von Windows, öffnen Sie die Datei
DOSPRMPT.PIF und geben Sie darin an, wieviel Extended Memory das
Protected-Mode-Programm benutzen soll. Wenn Sie mit dem PIF-Editor
nicht vertraut sind, können Sie Einzelheiten im Benutzerhandbuch zu
Microsoft Windows nachlesen.
================================================================
Wie Sie die Speicherbelegung durch den DPMI-Lader steuern können
================================================================
Der DPMI-Lader versucht, möglichst viel konventionellen Speicher
zur Verfügung zu stellen, bevor er eine Anwendung lädt (er lagert
nach Mögichkeit Speicherblöcke ins Extended Memory aus). Er versucht
hingegen nicht, Extended Memory freizugeben. Falls Sie andere
Protected-Mode-Programme benutzen wollen, die den DPMI-Lader
nicht verwenden (beispielsweise Paradox 4.0), so können Sie die
Speicherbelegung mit Hilfe der DOS-Umgebungsvariablen RTM steuern.
Mit Hilfe des SET-Befehls können Sie die Umgebungsvariable RTM in der
DOS- Kommandozeile definieren. Es gilt folgende Syntax:
SET RTM=[Option nnnn]
Die folgende Tabelle listet die verfügbaren Optionen auf. nnnn kann
eine dezimale oder hexadezimale Zahl sein, letztere im Format xAB54
oder xab54.
Option Beschreibung
-------------------------------------------------------------
EXTLEAVE nnnn Es werden stets nnnn Kilobyte Extended Memory
freigelassen. Der Vorgabewert ist 640 KB.
EXTMAX nnnn Es werden nicht mehr als nnnn Kilobyte Extended
Memory reserviert. Der Vorgabewert ist 4
Gigabyte bzw., unter Windows, die Hälfte des
verfügbaren Speichers.
EXTMIN nnnn Wenn unter Berücksichtigung der Angaben zu EXTMAX
und EXTLEAVE weniger als nnnn Kilobyte Speicher
zur Verfügung stehen, wird das Programm beendet
und die Meldung "Out of Memory" ausgegeben. Der
Vorgabewert ist Null.
REALLEAVE nnnn Es werden stets mindestens nnnn Paragraphen an
DOS-Speicher freigelassen. Der Vorgabewert ist
4096 Paragraphen, was 64 KB entspricht.
REALMAX nnnn Es werden nicht mehr als nnnn Paragraphen an DOS-
Speicher reserviert. Der Vorgabewert ist 1 MB bzw.
65535 Paragraphen.
REALMIN nnnn Wenn unter Berücksichtigung der Angaben zu REALMAX
und REALLEAVE weniger als nnnn Kilobyte Speicher
zur Verfügung stehen, wird das Programm beendet
und die Meldung "Out of Memory" ausgegeben. Der
Vorgabewert ist Null.
Mit dem folgenden Befehl reserviert RTM maximal 2 MB Extended Memory
und es werden 128 KB DOS-Speicher freigelassen.
SET RTM=EXTMAX 2048 REALLEAVE 8192
======================================================================
Ein wichtiger Hinweis für die Anwender von Borland C++ und Paradox 4.0
======================================================================
Die in diesem Produkt enthaltenen Dateien DPMILOAD.EXE und DPMI16BI.OVL
ersetzen die älteren Versionen, die mit Paradox 4.0 oder BC++ 3.0 aus-
geliefert wurden. Löschen Sie diese älteren Versionen oder benennen Sie
sie um, und sorgen Sie dafür, daß sich die neueren Versionen im DOS-
Suchpfad befinden. Paradox und BC++ verwenden dann die neueren Dateien.
Wenn Sie aus Paradox oder BC++ heraus vorübergehend DOS aufrufen wollen,
um ein Protected-Mode-Programm auszuführen, müssen Sie die Größe des
Extended Memory, das von Paradox bzw. BC++ benutzt wird, einschränken.
Dazu müssen Sie beim Aufruf von Paradox die Option /extk bzw. die Option
/x bei BC++ angeben. Näheres lesen Sie bitte in den Handbüchern zum
jeweiligen Produkt nach.
- ENDE DER DATEI -