COMPUTER-KNOW-HOW I.

Geschwurbel von Daniel Schwamm (24.02.1995 bis 30.03.1995)

Inhalt

1. MSDOS

JEDES Gerät belegt einen HW-Interrupt, um die CPU über seine Aktivitäten zu informieren. Der Datenaustausch erfolgt bei EINIGEN Geräten bei einer festen Adresse. Daneben benutzen EINIGE Geräte noch DMA-Kanäle zum Datentransfer ohne CPU. Bei mehreren Geräten kann es zu Konflikten kommen, was durch entsprechendes Jumpern zu regeln ist.


Wenn das CD-ROM-Laufwerk den Rechner abstürzen lässt, kann es an einem zu kleinen DMA-Buffer liefen, der per Default auf 32 kB gesetzt ist. Über "EMM386 d=64" in der CONFIG.SYS ist er erweiterbar. In WINDOWS fügt man in die SYSTEM.INI "DMABufferSize=64" ein.


Cache-Speicher liefert der CPU i.d.R. die Daten ohne Wait States - das schafft normales RAM meist nicht. Extended Memory wird üblicherweise gecached. Cache beisst sich aber mit Bank Switching. Aus diesem Grund werden VGA-Video-RAM-Daten und (echtes, nicht simuliertes) Expanded-Memory nicht gecached. Langsame DRAM-Module haben Zugriffszeiten von 150 ns, schnelle von 80 ns, der Cache sogar nur 35 ns!


Folgende Festplatten-Controller sind für PCs im Umlauf:

  • XT-IDE
  • AT-IDE
  • ST506
  • SCSI
  • EDSI

In die ISA-Steckplätze können Erweiterungskarten gesteckt werden, die z.B. die HW eines Modems tragen. Die Steckplätze sind mit dem Erweiterungsbus verbunden, der i.d.R. langsamer als der Prozessor getaktet ist.


Speicheraufteilung im PC:

  • 0-640: RAM-Hauptspeicher
  • 640-1024: In diesem Speicherbereich befinden sich die Adressen der Gerätekarten, das ROM, das BIOS und wenn der EMM386.SYS-Treiber für Expansionsspeicher gestartet ist eine variabel grosses (i.d.R. 64 kB für 4 Seiten LIM) Paging Frame. Die Seiten werden dann jeweils vom Expansionsspeicher dorthin kopiert, sodass DOS darauf zugreifen kann.
  • 1024-1088: Diese 64 kB gehören eigentlich schon zum Erweiterungsspeicher. Sie können im Realmode (8088-Standard) verwendet werden, wenn der EMM386.SYS-Treiber entsprechend konfiguriert ist. Sie werden als High Memory Area bezeichnet. Diese Zone eignet sich für Treiber und DOS-Programme, wodurch der RAM-Hauptspeicher entlastet wird.
  • 1088-16MB: Reiner Erweiterungsspeicher. Nur im Protected Mode (80286-Standard) von DOS für Daten verwendbar, nicht aber für Programme oder Treiber. Voraussetzung ist die Installation des HIMEM.SYS-Treibers.

Über den DEVICE-/DEVICEHIGH-Befehl werden in der CONFIG.SYS die Treiber in den Rechner geladen. Die Gerätetreiber befinden sich im DOS-Verzeichnis und haben die Endung *.SYS oder *.EXE. *.SYS können nur beim Booten des Rechners aktiviert werden, *.EXE-Treiber auch später. Nur in wenigen Fällen lassen sich Treiber wieder deaktivieren. Ein DEVICE?= sorgt dafür, dass der Rechner fragt, ob er den Treiber laden soll (das Gleiche ist mit F8 möglich, während F5 eine Standard-CONFIG.SYS aktiviert).


DRVSPACE.SYS bewirkt, dass DRVSPACE.BIN aktiviert wird, welches die Routinen für die gepackte I/O-Prozesse besitzt. DRVSPACE.BIN belegt etwa 50 kB Hauptspeicher.


