W. Schmidt-Sichermann online in4mation



Speicher und Speicherbelegung in einem PC

Alle Informationen, Programme etc., die ein PC anzeigt, müssen zuerst in den Hauptspeicher geladen werden. Generell gilt:

je mehr Speicher ein PC besitzt, desto mehr Anwendungsprogramme und Daten können gleichzeitig ausgeführt werden.

Bei einem PC können drei verschiedene Speicherarten unterschieden werden:
Hauptspeicher (RAM)
Erweiterungsspeicher
Expansionsspeicher

Sie finden hier:
Speicherkonfiguration eines PC
Speicherbelegung von 8086-Prozessoren
Konventioneller Speicher
Hoher Speicherbereich
Video-RAM
Internes BASIC
ROM-Cartridges
ROM-BIOS
Speicherbelegung ab 80286-Prozessoren
protected mode
expanded memory
EMM386.SYS
EMS-Standard
extended memory
XMS-Standard
HIMEM.SYS
Speicherverwaltung unter Win95®

Feststellen der Speicherkonfiguration eines PC

Beim Booten eines Systems wird der Speicher getestet und angezeigt. Allerdings wird nicht ersichtlich, um welchen Typ von Speicher es sich handelt. Mit dem Befehl mem an der DOS-Eingabeaufforderung wird die Speicherkonfiguration des PC angezeigt.





Speicherbelegung bei 8086/8088 Prozessoren

  Jede Speicherstelle eines PC wird über einen sog. Adreßbus (Datenleitung) angesprochen. Beim alten 8086 Prozessor erfolgt die Kommunikation über 20 Adreßleitungen: 20-bit-Adreßbus.
Ein 8086-Prozessor kann demnach 1048576 Speicherzellen verwalten - das enspricht 1 MByte Speicher.

Dieser direkt adressierbare Speicherbereich wird durch das Betriebssystem (DOS) eine Aufteilung:
Unter DOS kann ein Prozessor auf max. 640 KByte Arbeitsspeicher zugreifen. Die verbleibenden 384 KByte Speicher oberhalb von 640 KByte sind für Bildschirmspeicher, System-BIOS, Grafikkartentreiber etc. reserviert.


Verfügbarer Speicher/Konventioneller Speicher (auch Hauptspeicher - Random Access Memory (RAM))

Die meisten PC verfügen über 640KB Speicher (anfangs waren sie mit 265 KB ausgestattet). Wird der PC gebootet, belegt das Betriebssystem (Disk Operating System - DOS) einen Teil des konventionellen Speichers.
Dieses wird bei PC's u. a. durch die Datei COMMAND.COM repräsentiert, wodurch z. B. auch die internen DOS-Befehle (wie z. B. DIR, COPY etc.) zur Verfügung gestellt werden.
klar: je kleiner das DOS desto mehr Platz für Anwendungsprogramme und Daten im RAM.

Nach dem Laden des DOS in das RAM werden noch die in den Dateien CONFIG.SYS sowie AUTOEXEC.BAT eingetragenen Dienstprogramme, Treiber usw. in das RAM geladen... je mehr destoso weniger verfübarer Rest an RAM für Anwendungsprogramme und Daten.

Hoher Speicherbereich oberhalb 640 KB bis 1 MB (High memory Area)

Video-RAM (Bildschirmspeicher)
Im Adreßbereich oberhalb von 640 KByte findet sich der Bildschirmspeicher bis 768 KByte.

Internes BASIC
Im Adreßbereich oberhalb von von 768 KByte findet sich das interne BASIC des Systems bis 832 KByte.

ROM Cartridges
Im Adreßbereich oberhalb von von 832 KByte finden sich sog. ROM-Cartrigdes; mit ihnen war es ursprünglich möglich, fertige Programme ständig im PC präsent zu haben. Solche Programme im ROM können nur vom Hersteller modifiziert werden - ein Schreibzugriff auf diesen Bereich ist nicht möglich.

ROM-BIOS
Im letzten Adreßbereich unterhalb 1 MB befindet sich das ROM-BIOS des Rechners - es speichert alle Informationen, die zur Zusammenarbeit von Hardware und Betriebssystem nötig sind.



Speicherbelegung ab 80286 Prozessoren

Durch den erweiterten Adreßbus von 24 Bit können diese Prozessoren 16.777.216 Speicherstellen adressieren - das entspricht 16 MB.
Dieser Adreßbereich oberhalb von 1 MB wird als Extended Memory bezeichnet. Ein weiterer Unterschied besteht darin, daß Prozessoren ab 80286 in zwei Modi arbeiten können:

dem bereits beschriebenen Real Mode
dem Protected Mode

Abwärtskompatibilität ist allerdings nur im Real-Mode möglich - ein Wechsel in den Protected Mode ist unter DOS nicht möglich. Rechner ab 80286 emulieren unter DOS den 8086.

Das ist das große Dilemma: obwohl Prozessoren ab 80286 zusätzlichen Speicher von 15 MB adressieren könnten werden sie von DOS daran gehindert!

Rechner mit dem Betriebssystem Windows® erweitern die Speicherverwaltung dahingehend, daß sie den konventionellen und den extended memory durchgängig adressieren können.

Expansionsspeicher (expanded memory)

Neben dem Hauptspeicher und dem Erweiterungsspeicher gibt es die Möglichkeit, PC's mit Expansionsspeicher auszustatten. Um diesen nutzen zu können muß ein sog. Expansionsspeicher-Manager installiert werden. Anwendungsprogramme m¨ssen - um Zugriff auf den Expansionsspeicher zu bekommen - vorher den Zugriff darauf vom Expansionsspeicher-Manager anfordern. D. h. Anwendungsprogramme, die nicht für die Zusammenarbeit mit dem Expansionsspeicher-Manager gerüstet sind, können Expansionsspeicher auch nicht nutzen!
Der Expansionsspeicher-Manager gewährt Anwendungsprogrammen den Zugriff zu einem bestimmten Zeitpunkt und immer nur auf eine begrenzte Menge des Speichers - deswegen ist die Benutzung des Expansionsspeichers immer langsamer als die des Erweiterungsspeichers.

Windows ® und Windows-Anwendungen verwenden den Expansionsspeicher nicht. DOS-Anwendungen adressieren ihn durchaus. Auf Systemen der alten Prozessorgeneration 80286 können Anwendungen nur auf physikalisch tatsächlich vorhandenen Expansionsspeicher zugreifen. Ab der Prozessorgeneration 80386 kann Expansionsspeicher simuliert werden.
Hierzu wird ein sog. Expansionsspeicher-Simulator eingesetzt - auf Windows ®-Systemen ist das EMM386.EXE.

Diese Software ermöglicht den Zugriff auf einen bestimmten Speicherplatz oberhalb von 640 KByte folgendermaßen:



Video-Speicher, BIOS und ROM-Routinen nutzen den zur Verfügung stehenden Platz von 384 KByte oberhalb der 640 KByte konventionellen Speichers nicht vollständig aus. Zwischen 786 KByte und 832 KByte stehen noch 64 KByte zur Verfügung (sog. EMS-Speicherfenster), der unter DOS adressiert werden kann.
Zu diesem Zweck werden maximal 4 Speicherblöcke von jeweils 16 KByte in dieses EMS-Fenster eingeblendet.
EMM.SYS übernimmt die Verwaltung des Speicherbereiches.


Erweiterungsspeicher (extended memory)

Erweiterungsspeicher wir allgemein jener Speicherbereich auf PC's (ab der Prozessorgeneration 80286) bezeichnet, der oberhalb von 1MB liegt. Erweiterungsspeicher kann nur adressiert werden, wenn der Prozessor im Protected Mode arbeitet. Windows ® benötigt Erweiterungsspeicher, um überhaupt ausgeführt werden zu können.
Zu diesem Zweck wurde ein Standard definert (XMS - eXtended Memory Specification), der es erlaubt, den gesamten Speicher - also konventionall und extended memory - zu nutzen. Hierzu muß ein Treibermanager installiert werden - siehe unten.
Um Erweiterungsspeicher ausführen zu können, benötigt man einen Erweiterungsspeicher-Manager.
Dieser verwaltet die Benutzung des Erweiterungsspeichers, damit nicht unterschiedliche Programme versuchen, gleichzeitig ein und denselben Speicherbereich zu benutzen.
Windows ® verwendet hierfür den Erweiterungsspeicher-Manager HIMEM.SYS.

Speicherverwaltung unter Windows95®

Die Speicherverwaltung unter Window95® kann in der Systemsteuerung unter System / Gerätemanager / Computer / Eigenschaften kontrolliert werden. Sie erfolgt linear.






HOME ABC=INDEX WWW WWW-SUCHE GOODIES info
© 1995 by W. Schmidt-Sichermann online in4mation,