COMPUTER-KNOW-HOW I.
Geschwurbel von Daniel Schwamm (24.02.1995 bis 30.03.1995)
Inhalt
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:
-
near-Zeiger: 16 bit, schnelle Zeigerarithmetik möglich
-
far-Zeiger: 32 bit=16 bit-Segment-Adresse + 16 bit-Offset.
Wegen integrierter Segment-Adresse keine Zeigerarithmetik möglich
-
huge-Zeiger: 32 bit. Vor Aufruf wird jeweils absolute
Adresse berechnet, wodurch langsame Zeigerarithmetik möglich wird.
-
Segment-Zeiger: 16 bit.
Folgende Speichermodelle erlaubt Borland C++:
-
Tiny: Alle 4 Segmente beginnen mit gleicher Adresse. Es
werden ausschliesslich near-Zeiger verwendet. Kein far-Heap.
-
Small: Daten+Stack (64 kB) und Code (64 kB); far-Heap (1 MB).
-
Medium: far-Code und near-Stack/Heap.
-
Compact: near-Code, far-Stack/Heap.
-
Large: far-Code, far-Stack/Heap.
-
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.
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.
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.