Tastatur- und Länder-Treiber:

  • country=049,,c:\dos\country.sys: Ländertreiber mit Ländereinstellung 049 (Dt)
  • Zeichensätze befinden sich in den *.CPI-Dateien. Hier sind 128 ASCII-Zeichen fest definiert und 128 Zeichen jeweils länderspezifisch.
  • chcp: Befehl zum Aktivieren eines Zeichensatzes, z.B. chcp 850
  • NLSFUNC: Programm zum Umschalten zwischen Zeichensätzen, sofern diese vorbereitet wurden.
  • device=c:\dos\display.sys con=(EGA,437,1): Vorbereitung des Speichers, um einen weiteren EGA/VGA-Zeichensatz neben dem Alternativen 437 (USA) aufzunehmen. Erst danach kann ein Zeichensatz eingeladen werden.
  • mode con prep=((859)c:\dos\ega.cpi): Einladen des deutschen Zeichensatzes (850) an die vorbereitete Speicherstelle.
  • keyb gr,,c:\dos\keyboard.sys: Belegt die Tastatur mit der deutschen Norm (gr). Die USA-Alternative erlangt man mit <STRG><ALT><F2>, zurück kommt man mit <STRG><ALT><F1>.

Mittels "echo ^G"; (STRG+G) lässt sich ein Pipston in Batchdateien erzeugen. Den Trace-Modus erlangt man über "command /y/c *.bat".


Die Angabe "stacks=0,0" ist so lange zum Speichersparen okay, wie nicht die Fehlermeldungen "interner Stack-Überlauf" oder "Exception Error 12" kommen.

MS-DOS teilt den Speicher in 64 kB-Segmente auf. Die Segment-Adresse steht im DS-, SS-, ES- oder CS-Register (Daten-, Stack-, Extra- und Code-Segment). Um die absolute Adresse eines Datums zu erhalten, muss die Segment-Adresse um 4 Bits nach links verschoben werden => wird zur 20 bit-Adresse (daher muss Segment auch an einer durch 16 teilbaren Adresse beginnen). Der Offset der Adresse (16 bit des Low-Bytes) müssen dazu addiert werden.

Borland C++ unterscheidet folgende Zeiger-Typen:

  1. near-Zeiger: 16 bit, schnelle Zeigerarithmetik möglich
  2. far-Zeiger: 32 bit=16 bit-Segment-Adresse + 16 bit-Offset. Wegen integrierter Segment-Adresse keine Zeigerarithmetik möglich
  3. huge-Zeiger: 32 bit. Vor Aufruf wird jeweils absolute Adresse berechnet, wodurch langsame Zeigerarithmetik möglich wird.
  4. Segment-Zeiger: 16 bit.

Folgende Speichermodelle erlaubt Borland C++:

  1. Tiny: Alle 4 Segmente beginnen mit gleicher Adresse. Es werden ausschliesslich near-Zeiger verwendet. Kein far-Heap.
  2. Small: Daten+Stack (64 kB) und Code (64 kB); far-Heap (1 MB).
  3. Medium: far-Code und near-Stack/Heap.
  4. Compact: near-Code, far-Stack/Heap.
  5. Large: far-Code, far-Stack/Heap.
  6. Huge: Wie Lage, aber nur hier können statische Strukturen>64 kB angelegt werden.

Eine komprimiertes Dateisystem kann durchaus schneller sein als das hoffnungslos veraltete FAT-DS!


Nur non-interlaced-Monitore liefern echte 72Hz!


Beschleuniger für Grafikkarten enthalten fest verdrahtete Routinen für WINDOWS-Strukturen, wodurch sie erheblich schneller sind. Kosten: Ca.200DM. Die TIGA-Karte ist programmierbar, aber nicht VGA-kompatibel! 64 bit-Karten machen nicht den Bus schneller (PCI hat auch beim 64 bit-Pentium nur 32 bit), sondern nur die Darstellung zwischen Kartenspeicher und Monitor. Die Darstellung auf Monitoren ist analog, daher wird ein RAM-Digital/Analog Converter (RAMDAC) benötigt, der auf der Karte direkt vor dem Monitoranschluss sitzt. Virtual RAM ist schneller als DRAM (aber auch teurer), da es gleichzeitig beschrieben und vom RAMDAC ausgelesen werden kann. Grafikkarten sollten AVI-Beschleuniger besitzen und Accelerator-Chips.


Externe CD-ROM-Laufwerke werden an den Parallelport oder den seriellen Port angeschlossen und sind entsprechend langsam.


