www.wikidata.de-de.nina.az
Die Extended Memory Specification kurz XMS wurde von Microsoft fur Windows 2 1 entwickelt 1 Die Spezifikation normiert den Zugriff auf Arbeitsspeicher unter zu MS DOS kompatiblem DOS oberhalb der 1 MB Grenze des IBM PC Dieser Speicher wird extended memory bezeichnet was meist mit Erweiterter Speicher ubersetzt wird Im Gegensatz zu expanded memory der beim originalen IBM PC von 1981 und kompatiblen Computern eine Speicherkarte voraussetzt und dessen Zugriff per Expanded Memory Specification EMS normiert ist ist Erweiterter Speicher erst ab dem 80286 Prozessor von Intel der ab dem IBM PC AT von 1984 verwendet wird im Betriebsmodus Protected Mode nutzbar 2 da x86 Prozessoren seit diesem Prozessor mehr Adressleitungen besitzen und somit auch mehr Speicher direkt verwalten konnen Nach einer Ubergangszeit in der auch XMS Speicher kompatiblen DOS Anwendungen als EMS Speicher zur Verfugung gestellt werden konnte ersetzte XMS EMS vollstandig Auf modernen Systemen die das flat memory model des Protected Mode verwenden spielen beide Spezifikationen keine Rolle mehr Inhaltsverzeichnis 1 Entwicklung 1 1 XMS 3 0 Super Extended Memory 2 Zugriffsverfahren 3 Probleme 4 Siehe auch 5 QuellenEntwicklung BearbeitenDas Betriebssystem MS DOS war fur den Real Mode gedacht ein Betriebsmodus der x86 kompatiblen Mikroprozessoren in dem der Hauptspeicherzugriff wie beim 8086er Prozessor erfolgt In diesem Betriebsmodus kann nur das erste Mebibyte des Hauptspeichers angesprochen werden Ab dem 80386 lasst sich diese Limitierung im Unreal mode umgehen Als die ersten PC ATs von IBM ausgeliefert wurden waren diese mit dem 80286er Prozessor versehen der mehr Hauptspeicher ansprechen konnte So kamen mit der Zeit auch PCs auf den Markt die mit mehr als 1 MiB Hauptspeicher ausgerustet waren Inzwischen waren die 640 KB die unter DOS fur Anwendungsprogramme nutzbar waren fur viele Zwecke bereits zu klein geworden Der Zugriff auf den erweiterten Speicher war jedoch schwierig da der Prozessor hierfur in den Protected Mode geschaltet werden musste Vom BIOS wurde zwar eine Funktion uber den Software Interrupt 15hex angeboten mit der Speicherbereiche in den erweiterten Speicher kopiert werden konnte doch der Umgang damit war umstandlich und riskant Auch gab es keinerlei Zugriffskontrolle falls mehrere Programme auf den Speicher zugreifen wollten Deshalb wurde 1988 von den Firmen Lotus Development Corp Intel Corp Microsoft Corp und AST Research Inc eine Spezifikation erarbeitet die den Zugriff auf den erweiterten Speicher steuern sollte XMS 3 0 Super Extended Memory Bearbeiten Die in XMS Version 1 und 2 definierten XMS Funktionen benutzten 16 Bit Werte um Blockgrossen in Kilobyte anzugeben was ausreichte um maximal 64 MiB anzusprechen 1991 wurde die XMS 3 0 veroffentlicht die den Zugriff auf mehr als 64 MiB Hauptspeicher moglich machte Dies wurde auch Super Extended Memory genannt 3 Die Funktionen nutzten 32 Bit Register die erst ab dem 386er Prozessor zur Verfugung standen was aber kein Problem darstellt da auf 286er Prozessoren generell nur maximal 16 MiB Hauptspeicher adressierbar war Zugriffsverfahren BearbeitenFur den Zugriff auf den erweiterten Speicher nach XMS ist ein spezieller Treiber der extended memory manager XMM zustandig Uber diesen konnen sich Anwendungsprogramme aber auch andere Geratetreiber Speicherbereiche im erweiterten Speicher reservieren lassen Daten vom konventionellen Speicher dort hinein und spater wieder zuruck kopieren sowie den Speicher nach Gebrauch wieder freigeben Unter MS DOS heisst dieser Treiber a href HIMEM SYS html title HIMEM SYS HIMEM SYS a und muss beim Hochfahren des Rechners geladen werden Unter anderen MS DOS kompatiblen Betriebssystemen heisst dieser Treiber teilweise anders und ist bisweilen auch mit einem Expanded Memory Manager wie z B a href EMM386 EXE html title EMM386 EXE EMM386 EXE a der EMS bereitstellt verknupft Uber den Software Interrupt 2Fhex kann der Einsprungpunkt fur die Service Routine des XMM ermittelt werden uber die der XMM seine Dienste anbietet Der Zugriff auf Speicherbereiche im XMS geschieht uber sogenannte Handles die der XMM beim Allozieren eines Speicherblocks zuruckgibt Um Speicherblocke zwischen dem XMS und dem konventionellen Speicher zu kopieren wird das spezielle XMS Handle 000016 benutzt um Speicheradressen im konventionellen Speicher anzugeben Die XMS Handles waren eine knappe Ressource da der XMM fur jedes Handle Verwaltungsdaten vorratig halten musste Ublich waren 32 Handles die Anzahl konnte je nach XM auf bis zu 256 hochgesetzt werden 4 Probleme BearbeitenDa zum Kopieren von Daten zwischen dem DOS Speicher und dem erweiterten Speicher vorubergehend in den Protected Mode gewechselt werden muss ist der Zugriff auf diesen Speicher vergleichsweise langsam insbesondere auf 80286er CPUs da diese zum Zuruckschalten in den Real Mode einen Prozessor Reset benotigen der ebenfalls recht lange dauert Auch das prinzipiell kaum sinnvolle Hin und Herkopieren von Daten zwischen verschiedenen Speicherbereichen bremst XMS merklich aus Ab dem I386 kann der erweiterte Speicher alternativ auch dazu genutzt werden um so genanntes expanded memory EMS siehe Expanded Memory Specification bereitzustellen Da programmtechnisch die Benutzung von EMS Speicher einfacher als die von XMS Speicher ist waren DOS Programme die EMS Speicher benutzten haufiger Viele speicherhungrige Programme z B Spiele konnten jedoch mit beiden Speichererweiterungen umgehen Siehe auch BearbeitenExpanded Memory Specification High Memory Area Upper Memory Block Address Windowing ExtensionQuellen Bearbeiten Barry Simon Memory Managers Open Up New Frontiers In PC Magazine Band 11 Nr 3 Ziff Davis 11 Februar 1992 ISSN 0888 8507 S 210 Memory Menagerie englisch eingeschrankte Vorschau in der Google Buchsuche When Microsoft introduced Windows Version 2 10 it devised an extended memory specification known as XMS Barry Simon Memory Managers Open Up New Frontiers In PC Magazine Band 11 Nr 3 Ziff Davis 11 Februar 1992 ISSN 0888 8507 S 208 Memory Management Difining the Terms englisch eingeschrankte Vorschau in der Google Buchsuche extended memory The memory above 1MB in a PC that is not configured for expanded memory It can be used only by a 286 386 or 486 processor running in protected mode Extended memory was introduced on the IBM AT in 1984 but was initially used only for RAM disks In recent years Microsoft Corp s extended memory specification XMS which was developed for Microsoft Windows 2 1 has become the preferred way to use extended memory http www phatcode net res 219 files xms30 txt http www i8086 de dos befehle himem sys html Abgerufen von https de wikipedia org w index php title Extended Memory Specification amp oldid 232256951