COMPUTER-KNOW HOW I.
von Daniel Schwamm (24.02.1995 bis 30.03.1995)
Aus "Heimat des Dilettantismus"
http://www.henrys.de/daniel/index.php?cmd=texte_computerknowhow.htm
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 Umjumpern
zu regeln ist.
* Wenn das CDROM den Rechner abstürzen läßt,
kann es an einem zu kleinen DMA-Buffer liefen, der per Default auf 32KB 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
Waitstates - das schafft normales RAM meist nicht. Extended Memory wird
üblicherweise gecached. Cache beißt sich aber mit Bankswitching. Aus
diesem Grund werden VGA-Video-RAM-Daten und (echtes, nicht simuliertes)
Expanded-Memory nicht gecached. Lansame DRAMs haben Zugriffszeiten von 150ns,
schnelle von 80bs, Cache aber nur 35ns!
* Folgende Festplatten-Kontroller 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
großes (i.d.R. 64KB für 4 Seiten LIM) Paging Frame. Die Seiten
werden dann jeweils vom Expansionsspeicher dorthin kopiert, so daß DOS
darauf zugreifen kann.
- 1024-1088: Diese 64KB 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 eigenet sich für Treiber und
DOS-Programme, wodurch der RAM-Hauptspeicher entlastet wird.
- 1088-16MB: Reiner Erweiterungsspeicher. Nur im
Protectedmode (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
desaktivieren. Ein DEVICE?= sorgt dafür, daß der Rechner fragt, ob
er den Treiber laden soll (das gleiche ist mit F8 mgl., während F5 eine
Standard-CONFIG.SYS aktiviert).
* DRVSPACE.SYS bewirkt, daß DRVSPACE.BIN aktiviert
wird, welches die Routinen für die gepackte I/O-Prozesse besitzt.
DRVSPACE.BIN belegt etwa 50KB Hauptspeicher.
* Tastatur- und Länder-Treiber:
- country=049,,c:\dos\country.sys: Ländertreiber mit
Ländereinstellung 049 (Dt)
- Zeichensätze befindden sich in den *.CPI-Dateien.
Hier sind 128 ADCII-Zeichen fest definiert und 128 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 Soeicherstelle.
- keyb gr,,c:\dos\kexboard.sys: Belegt die Tastatur mit der
deutschen Norm (gr). Die USA-Alternative erlangt man mit
<STRG><ALT><F2>, zurück kommt man mit
<STR><ALT><F1>.
* Mittels "echo ^G" (Strg+G) läßt sich
ein Pipston in Batchdateien erzeugen. Den Tracemodus erlangt man über
"command /y/c *.bat".
* Die Angabe "stacks=0,0" ist solange zum
Speichersparen okay, wie nicht die Fehlermeldungen "interner
Stacküberlauf" oder "Exception Error 12" kommen.
* MDSOS teilt den Speicher in 64KB-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, muß
die Segment-Adresse um 4 Bits nach links verschoben werden => wird zur
20Bit-Adresse (daher muß Segment auch an einer durch 16 teilbaren Adresse
beginnen). Der Offset der Adresse (16Bit des Lowbytes) müssen dazuaddiert
werden.
* Borland C++ unterscheidet folgende Zeigertypen:
(1) near-Zeiger: 16Bit, schnelle Zeigerarithmetik mgl.
(2) far-Zeiger: 32Bit=16Bit-Segment-Adresse + 16Bit-Offset.
Wegen integrierter Segment-Adresse keine Zeigerarithmetik mgl.
(3) huge-Zeiger: 32Bit. Vor Aufruf wird jeweils absolute
Adresse berechnet, wodurch langsame Zeigerarithmetik mgl. wird.
(4) Segment-Zeiger: 16Bit.
* Folgende Speichermodelle erlaubt Borland C++:
(1) Tiny: Alle 4 Segmente beginnen mit gleicher Adresse. Es
werden ausschließlich near-Zeiger verwendet. Kein far-Heap.
(2) Small: Daten+Stack (64KB) und Code (64KB); far-Heap
(1MB) ebenfalls allokierbar.
(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>64KB 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
festverdrahtete Routinen für WINDOWS-Strukturen, wodurch sie erheblich
schneller sind. Kosten: Ca.200DM. Die TIGA-Karte ist programmierbar, aber nicht
VGA-kompatibel! 64Bit-Karten machen nicht den Bus schneller (PCI hat auch beim
64Bit-Pentium nur 32Bit), sondern nur die Darstellung zwischen Kartenspeicher
und Monitor. Die Darstellung auf Monitoren ist analog, daher wird ein RAM-DAC
benötigt, der auf der Karte direkt vor dem Monitoranschluß sitzt.
VRAM ist schneller als DRAM (aber auch teurer), da es gleichzeitig beschrieben
und vom RAM-DAC ausgelesen werden kann. Grafikkarten sollten AVI-Beschleuniger
besitzen und Accellerator-Chips.
* Externe CDROMs 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 muß.
* Wenn das CDROM-Laufwerk an die Soundkarte angeschlossen
werden kann, spart man einen knappen Steckplatz. Bei EIDE (ATAPI-konform) kann
der Controller auch für CDROMs verwendet werden.
* ndos ist ein COMMAND-COM-Substitut, das über mehr
Funktionen verfügt, schneller ist und weniger Platz belegt!
* SRAM für den Second Level Cache ist deutlich
schneller als DRAMs. 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 16Bit-Applikationen gedacht! Von Architektur unabhängiger Local
Bus, da nur über Hostadapter in Verbindung mit Motherboard. Keine Trennung
der Steckplatze zw. langsam (8/16Bit) und schnell (32Bit) nötig wie bei
VLB. Vor allem wichtig: PCI ist viel strenger genormt! Auch hier sind nur 3
Steckplätze + begrenzte Taktrate mgl. (mehr bedeuten zu flache Flanken der
Signale), aber an SCSI sind bis zu 7 Geräte anschließbar
(IDE-Controller nur 2). PCI-Karten besitzen Register mit IRQ-Infos, so
daß PC sie autamatisch richtig konfigurieren kann (Plug&Play).
* MTBF: Meantime between Failures. Heutzutage unrelevante
Metrik für Festplatten, da alle als sicher gelten können.
* SCSI ist durch sein Protokoll für DOS zu overheadig,
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ößeren Cache (64KB) als IDE (32KB) -
Smartdrive vermag dieser aber nicht zu ersetzen.
* Caches verhindern Waitstates, d.h. der schnelle Prozessor
muß nicht auf den langsamen Bustransfer zu den DRAMs warten.
* IDE-Controller können nur 504MB-Platten ansteuern.
Mit EIDA wird dieser Mangel überwunden.
OS/2
* Aus DOS heraus soll über BOOT OS/2 startbar sein,
sofern OS2 mit der Dual-Boot-Option eingerichtet wurde. Dabei wird nicht die
normale CONFIG.SYS gestartet, sondern die Datei
"c:\os2\system\CONFIG.DOS".
* Achtung: chkdisk ist nicht kompatibel zu OS/2, weil es die
erweiterten Dateiinfos 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äd 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äd 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 VSVGA.SYS mit SVGA.EXE gestartet, wobei die
Konfiguration der Datei SVGADATA.PMI berücksichtigt wird.
* Die Soundblaster-Treiber haben alle ein SB im Namen.
* Im Gegensatz zum FAT-Dateisystem erlaubt das optionale
HPFS-Dateisystem 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 Ggs. zur OS2SYS.INI). Wurde z.B.
das private Schlüsselwort vergessen, so muß die OS2.INI
folgendermaßen 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, daß 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 plaziert 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 folgendermaßen spezifiziert:
MEMMAN=NOSWAP => keine Swapperdatei
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 zugeladen 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 desaktiviert werden.
* BASEDEV sind Basiseinheits-Treiber. Über sie lassen
sich evtl. Plattenzugriffe schneller gestalten: "basedev=ibm1s506.add /a:0
/u:0 /sms" stellt den Mutiple Read Sector-Modus sms von der IDE-Festplatte
u:0 über Controller a:0 ein. Der Zusatzschalter /v zeigt an, ob eine
Geschwindigkeits-Steigerung erreicht wurde.
WINDOWS
* Der Vermerk "LocalReboot=yes" in der SYSTEM.INI
sorgt dafür, daß 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
Steierung läßt sich durch die Batchdatei WINSTART.BAT erreichen, die
nur "@echo off" enthält erreichen, da sonst WINDOWS den ganzen
Pfad nach dieser Datei absucht.
* Wenn Treiber in DOS reingeladen wurden, sind sie in
WINDOWS nicht mehr nötig. 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 Smartdrive ab
und wird aktiviert durch 32Bit-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 \WINDOS\SYSTEM-Dateien:
- *.CNF: Konfigurationsdateien
- *.CPL: Control Panel => Treiber-Kontroll-SW
- *.DLL: Dynamic Link Labrary => nachladbare
Funktionssammlungen
- *.DRV: Treiberdateien
-- COMM.DRV: Communication-Treiber
- COMMDLG.DRV: Common Windows Dialog
- CPWIN386.CPL: Pagingroutinen auf 386SPART.PAR und
WIN386.SWP
- DDEML.DLL: DDE Management Library für Austausch
mit Nicht-Windows-Prg.
- 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-Strg
(exit,<ALT>+<TAB>)
- GDI.EXE: Grafic Device Interface
(Grafikbefehle)
- KBDGR.DLL: Deutsche Tastatur-Infos
- KRNL286.EXE: Kernel-Interface mit Meory-Befehlen,
Fatal-Exit
- KRNL386.EXE: Kernel-Interface, welches WIN.INI und
Treiber aktiviert
- LANGGER.DRV: Language-Treiber Germany
- LZEXPAND.DLL: File Expansion Dictory
- 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-Strg
- OLECLI.DLL: OLE-Client-Strg
- OLESRV.DLL: OLE-Server-Strg
- SHELL.DLL: Shell-API mit eigener Umgebung,
execute-File-Befehlen
- SOUND.CPL: Sound-Kontroll-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-Prg
(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: Koprozessor-Emulator
- WINOA386.MOD: Old Application Support für
Nicht-WINDOWS-Prg (PIF-Dateien)
- WINOLDAP.MOD: Zusatz zu WINOA386.EXE
- WSWAP.EXE: Interner Task-Switcher und Swapper
* Wir 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 eingen - die Pfade sind in der SYSTEM.INI zu
setzen.
* VBRUNX00.DLL und BWCC.DLL sind weitverbreitete
Laufzeit-Bibliotheken, die im System-Verzeichnis stehen sollten.
* Im Ggs. 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
Resourcen i.d.R. nicht möglich ist. Übrigens gilt, daß 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äßt sich in der CONFIG.SYS eine Umgebungsvariable setzen, die
WINDOWS veranlaßt, 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 270KB konventionellen Speicher.
Wird WINDOWS aus einem DOS-Prg. 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 32Bit-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 64KB-Segment zur Verfügung. Im
normalen Bildschirm-Modus beansprucht ein Icon bei 4Bit Grafiktiefe nur wenig
speicher, bei einem TrueColor-Treiber mit 24Bit Tiefe reicht der Speicher
jedoch schnell nicht mehr aus - die Icons werden dann als schwarze
Kästchen dargestellt. Ohne SHELL.DLL stürtzt 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 Prg. benötigt.
* Allgemeine Schutzverletzungen kommen zustanden, wenn ein
Programm in das Speichermodul eines anderen Prg. schreiben will. Dies kann seine
Ursachen in einem unstabilen System oder schlecht konfigurierter Hardware haben, aber
auch in fehlerhafter Software.
* [386Enh] NetHeapSize=12 ist Standard. Ohne Netz
müßte auch 0 mgl. sein.
* Machen Diskettenlaufwerke im erweiterten Modus Ärger,
so kann man "device=*vdmal.386" in "device=*vdmal"
ändern. Außerdem kann man hinzufügen:
IRQ9Global=yes
EMMExecute=E000-Efff (fkt. nur, wenn nicht DOS-EMM386.EXE
geladen wurde)
HighFloppyReads=no
VirtualHDIrq=off
* Das Prg. DRWATSON.EXE überwacht WINDOWS auf Fehler.
Treten welche auf, protokolliert es sie in eine Extradatei, die nach dem
Rebooten eingesehen werden kann.
* Über "CommandEnvSize=1024 (Bytes)"
läßt sich die Umgebung der DOS-Box vergrößern.
* WINDOWS-Prg. ohne spezielles Memory-Management könen
nur ein 64KB-Segment beanspruchen, weswegen ihre Speicherkapazität oft
schnell erschöpft ist. Besonder lästig ist die
Resourceneinschränkung der Prg. GDI.EXE (Grafik) und USER.EXE (I/O) auf
64KB, wobei die jeweils kleinere Resource im Info-Feld angezeigt wird. Egal
wieviel Hauptspeicher man besitzt, ist eines der beiden Segmente
erschöpft, streikt WINDOWS. Mit WIN94 soll diese Beschränkung
fallen.
* Streamer (mit 8Bit-Masterbus-Erweiterungskarten)
können DMA-Konflikte heraufbeschwören. Folgende Einstellungen
verbesseren evtl. das Systemverhalten:
DMABufferIn1MB=on (Puffer ins erste MB)
DMABufferSize=32 (oder größer,
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
16Bit-Erweiterungskarten den IRQ-Wechsel an, jedoch verlangen viele Prg. 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ößer gleich 19200 Baud. Mittels MSD.EXE kann der COM-Chip
ermittelt werden, wobei gilt: 8256A zu langsam, 16450 okay, UART 16550A sehr
gut durch großen 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]
* WINDOWS95: Erlaubt in einem Adressraum (virtuellen
Maschinen) x 16Bit-Anwendungen (alte WINDOWS-Applikationen), in jeweils extra
Adressraum 32Bit-Anwendungen oder DOS-Anwendungen (DOS-VM). Die VM sitzen auf
auf dem VM-Manger, der wiedeum auf dem DS aufsitzt. Beherrscht preemptives MT!
TCP/IP soll direkt integriert sein. Lange Dateinamen. Plug&Play
(ähnlich DLLs). Ressourcen verfügen über 4GB statt 64KB - da
wird OLE2.0 zur Freude. DCI=schnelles Protokoll für Grafikfunktionen.
* OEM-SW: Zusatz-SW zum PC, die nicht vom PC-Hersteller
stammt und der sich dafür auch nicht verantwortlich fühlt. OCR-SW:
Schrifterkennungs-SW für Scanner.
|