SCSI geht sparsam mit den PC-Ressourcen um, da es nur einen Interrupt und einen DMA-Kanal für bis zu 7 Geräte belegt (je nach Position Zuweisung einer eigenen Priorität). Aber: Dazu ist ein Hostadapter (ca.300DM) nötig, der bei Buswechsel ebenfalls ausgetauscht werden muss.


Wenn das CD-ROM-Laufwerk an die Soundkarte angeschlossen werden kann, spart man einen knappen Steckplatz. Bei EIDE (ATAPI-konform) kann der Controller auch für CD-ROMs verwendet werden.


NDOS ist ein COMMAND-COM-Substitut, das über mehr Funktionen verfügt, schneller ist und weniger Platz belegt!


SRAM (Special RAM) für den Second Level Cache (SLC) ist deutlich schneller als DRAM. Ein Cache-Controller entscheidet, welche Daten im SLC abgelegt werden. Generell gilt: Copy Back bzw. Write Back ist schneller als Write-through.


PCI verlangt ein neues BIOS, denn AMI-BIOS ist nur für 16 bit-Applikationen gedacht! Von Architektur unabhängiger Local Bus, da nur über Hostadapter in Verbindung mit Motherboard. Keine Trennung der Steckplätze zwischen langsam (8/16 bit) und schnell (32 bit) nötig wie bei VLB. Vor allem wichtig: PCI ist viel strenger genormt! Auch hier sind nur drei Steckplätze + begrenzte Taktrate möglich (mehr bedeuten zu flache Flanken der Signale), aber an SCSI sind bis zu 7 Geräte anschliessbar (IDE-Controller nur 2). PCI-Karten besitzen Register mit IRQ-Infos, so dass PC sie automatisch richtig konfigurieren kann (Plug & Play).


MTBF: Meantime between Failures. Heutzutage eine eher unwichtige Metrik für Festplatten, da inzwischen eigentlich alle als sicher gelten können.


SCSI ist durch sein Protokoll für DOS zu komplex, um die Geschwindigkeit zu steigern. Unter OS/2 bzw. WINDOWS sieht es jedoch anders aus (bis 50% schneller). IDE dagegen ist zu DOS direkt kompatibel. SCSI eignet sich für PCI- und EISA-Busse. Der AT/ISA-Bus und der VESA Local Bus bevorzugen AT/IDE-Schnittstellen. Mangel beim AT-Controller: Erlaubt nur max. 2 Festplatten, verfügt nur beschränkt über DMA (Busmaster-Fähigkeit). SCSI ist dagegen sehr empfindlich gegen Spannungsspitzen, daher nie während dem Betrieb etwas an- oder abkapseln! SCSI besitzt i.d.R. einen grösseren Cache (64 kB) als IDE (32 kB) - Smart Drive vermag dieser aber nicht zu ersetzen.


Caches verhindern Wait States, d.h. der schnelle Prozessor muss nicht auf den langsamen Bustransfer zu den DRAM-Modulen warten.


IDE-Controller können nur bis zu 504 MB grosse Platten ansteuern. Mit EIDE-Controllern wird dieser Mangel überwunden.

2. OS/2

Aus DOS heraus soll über BOOT OS/2 gestartet werden können, sofern OS2 mit der Dual-Boot-Option eingerichtet wurde. Dabei wird nicht auf die normale CONFIG.SYS zugegriffen, sondern die Datei "c:\os2\system\CONFIG.DOS" verwendet.


Achtung: chkdisk ist nicht kompatibel zu OS/2, weil es die dort verwendeten erweiterten Dateiinforationen als Fehler identifiziert und entfernt!


In der Systemkonfiguration kann das Logo und Animation abgeschaltet werden, wodurch das BS schneller wird. In der CONFIG.SYS ist die Cache-Refresh-Zeit verlängerbar: RUN=c:\os2\cache.exe /MAXAGE=120000.


Die Angabe "DEVICE=c:\os2\VVGA.SYS" in der CONFIG.SYS lädt den virtueller Bildschirm-Treiber ein. Der sitzt vermutlich noch über den HW-spezifischen Treibern, z.B. VGA, Hercules oder SVGA.


Über "BASEDEV=IBM15506" in der CONFIG.SYS lädt OS/2 einen IDE-Cache-Controller in den Speicher, der die Dateioperationen gestattet.


