www.wikidata.de-de.nina.az
Die Artikel Datenblock Speicherseite Swapping und Virtuelle Speicherverwaltung uberschneiden sich thematisch Informationen die du hier suchst konnen sich also auch in den anderen Artikeln befinden Gerne kannst du dich an der betreffenden Redundanzdiskussion beteiligen oder direkt dabei helfen die Artikel zusammenzufuhren oder besser voneinander abzugrenzen Anleitung Die virtuelle Speicherverwaltung englisch virtual memory management kurz VMM ist eine spezielle Speicherverwaltung in einem Computer Der virtuelle Speicher bezeichnet den vom tatsachlich vorhandenen Arbeitsspeicher unabhangigen Adressraum der einem Prozess vom Betriebssystem zur Verfugung gestellt wird Schemabild einer virtuellen Speicherverwaltung links virtueller Speicherbereich fur eine laufende Anwendung oder einen Prozess der Speicher ist linear und unfragmentiertrechts echte Speicherquellen typischerweise RAM Festplatte und Ahnliche mehrere auch kleine Speicherfragmente konnen verwendet werden in rot die Speicherverwendung anderer Prozesse unsichtbar im virtuellen SpeicherbereichDas Konzept entstand in den 1950er Jahren und wird heute von den meisten Prozessorarchitekturen unterstutzt und in nahezu allen modernen Betriebssystemen verwendet Inhaltsverzeichnis 1 Geschichte 2 Motivation 3 Funktionsweise 4 Definition 5 Technik 5 1 Platzierungsstrategien von Betriebssystemen 5 2 Paging 5 3 Swapping 5 4 Seitenersetzungsstrategien von Betriebssystemen 5 5 Speicherfragmentierung 5 6 Zuordnung von virtuellen Pages zu realen Pageframes 6 Beispiele 7 Siehe auch 8 Weblinks 9 EinzelnachweiseGeschichte BearbeitenDas Konzept der virtuellen Speicherverwaltung entstand aus der Trennung in primare Speichermedien auf die der Prozessor direkt Zugriff hatte meist Magnetkernspeicher und sekundare externe Speichermedien meist Magnettrommelspeicher in den Computern der 1950er Jahre und dem Wunsch diese automatisch auf gleicher Ebene zu verwalten 1 Das Konzept des virtuellen Speichers wurde 1956 vom Physiker Fritz Rudolf Guntsch an der Technischen Universitat Berlin entwickelt 2 3 In Grossbritannien wurde das Konzept beim Atlas Computer Projekt von Tom Kilburn und Kollegen 1959 in einem Prototyp demonstriert Der Computer kam 1962 auf den Markt Das Konzept setzte sich im Verlauf der 1960er Jahre bei den meisten Betriebssystemen von Grossrechnern durch wie TSOS der RCA Spectra 70 46 4 von RCA BS2000 von Siemens oder System 360 Modell 67 und ab 1972 deren Nachfolger System 370 von IBM Da zur effizienten Implementierung auch neue Hardware entwickelt werden musste gab es in den 1960er Jahren noch Widerstande gegen eine vollstandige Implementierung in Betriebssystemen Systematische Tests die ein Team um David Sayre bei IBM Ende der 1960er Jahre durchfuhrte fielen aber eindeutig zu Gunsten des Konzepts virtueller Speicher aus 5 6 1970 veroffentlichte Peter J Denning einen Aufsatz zur Klarung der Eigenschaften des Konzepts Virtueller Speicher 7 Das Konzept fand in den 1970er Jahren Eingang auch bei Minirechnern wie in das VMS Betriebssystem von DEC fur dessen VAX Rechner und in Unix in der BSD Version Beim PC setzte sich das Konzept mit der Weiterentwicklung der Prozessoren beim x86 Prozessor von Intel mit dem Protected Mode im 80286 und dem 80386 mit Memory Management Unit auch in den Betriebssystemen durch bei Microsoft ab Windows 3 0 Motivation BearbeitenDie ursprungliche Motivation fur eine Abstraktion der Speicheradressen mit virtuellen Adressen war die Vereinheitlichung der Benutzung und die mogliche Zusammenfassung verschiedener Speicherquellen Dies wird von Guntsch in seiner Dissertation von 1957 so beschrieben 3 Der Programmierer braucht auf das Vorhandensein von Schnellspeichern keine Rucksicht zu nehmen er braucht nicht einmal zu wissen dass solche vorhanden sind Denn es gibt nur eine Sorte von Adressen mit denen programmiert werden kann als ware nur ein Speicher vorhanden Fritz Rudolf Guntsch 8 Die virtuelle Speicherverwaltung ermoglicht zudem die Implementierung von Speicherschutzmechanismen zur Separierung von Programmen untereinander horizontale Trennung Programme konnen z B im Fehlerfall nicht auf Speicher anderer Programme zugreifen Programmen gegen das Betriebssystem vertikale Hierarchie Das Funktionieren des Betriebssystems darf nicht durch fehlerhafte Anwendungsprogramme gefahrdet werden Eine weitere nutzliche Eigenschaft des virtuellen Adressraums ist die Moglichkeit jedem Prozess einen initial unfragmentierten exklusiven Speicherraum zur Verfugung zu stellen Ohne virtuellen Speicher entstunde oft Speicherfragmentierung des physischen Adressraums prozessubergreifend durch virtuellen Speicher pro Prozess sowie meist deutlich grosseren Adressraum als der phys Speicher kann weitgehend vermieden werden dass der Adressraum eines Prozesses fragmentiert wird aufgrund eines anderen Prozesses Durch die Abbildung virtueller auf physikalische Adressen kann ein physikalischer Bereich unter gewissen Umstanden auch von mehreren Prozessen zugleich verwendet werden was vor allem die effiziente Verwendung von dynamischen Bibliotheken erlaubt Hierbei wird eine in mehreren Programmen eingebundene Bibliothek physikalisch nur einmal geladen Dies kann insbesondere bei Standard Bibliotheken solche die bei fast jedem Programm angebunden sind eine erhebliche Verbesserung der Ladezeiten des Programms sowie eine effizientere Speichernutzung bewirken Ebenso bei Programmen die mehrfach zur gleichen Zeit ausgefuhrt werden auch hier braucht der Programmcode sich nur einmal im Speicher zu befinden Wesentlich fur diese Art der Mehrfachverwendung des physikalischen Speichers ist dass der Code der Bibliotheken und Programme wahrend der Ausfuhrung nur gelesen also nicht verandert wird Fur die Variablen sind je Instanz neue physikalische Seiten zu reservieren was im Allgemeinen automatisch geschieht per Copy on Write Verfahren Funktionsweise Bearbeiten nbsp Beziehung des virtuellen Adressraums zum physischen Adressraum fur einen Prozess 32 Bit protected mode Fragmentierter physischer Speicher wird dem Prozess im 2 GB grossen virtuellen Adressraum als kontinuierlich prasentiert Das Rechnersystem stellt jedem Prozess mit Adressen von 0 bis n 1 einen scheinbar zusammenhangenden lokalen Speicherbereich zur Verfugung wobei n die Grosse dieses Speicherbereichs ist In Wirklichkeit besteht dieser Speicherbereich aus einzelnen Seiten definierter Grosse Pages veraltet auch Kacheln innerhalb des virtuellen Adressraums des Prozesses Diese virtuellen Pages werden wiederum auf physische Pages abgebildet die irgendwo im physischen Speicher oder sogar in einer Auslagerungsdatei liegen Beim Zugriff eines Prozesses auf eine Speicheradresse eine virtuelle Adresse andere Adressen kennt der Prozess gar nicht ubersetzt die Memory Management Unit MMU meist kombiniert mit einem TLB des Systems diese in die zugehorige aktuelle physische Adresse Die sogenannte Seitentabelle ist die Tabelle welche der Transformation von virtuellen in physische Seitenrahmen dient Anhand dieser Tabelle kann die MMU die virtuellen Adressen in reale Adressen ubersetzen Hier ist verzeichnet fur welche virtuelle Seite welche reale Seite verwendet werden soll bei nicht verwendeter virtueller Seite ist markiert dass keine reale Seite dafur verwendet wird bei ausgelagerter Seite ist vermerkt dass wo in einer Programm oder Bibliotheksdatei oder ggfls in einer Auslagerungsdatei der Inhalt gespeichert ist und bei Bedarf wieder geladen werden kann Die optimale Seitengrosse Grosse einer Page ist ein Kompromiss zwischen Haufigkeit von Seitenwechsel und Grosse der Tabelle ubliche Grossen 4 KiB bei 32 Bit virt Adressraum 4 MiB bei 64 Bit virt Adressraum Eine virtuelle Adresse beschreibt also einen Ort im Speicher eines Computersystems dessen Betriebssystem eine virtuelle Speicherverwaltung zur Adressierung verwendet Die Gesamtheit aller moglicher virtuellen Adressen eines Prozesses wird auch als virtueller Adressraum bezeichnet Nur Betriebssysteme die eine virtuelle Speicherverwaltung verwenden konnen einen virtuellen Adressraum generieren und dadurch Speicherseiten die physisch nicht zusammenhangend sind fur den Programmierer bzw das Programm als logisch zusammenhangenden Speicherbereich abbilden Definition BearbeitenGemeinsam sind den virtuellen Speicherverwaltungen heutzutage folgende Grundprinzipien Alle von Prozessen verwendeten Adressen werden nur noch als virtuelle Adressen behandelt Anmerkung 1 Eine Memory Management Unit ubersetzt die virtuellen Adressen in reale physische Adressen Der durch die Gesamtheit aller moglichen virtuellen Adressen definierte virtuelle Adressraum der den virtuellen Speicher bildet wird genauso wie der tatsachlich vorhandene physische Arbeitsspeicher in gleich grosse Speicherabschnitte unterteilt Die fur diese Speicherabschnitte verwendeten deutschen Begriffe Kachel Speicherseite oder Seitenrahmen sind synonym Im Englischen wird dieser Speicherabschnitt pageframe genannt Eine Page des virtuellen Adressraums wird auf eine Page pageframe des physischen Adressraums abgebildet Die verschiedenen virtuellen Speicherverwaltungen unterscheiden sich in der Grosse des virtuellen Speicherraums in der Speichergrosse die eine Page belegt in der Art wie die Memory Management Unit aus der virtuellen Adresse eine physische Adresse berechnet in ihrer Seitenersetzungsstrategie welche die Reaktion auf einen so genannten Seitenfehler die Adressierung einer nicht im physischen Speicher vorhandenen virtuellen Adresse festlegt und in der Behandlung von evtl ausgelagerten Pages Technik BearbeitenPlatzierungsstrategien von Betriebssystemen Bearbeiten Fordert ein Programm Speicher vom Betriebssystem an besitzt das Betriebssystem Freiheiten wo im virtuellen Speicherraum des Prozesses es dem Programm den angeforderten Speicher zuweist Mit geschickten Platzierungsstrategien kann eine kontinuierliche Fragmentierung des virtuellen Adressraums reduziert werden was sowohl bei einer hohen Anzahl von Speicheranforderungen und freigaben als auch bei stark gefulltem virtuellem Adressraum sehr relevant wird Strategien zur Wahl geeigneter Adressen sind FirstFit erste ausreichende Lucke BestFit kleinste ausreichende Lucke Nachteil externe Fragmentierung NextFit nachster freier Speicher startet an der Stelle an der die letzten Daten eingefugt wurden ringformiges Durchsuchen WorstFit grosste ausreichende LuckePaging Bearbeiten nbsp Virtuelle Speichersegmente des Intel 80286 nbsp Paging des Intel 80386 mit einer Page Seitengrosse von 4 KB Der Begriff Paging bezeichnet im engeren Sinn lediglich den Vorgang der Abbildung der virtuellen Adressen auf die physischen Im weiteren fehlerhaften Sinne wird er synonym fur Swapping benutzt Swapping Bearbeiten Swapping ist die Auslagerung eines realen RAM Speicherbereichs in einen anderen sekundaren Speicher typischerweise in eine Auslagerungsdatei auf eine Festplatte durch das Betriebssystem Die Idee dahinter ist dass bei typischen Computern die Festplatte deutlich grosser ist als der verfugbare elektronische Speicher RAM Indem der Festplattenspeicher ebenfalls verwendet werden kann um Speicheranfragen von Programmen zu bedienen konnen Anfragen die uber das verfugbare RAM hinausgehen dann uber Swap Speicher fur jeden Prozess mit mehr virtuellem Speicher bedient werden als physisch vorhanden Nachteil ist dass der auf Festplatte ausgelagerte Speicher deutlich langsamer zugreifbar ist als RAM jedoch ermoglicht dieses Vorgehen das Funktionieren von Programmen mit hohem Speicherbedarf Um den langsamen Zugriff zu mildern versuchen Betriebssysteme mithilfe einer Speicheruberwachung den RAM und Swap Speicher optimal auf die verschiedenen Prozesse zu verteilen Speicherbereiche auf die langere Zeit weder lesend noch schreibend zugegriffen wurde werden bei Knappheit in den langsamen Swap Speicher ausgelagert Haufig benotigte Pages werden moglichst im RAM behalten Dies funktioniert konkret indem ab einem gewissen Fullgrad des RAMs besondere Prozesse Page stealer beginnen langer nicht benutzte Seiten auszulagern um zusatzlichen physischen Platz zu gewinnen damit das System auf eine entsprechende Anforderung schnell reagieren kann Dieser Vorgang ist asynchron zu den Anwendungen und belastet das System nicht sonderlich Trotzdem ist die Zugriffsgeschwindigkeit der Festplatte relevant Weiter unten sind die wichtigsten Seitenersetzungsstrategien aufgelistet Ublicherweise wird eine Kombination aus mehreren Verfahren angewandt Zuerst ungelesene dann unveranderte dann langer nicht veranderte Seiten auslagern Soweit eine noch aktuelle Kopie einer Seite in der Auslagerungsdatei existiert kann diese Seite ohne Weiteres zum Uberschreiben freigegeben werden Ein Seitenfehler engl page fault tritt auf wenn ein Programm auf eine Seite zugreift die sich gerade nicht im Hauptspeicher befindet sondern ausgelagert wurde Dies lost eine Programmunterbrechung engl trap aus Das Betriebssystem sorgt nun dafur dass der angeforderte Speicherbereich wieder in den Hauptspeicher geladen wird damit das Programm darauf zugreifen kann Die Seite kann nun durchaus physisch an anderer Stelle liegen als ursprunglich die Memory Management Unit aktualisiert die Page Table entsprechend Die virtuelle Adresse bleibt davon unverandert Ein Seitenfehler verursacht also keinen Abbruch sondern eine Aktion die dem Prozess anschliessend die normale Weiterverarbeitung erlaubt Das Zuruckholen solcher Seiten ist ein Vorgang der deutlich langer dauert als nur auf eine Hauptspeicheradresse zuzugreifen Deshalb verlangsamen Seitenfehler wenn sie in hohem Umfang auftreten die Programmgeschwindigkeit erheblich Die Rechenleistung kann stark einbrechen wenn durch grosse Speicherknappheit auch haufig benotigte Pages ausgelagert werden mussen und sich das System hauptsachlich mit der Behandlung von Seitenfehlern beschaftigen muss Page stealer und die Traps greifen beide auf die Auslagerungsdatei zu und lasten ab einem gewissen Punkt die betroffenen Festplatten komplett aus Dieser Effekt wird als Seitenflattern bzw thrashing bezeichnet Seitenersetzungsstrategien von Betriebssystemen Bearbeiten Typische Strategien um die Verwendung von RAM und langsameren sekundaren Speichern fur alle Prozesse zu optimieren sind not recently used NRU Teilt Seiten anhand des Use Bits und Dirty Bits aus der Seitentabelle in vier Klassen und entfernt zufallig eine aus der untersten nicht leeren Klasse first in first out FIFO Jede Seite bekommt Zeitstempel und wird nach FIFO verwaltet alteste raus hinten rein vorne raus Second Chance Algorithmus Variante von FIFO die verhindert dass Seiten ausgelagert werden die noch haufig benutzt werden least frequently used LFU Jede Seite hat ein Feld das Aufschluss uber letzte Nutzung gibt bei Seitenfehler mussen alle Seiten auf bislang nicht benutzte Zeit durchsucht werden Working Set Algorithmus Ersetzt gleich den ganzen Arbeitsbereich working set eines Prozesses Er zahlt zu den Prepaging Strategien da Seiten geladen werden bevor sie benotigt werden Clock Algorithmus Funktionsweise analog zum Second Chance Algorithmus Die Seiten werden in Form einer virtuellen Uhr mit Zeigern abgebildet Im Verdrangungsfall wird der Uhrzeiger so lange um ein Element weitergeschaltet bis eine Seite mit einem zuruckgesetzten R Bit gefunden wird Seiten mit gesetztem R Bit werden bei der Uberquerung des Zeigers zuruckgesetzt Bei grosser Anzahl an Hauptspeicherseiten ist dieses Verfahren zu langsam Daher werden z B bei BSD Unix zwei Zeiger mit konstantem Abstand zur Laufzeitverbesserung verwendet Der vordere Zeiger setzt das R Bit im Seitendeskriptor zuruck der hintere pruft das R Bit und fuhrt bei zuruckgesetztem Bit die Verdrangung durch Belady Theorem der optimalen Verdrangung Hierbei werden die Seiten verdrangt die in Zukunft am langsten nicht referenziert werden Meist nicht umsetzbar da das Programmverhalten im Allgemeinen nicht vorhergesagt werden kann Speicherfragmentierung Bearbeiten Bei Systemen ohne virtuelle Speicherverwaltung tritt potentiell eine kontinuierliche Fragmentierung des realen Speicherraums uber die Laufzeit ein D h die erfolgreiche Funktion eines neu gestarteten Programms ist nicht deterministisch garantiert und hangt vom Fragmentierungszustand des physischen Speichers ab Ohne virtuelle Speicherverwaltung kann es vorkommen dass bei mehreren Programmlaufen trotz gleichbleibender Speicheranforderung diese manchmal aufgrund von Fragmentierung nicht bedient werden konnen obwohl insgesamt immer genugend Speicher frei ist Beispielsweise hat MS DOS ein OS ohne virtuelles Speichermanagement ein vergleichbares Problem mit Treibern und TSR Programmen es wurde versucht das Problem mit komplizierten Speicheroptimierern beispielsweise uber EMM386 EXE und QEMM 9 zu minimieren Bei diesen Speicheroptimierern wurde unter anderem versucht Geratetreiber und TSR Programm uber eine iterativ ermittelte optimale Lade Reihenfolge moglichst unfragmentiert in den physischen Speicher zu platzieren um nachfolgenden Programmen moglichst grosse Speicherblocke zur Verfugung stellen zu konnen Virtuelles Speichermanagement bietet jedem startenden Programm einen immer gleichen unfragmentierten Speicherraum Jedoch konnen Programme auch mit virtuellen Speichermanagement uber kontinuierliche explizite Speicher Allokation und Deallokationen malloc free oder ungeschickt festplatzierten Programmbibliotheken DLLs 10 ihren virtuellen Speicherraum selbst fragmentieren und damit ebenfalls in laufzeitabhangige Out of Memory Situationen laufen Dies trat in den 2000ern am Ende der 32 Bit PC Ara als praktisches Problem auf 4 GB Grenze der virtuelle Adressraum war nicht mehr signifikant grosser als der typische physische RAM Ausbau immer mehr Programme verwendeten entsprechend viel Arbeitsspeicher Bei speicherintensiven Anwendungen wie z B wissenschaftlichen Simulationen z B mit Matlab oder aufwandigen 3D Computerspiele wie Gothic 3 11 Supreme Commander 12 fuhrte dies zu gehauften Out of Memory Problemen trotz genugend physischem und virtuellem Gesamt Speicher Ist der virtuelle Speicherraum jedoch deutlich grosser als die Anforderungen des Prozesses so ist eine Fragmentierung des virtuellen Speicherraums kein praktisches Problem da genugend alternative unfragmentierte Adressen und Adressbereich vorhanden sind Mit der 64 Bit x86 Architektur x64 implementiert als AMD64 und Intel 64 wurden die virtuellen Adressraumgrossen deutlich vergrossert auch um diesem Problem zu begegnen und auf absehbare Zeit sollte eine Fragmentierung des virtuellen Speicherraums keine Rolle fur PC Programme spielen Zuordnung von virtuellen Pages zu realen Pageframes Bearbeiten In Mehrprozessorsystemen ist der real vorhandene Arbeitsspeicher haufig nach dem NUMA Prinzip angebunden Das Betriebssystem sollte dann gunstigerweise die virtuellen Pages eines Threads zu solchen realen Pageframes zuordnen die an dem Prozessor angebunden sind der den Thread rechnet Beispiele Bearbeitenx64 Architektur Von den 64 Bit der virtuellen Speicheradressen sind in der ersten CPU Generation 48 Bit physisch fur die Virtuelle Speicherverwaltung implementiert die ersten 16 Bit der virtuellen Adresse mussen eine Wiederholung des 48 Bits sein 13 also 0000hex oder FFFFhex Da nur 48 Bit moglich sind ist der virt Adressraum auf 2 48 Byte beschrankt Hierfur wird eine vierstufige Seitentabelle verwendet Die 48 Bit teilen sich auf in je 9 Bit fur die vier Seitentabellen plus 12 Bit Offset IA 32 Architektur Eine virtuelle Adresse ist 32 Bit lang Es wird eine zweistufige Seitentabelle verwendet Die 32 Bit teilen sich auf in je 10 Bit fur die zwei Seitentabellen plus 12 Bit Offset IA 32 Architektur mit PAE Eine virtuelle Adresse ist 32 Bit lang Es wird eine dreistufige asymmetrische Seitentabelle verwendet Die 32 Bit teilen sich auf in 2 Bit fur die erste Seitentabelle und je 9 Bit fur die zwei weiteren Seitentabellen plus 12 Bit Offset Bei der IA 32 Architektur ist der Arbeitsspeicher in Speicherseiten aufgeteilt deren mogliche Grossen und Anfangsadressen durch die Hardware vorgegeben sind Wird auf eine Adresse zugegriffen der zurzeit keine physische Speicherseite zugeordnet ist so muss das Betriebssystem die Memory Management Unit anweisen an dieser Stelle eine bestimmte freie Speicherseite einzublenden Steht keine freie Speicherseite mehr zur Verfugung so muss eine andere Speicherseite frei gemacht werden wobei der Inhalt vom Betriebssystem z B auf die Festplatte ausgelagert wird Diesen Vorgang bezeichnet man als Paging Die Grosse des virtuellen Adressraums kann aus der Definition der virtuellen Adresse berechnet werden So ist beispielsweise in einer IA 32 Architektur eine virtuelle Adresse 32 Bit breit zweimal je 10 Bit fur eine zweistufige Seitentabelle und 12 Bit fur den Offset Somit lassen sich 210 210 212 Byte adressieren Das sind 232 Byte also 4 GiB Siehe auch BearbeitenSpeicherhierarchieWeblinks BearbeitenLinux Kernel 2 4 x 32 bit Prozessadressraume und Swapping Memento vom 16 Mai 2008 im Internet Archive via archive orgEinzelnachweise Bearbeiten und Anmerkungen Fur den Bootprozess Initialisierung ist ggf eine Initialisierung mit speziellen Tabelleneintragen oder ein nicht virtueller Modus notwendig Peter J Denning Before memory was virtual 1996 pdf Memento des Originals vom 24 Februar 2012 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot cs gmu edu E Jessen Origin of the Virtual Memory Concept IEEE Annals of the History of Computing Band 26 4 2004 S 71 ff a b Eike Jessen Die Entwicklung des virtuellen Speichers In Informatik Spektrum 19 Jahrgang Nr 4 Springer Berlin Heidelberg 1996 ISSN 0170 6012 S 216 219 doi 10 1007 s002870050034 RCA Spectra 70 46 Reference Manual auf bitsaver org PDF 10 22 MB History of Virtual Memory George Mason University Memento des Originals vom 30 April 2012 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www cs gmu edu Peter J Denning Performance modelling experimental computer science at its best 1981 pdf Memento des Originals vom 28 September 2011 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot cs gmu edu Denning Virtual Memory Computing Surveys Band 2 1970 S 153 189 Fritz Rudolf Guntsch Logischer Entwurf eines digitalen Rechengerates mit mehreren asynchron laufenden Trommeln und automatischem Schnellspeicherbetrieb Dissertation Technische Universitat Berlin D83 Berlin 1957 Zitiert nach Jessen 1996 englisch ausgeschrieben Quarterdeck Expanded Memory Manager zudem teilweise abgekurzt auch QEMM386 genannt Brett Shoelson Is your memory fragmented What can you do about it mathworks com 8 Mai 2009 abgerufen am 14 Juli 2012 englisch VIII Community Patch v1 6 madvulture de abgerufen am 5 September 2012 englisch Fixed some memory fragmentation for performance improvements Ryan Smith A Messy Transition Practical Problems With 32bit Addressing In Windows A Case Study Supreme Commander anandtech com 12 Juli 2007 S 4 abgerufen am 5 September 2012 englisch Finally at 22 minutes in to the game the game crashes as the virtual size has reached the 2 6GB barrier we have reconfigured this system for Perhaps the most troubling thing at this point is that Supreme Commander is not aware that it ran out of user space in its virtual address pool as we are kicked out of the game with a generic error message AMD64 Architecture Programmer s Manual Volume 2 System Programming Memento des Originals vom 3 Marz 2016 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot developer amd com Seite 4 Canonical Address Form 2013 pdfNormdaten Sachbegriff GND 4381328 8 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Virtuelle Speicherverwaltung amp oldid 233703410