konventioneller Speicher
Englisch: conventional memory
Die ersten 640 Kilobyte RAM in einem IBM-kompatiblen PC.
Konventioneller Speicher: die ersten 640 KB des PC-RAM
Konventioneller Speicher ist der erste 640-Kilobyte-Bereich des Arbeitsspeichers, der Software auf IBM-kompatiblen Personal Computern zur Verfügung steht. Er beginnt bei Adresse 0x00000 und endet bei 0x9FFFF in hexadezimaler Notation. Diese Grenze existiert, weil frühe PC-Architekturen, besonders der Intel-8086-Prozessor und das BIOS des ursprünglichen IBM PC (1981), den Adressraum oberhalb von 640 KB für System-ROM, Videospeicher und Hardware-Interrupts reservierten. Software, die auf diesen Maschinen lief, konnte ohne spezielle Speicherverwaltung nur zuverlässig auf diesen 640-KB-Bereich zugreifen.
Die 640-KB-Grenze war eine unverrückbare Beschränkung im Real-Mode-Betrieb, der Standard-Ausführungsumgebung für MS-DOS und frühe Windows-Versionen. Betriebssysteme und Anwendungsprogramme teilten sich den gleichen Adressraum: Der DOS-Kernel selbst belegte je nach Konfiguration etwa 50 bis 100 KB, wodurch 540 bis 590 KB für Benutzeranwendungen und Daten blieben. Große Industriesteuerungssoftware, CAD-Pakete und Simulationswerkzeuge benötigten häufig Speicherverwaltungstools oder Speicher-Erweiterungsprogramme, um diese Grenze zu überwinden. Sie luden Code und Daten in den erweiterten Speicher (oberhalb von 1 Megabyte) und tauschten Segmente bei Bedarf aus.
Lösungsansätze und Speicherverwaltung
Als 640 KB nicht mehr ausreichten, entwickelten Hersteller und Softwareunternehmen Erweiterungsstrategien. Extended Memory (XMS), zugänglich über den Extended-Memory-Manager (XMM)-Treiber, bot Zugriff auf Speicher oberhalb von 1 Megabyte. Expanded Memory (EMS), das Bank-Switching-Hardware und den Expanded-Memory-Manager (EMM)-Treiber nutzte, ermöglichte größeren Programmen die Arbeit im Real-Mode durch Austausch von 64-KB-Seiten in einem Fenster des konventionellen Speichers. Industrial-Equipment-Firmware, SCADA-Systeme und CNC-Steuerungen bauten häufig auf diese mehrstufigen Speicherschemen, um die Funktionalität auf DOS-Ära-Hardware unterzubringen.
Der Begriff selbst unterscheidet diesen Bereich vom erweiterten Speicher und dem Expanded Memory; dieses Vokabular findet sich immer noch in der Dokumentation von Legacy-Systemen und in Firmware auf modernen Industriesteuerplatinen. Techniker, die ältere Fertigungsanlagen, Industriesensoren mit integrierten Prozessoren oder Firmware-Tools warten, die frühe PC-Umgebungen emulieren, stoßen noch immer auf Verweise zu Grenzen des konventionellen Speichers und zu resident im konventionellen Speicher geladenen Treibern. Das Verständnis dieser Unterscheidung bleibt wichtig bei der Behebung von Speicherkonflikten, beim Laden von Legacy-Gerätetreibern oder beim Portieren von Industriesoftware auf Retro- oder Embedded-Plattformen, auf denen die 16-Bit-Real-Mode-Ausführung noch vorhanden ist.