Die Super-VGA-Treiber befinden sich in "c:\OS2\". Es sind dies alle Files mit SVGA im Namen. So wird der virtuelle Bildschirm-Treiber V-SVGA.SYS mit SVGA.EXE gestartet, wobei die Konfiguration der Datei SVGADATA.PMI berücksichtigt wird.


Die Sound Blaster-Treiber haben alle ein SB im Namen.


Im Gegensatz zum FAT-Dateisystem erlaubt das optionale High Performance File System von OS2 auch die Verwendung von bis zu 256 Zeichen langen Dateinamen. Dieses Dateisystem ist allerdings nur unter OS/2-DOS lesbar, nicht mehr unter dem normalen MSDOS!


Das Verzeichnis "c:\ARBEITSO\" enthält die aktuelle OS/2-Oberfläche. Alle Objekte der Oberfläche erscheinen hier als leere Unterverzeichnisse. Anders als beim WINDOWS-Programm-Manager werden keine *.GRP-Dateien benötigt, die eine Hierarchie simulieren, sondern direkt das Dateisystem dazu benutzt. Vorteil: Auch aus der DOS-Ebene heraus kann die Oberfläche von OS/2 manipuliert werden (z.B. sind Objekte löschbar).


Die Datei "c:\OS2\OS2.INI" enthält einen Vermerk auf die aktuelle benutzte Schrift des Anwenders und sonstige Angaben, die das Aussehen des Desktops betreffen, die der Benutzer festgelegt hat. Sie ist daher eine benutzerdefinierte Datei (im Gegensatz zur OS2SYS.INI). Wurde z.B. das private Schlüsselwort vergessen, so muss die OS2.INI folgendermassen wieder aufgeschlossen werden: "MAKEINI OS2.INI LOCK.RC". Die Ursprungsdatei erhält man mit "MAKEINI OS2.INI INI.RC".


Die Datei "c:\os2\OS2SYS.INI" ist eine systemdefinierte Datei. Ihre Ursprungsversion erhält man mit "MAKEINI OS2SYS.INI INISYS.RC".


Die Maus benötigt einmal den Treiber "c:\os2\msdos\mouse.sys", sowie die Datei "pointdd.sys" (?), und den virtuellen Treiber "vmouse.sys". Man beachte den Pfadnamen ins OS2-DOS.


Die CD-ROM-Treiber, z.B. "LMS206.ADD", und ihre Zusatz-SW sind an den Endungen *.ADD, *.IFS und *.DMD zu erkennen. Weitere CD-ROM-Treiber sind IBM*.*, IBM1*.* und auch *SCSI.*.


Die INI-Dateien werden bei Änderungen über mehrere Stufen gesichert. Dabei gilt, dass die INI-Datei die aktuelle Datei ist, die INX-Datei älter ist, die INY-Datei noch älter ist, und die INZ-Datei die älteste Datei ist.

Je nach Betriebsmodus platziert OS/2 die Bildschirmtreiber in der WINDOWS-SYSTEM.INI neu: DISPLAY.DRV ist der normale WINDOWS-Treiber, FDISPLAY.DRV ist für den OS2-WINDOWS-Screen-Betrieb und SDISPLAY.DRV für den OS2-WINDOWS-Fenster-Betrieb.

Die IBM-MC-Treiber bestehen aus den Files: ABIOS.SYS und *.BIO.


Die Swapper-Datei zur Auslagerung von OS/2 wird in der CONFIG.SYS folgendermassen spezifiziert:

MEMMAN=NOSWAP => keine Swap-Datei
MEMMAN=SWAP,PROTECTED
SWAPPATH=c:\ 2048 4096  => 2 MB sind Minimum!

Will man DOS aus OS2 heraus von Laufwerk A: laufen lassen, müssen sich die Systemdateien auf Diskette befinden, sowie die Treiber FSFILTER.SYS und FSACCESS.EXE, die in einer speziellen CONFIF.SYS über "DEVICE=..." kenntlich zu machen sind. In der AUTOEXEC.BAT verweist "SET COMSPEC=a:\COMMAND.COM" auf den gewünschten Befehlsinterpreter.


In allen DOS-Sitzungen können im Einstellungsfenster individuelle Treiber dazugeladen werden. Nur die Treiber, die in der CONFIG.SYS stehen, gelten für alle DOS-Sitzungen. Vorteil: Mehr Arbeitsspeicher, da für viele Anwendungen nicht alle Treiber nötig sind. Im Einstellungsfenster kann auch das BIOS ins RAM kopiert werden oder der Erweiterungsspeicher deaktiviert werden.


BASEDEV sind Basiseinheitstreiber. Über sie lassen sich evtl. Plattenzugriffe schneller gestalten: "basedev=ibm1s506.add /a:0 /u:0 /sms" stellt den Multiple Read Sector-Modus sms von der IDE-Festplatte u:0 über Controller a:0 ein. Der Zusatzschalter /v zeigt an, ob eine Geschwindigkeitssteigerung erreicht wurde.

3. WINDOWS

Der Vermerk "LocalReboot=yes" in der SYSTEM.INI sorgt dafür, dass Anwendungen einzeln durch <STRG><ALT><ENTF> aus dem Speicher geräumt werden können. Der Short-Cuts <STRG><ALT><ENTF><SHIFT> killt WINDOWS vollkommen. Radikaler noch als "LocalReboot" ist "DebugLocalReboot=on".


Die Startdatei WIN.COM kann man sich sparen. Sie enthält im Wesentlichen nur das Startlogo. Durch "cd \windows" und "\system\win386.exe" ist WINDOWS schneller ladbar. Eine weitere Steigerung lässt sich durch die Batch-Datei WINSTART.BAT erreichen, die nur "@echo off" enthält erreichen, da sonst WINDOWS den ganzen Pfad nach dieser Datei absucht.


Wenn Treiber bereits in DOS geladen wurden, muss dies in WINDOWS nicht mehr vorgenommen werden. So kann SHARE.EXE in DOS geladen werden und VSHARE in der SYSTEM.INI, wodurch aber Speicherplatz verschwendet wird. Ebenso verhält es sich mit SMARTDRV.EXE und VCACHE. VCACHE schaltet Smart Drive ab und wird aktiviert durch 32- bit-Zugriff=on. Aber: VCACHE beherrscht keine Schreibverzögerung!


Die REG.DAT ist verbindlich für Dateiverknüpfungen. Die WIN.INI-Einträge sind redundant oder Ergänzung.


Die \WINDOWS\SYSTEM-Dateien:

  • *.CNF: Konfigurationsdateien
  • *.CPL: Control Panel => Treiber-Kontrollsoftware
  • *.DLL: Dynamic Link Library => nachladbare Funktionssammlungen
  • *.DRV: Treiber-Dateien
  • COMM.DRV: Communication-Treiber
  • COMMDLG.DRV: Common Windows Dialog
  • CPWIN386.CPL: Paging-Routinen auf 386SPART.PAR und WIN386.SWP
  • DDEML.DLL: DDE Management Library für Austausch mit Nicht-Windows-Programmen.
  • DMCOLOR.DLL: Wandel Farbgrafiken in Matrix-Drucker-Dot-Format.
  • DOSX.EXE: Für WINDOWS im Standardmodus.
  • DRIVER.CPL: Multimedia-Kontrolle und Installationsroutinen von Disk
  • DSWAP.EXE: Task-Wechsler und Paging-Steuerung (exit,<ALT>+<TAB>)
  • GDI.EXE: Graphic Device Interface (Grafikbefehle)
  • KBDGR.DLL: Deutsche Tastatur-Infos
  • KRNL286.EXE: Kernel-Interface mit Memory-Befehlen, Fatal-Exit
  • KRNL386.EXE: Kernel-Interface, welches WIN.INI und Treiber aktiviert
  • LANGGER.DRV: Language-Treiber Germany
  • LZEXPAND.DLL: File Expansion Directory
  • MAIN.CPL: Programmkontrolle bzgl. Bildaufbau und Speicherverwaltung
  • MCISEQ.DRV: MIDI-Sequenzer
  • MCIWAVE.DRV: MIDI-Wellen-Interpreter
  • MIDIMAP.CNF:
  • MIDIMAP.DRV:
  • MMSOUND.DRV: Multimedia-Sound-Treiber
  • MMSYSTEM.DRV: Multimedia-Strg
  • MMTASK.TSK: Multimedia-Task-Steuerung
  • OLECLI.DLL: OLE-Client-Steuerung
  • OLESRV.DLL: OLE-Server-Steuerung
  • SHELL.DLL: Shell-API mit eigener Umgebung, execute-File-Befehlen
  • SOUND.CPL: Sound-Controller-SW
  • SYSTEM.DRV: Modul zum Konfigurieren der System-Interrupts u.a.
  • UNIDRV.DLL: Universal-Drucker-Treiber
  • USER.EXE: Benutzer-Interface mit Befehlen wie LoadBitmap
  • VER.DLL: Befehle zum Erfragen der WINDOWS-Version
  • VGA.3GR: Grabber Library mit GetFontList, CursorOff (DOS-Box)
  • VGA.DRV: Treiber mit CreateBitmap
  • VGACOLOR.2GR: Treiber für Nicht-WINDOWS-Programme (DOS-Box)
  • VTAPI.386: virtuelles Multimedia-API (ohne Befehle)
  • WIN.CNF: Betriebsmodus-spezifische Konfiguration von WINDOWS
  • WIN386.EXE: Startmodul von Windows im Enhanced Mode mit *Treibern
  • WIN386.PS2: Zusatz für IBM PS2-Rechner
  • WIN87EM.DLL: Coprozessor-Emulator
  • WINOA386.MOD: Old Application Support für Nicht-WINDOWS-Programme (PIF-Dateien)
  • WINOLDAP.MOD: Zusatz zu WINOA386.EXE
  • WSWAP.EXE: Interner Task-Switcher und Swapper

Wird WINDOWS mehrfach installiert, z.B. WfW und WINDOWS 3.1, dann kann es zu Problemen wegen der zwei Auslagerungsdateien kommen. Man sollte sich auf nur eine einigen - die Pfade sind in der SYSTEM.INI zu setzen.


VBRUNX00.DLL und BWCC.DLL sind weit verbreitete Laufzeit-Bibliotheken, die im System-Verzeichnis stehen sollten.


Im Gegensatz zu SHARE.EXE der CONFIG.SYS belegt der Treiber VSHARE.386 keinen Speicher im konventionellen Speicher. Daher sollte besser VSHARE.386 als SHARE.EXE installiert werden, zumal unter DOS ein Sharing von Ressourcen i.d.R. nicht möglich ist. Übrigens gilt, dass das VSHARE.386 von WfW inkompatibel ist zu W3.1! Auch VCACHE läuft anders als SMARTDRIVE nicht im konventionellen Speicher. Es unterstützt jedoch keine CD-ROM-Laufwerke und ist daher nicht zu empfehlen!


OEM-Disketten enthalten Treiber, die nicht von WINDOWS mitgeliefert sind, z.B. Druckertreiber von Drittanbietern.


Über "SET WINPMT=Windows läuft ..." lässt sich in der CONFIG.SYS eine Umgebungsvariable setzen, die WINDOWS veranlasst, in der DOS-Box einen besonderes Prompt anzuzeigen.


Die System-Dateien WSAP.EXE, DOSX.EXE und KRNL286.EXE werden nur für den Standardmodus von WINDOWS benötigt. Im erweiterten Modus tauchen sie nicht auf, können also gelöscht werden. Angeblich benötigt WINDOWS aber EMM386.EXE, um im erweiterten Modus starten zu können.


WINDOWS benötigt nur 270 kB konventionellen Speicher. Wird WINDOWS aus einem DOS-Programm gestartet, verfügt es in der DOS-Box u.U. über keinen konventionellen Speicher mehr.


Die Treiber *wdctrl und *int13 werden für den 32- bit-Plattenzugriff benötigt. Um den 32 bit-Zugriff zu aktivieren, benötigt man evtl. auch noch in der CONFIG.SYS den Treiber IFSHLP.SYS.


Der Programm-Manager gestattet 40 GRPs mit je 50 Einträgen. Je GRP stellt er ein 64 kB-Segment zur Verfügung. Im normalen Bildschirm-Modus beansprucht ein Icon bei 4 bit Grafiktiefe nur wenig speicher, bei einem True-Color-Treiber mit 24 bit Tiefe reicht der Speicher jedoch schnell nicht mehr aus - die Icons werden dann als schwarze Kästchen dargestellt. Ohne SHELL.DLL stürzt der PROGMAN ab.


WINDOWS-Programme besitzen einen NE-.Header (beginnt mit "NE" für "New Executable"). Hier sind alle Module (*.EXE) und Bibliotheken (*.DLL) aufgelistet, die das Programm benötigt.


Allgemeine Schutzverletzungen kommen zustanden, wenn ein Programm in das Speichermodul eines anderen Programms schreiben will. Dies kann seine Ursachen in einem instabilen System oder schlecht konfigurierter Hardware haben, aber auch in fehlerhafter Software.

[386Enh] NetHeapSize=12 ist Standard. Ohne Netz müsste auch 0 möglich sein.


Machen Diskettenlaufwerke im erweiterten Modus Ärger, so kann man "device=*vdmal.386" in "device=*vdmal" ändern. Ausserdem kann man hinzufügen:

IRQ9Global=yes
EMMExecute=E000-Efff (funktioniert nur, wenn nicht DOS-EMM386.EXE geladen wurde)
HighFloppyReads=no
VirtualHDIrq=off

Das Programm DRWATSON.EXE überwacht WINDOWS auf Fehler. Treten welche auf, protokolliert es sie in eine Extradatei, die nach dem Rebooting eingesehen werden kann.


Über "CommandEnvSize=1024 (Bytes)" lässt sich die Umgebung der DOS-Box vergrössern.


Windows-Programme ohne spezielles Memory-Management können nur ein 64 kB-Segment beanspruchen, weswegen ihre Speicherkapazität oft schnell erschöpft ist. Besonders lästig ist die Ressourceneinschränkung der Programme GDI.EXE (Grafik) und USER.EXE (I/O) auf 64 kB, wobei die jeweils kleinere Ressource im Info-Feld angezeigt wird. Egal wie viel Hauptspeicher man besitzt, ist eines der beiden Segmente erschöpft, streikt WINDOWS. Mit Windows 95 soll diese Beschränkung fallen.


Streamer (mit 8 bit-Masterbus-Erweiterungskarten) können DMA-Konflikte heraufbeschwören. Folgende Einstellungen verbessern evtl. das Systemverhalten:

DMABufferIn1MB=on; (Puffer ins erste MB)
DMABufferSize=32; (oder grösser, Std.=16)

Einige Rechner verfügen über 4 serielle Schnittstellen. Üblicherweise belegen COM1 und COM2 den IRQ4 und COM2 und COM3 den IRQ3. Hier kann es leicht zu Konflikten kommen. Zwar bieten 16 bit-Erweiterungskarten den IRQ-Wechsel an, jedoch verlangen viele Programme die Interrupts 3 oder 4. Bei EISA- oder MC-Bussen (vielleicht auch bei AT-Bus) kann eine Verbesserung über "COMIrqSharing=on" erreicht werden.


Nicht jeder COM-Port verträgt eine Baudrate grösser gleich 19200 Baud. Mittels MSD.EXE kann der COM-Chip ermittelt werden, wobei gilt: 8256A zu langsam, 16450 okay, UART 16550A sehr gut durch grossen Pufferspeicher. Der Treiber COMM.DRV nutzt 16550A nicht richtig aus; hier empfiehlt sich von Drittanbietern TURBOCOM.DRV.


Die Schrift der ICONS und des Desktops ist frei definierbar in der WIN.INI:

IconTitleFacename=courier
IconTitleSize=10
SystemFont=Schrift aus [fonts]

Windows 95: Erlaubt in einem Adressraum (virtuellen Maschinen) x 16 bit-Anwendungen (alte WINDOWS-Applikationen), in jeweils extra Adressraum 32 bit-Anwendungen oder DOS-Anwendungen (DOS-VM). Die VM sitzen auf auf dem VM-Manger, der wiederum auf dem DS aufsitzt. Beherrscht preemptives Multitasking! TCP/IP soll direkt integriert sein. Lange Dateinamen. Plug & Play (ähnlich DLLs). Ressourcen verfügen über 4 GB statt 64 kB - da wird OLE 2.0 zur Freude.


OEM-Software: Zusatz-SW zum PC, die nicht vom PC-Hersteller stammt und der sich dafür auch nicht verantwortlich fühlt. OCR-SW: Schrifterkennungssoftware für Scanner.