Ich bin also ein Programmierer und kein kompletter Idiot, daher weiß ich genau, warum Sie nicht auf Speicher zugreifen können, in dem Sie keine Zeiger haben können. Aber ich habe das noch nie versucht und ich glaube nicht, dass ich es jemals versuchen werde, weil es wie eine große Verschwendung von Geld / Zeit erscheint.
Ich frage mich nur, ob es Tools gibt, mit denen ich auf mein Thema zugreifen kann (Sie würden denken, wir hätten dieses Problem inzwischen umgangen).
Antworten:
Wenn Sie einen Prozessor mit der physischen Adresserweiterung (was Sie wahrscheinlich tun) und dem richtigen Betriebssystem haben ( z. B. keine Consumer-Version von Windows, verwendet PAE, ist jedoch auf 4 GB begrenzt ), kann der Speicher zugeordnet und normal verwendet werden. Andernfalls wird der Speicher einfach nicht adressiert. Das Betriebssystem teilt Ihnen mit, dass Sie über so viele Chips verfügen, wie groß diese auch sein mögen, diese jedoch nicht zu der Speichermenge hinzugefügt werden, auf die Sie zugreifen können.
quelle
Die Dinge würden gut funktionieren, da 4 GB die Grenze für einen 32-Bit-Prozessor sind. Hier ist ein Artikel, der ausführlicher behandelt und zeigt, dass Sie viel mehr als 4 GB auf einem 32-Bit-Betriebssystem installieren und verwenden können.
quelle
Ich nehme an, wenn das Betriebssystem gut gestaltet wäre, könnten Sie mehr als 4 GB verwenden. Es gibt keinen Grund, warum ich mir vorstellen kann, dass ein Betriebssystem mit Funktionen für virtuellen Speicher keine virtuellen 32-Bit-Adressen mit realen 64-Bit-Adressen verwenden kann.
quelle
Kommt darauf an, welches 32bit Betriebssystem du meinst!
Natürlich können Sie unter modernen Betriebssystemen so viel anschließen, wie Ihr Motherboard problemlos aufnehmen kann (obwohl Sie möglicherweise nicht alles verwenden können), aber das war zumindest unter Windows nicht immer der Fall:
http://answers.google.com/answers/threadview/id/333688.html
quelle
Das erste, was zu verstehen ist, ist, dass moderne Computersysteme virtuellen Speicher verwenden. Sie können virtuelle 32-Bit-Adressen für Anwendungen verwenden, während die physischen Adressen größer als 32-Bit sind.
Das zweite, was zu verstehen ist, ist, dass der physische Adressraum für verschiedene Dinge verwendet wird, vor allem für Perhipherals mit Haupt-RAM und Speicherzuordnung. Insbesondere Grafikkarten weisen häufig große Speicherbereiche auf. Das Ergebnis ist, wenn Sie nur 4 GB nutzbaren physischen Adressraum haben, können Sie deutlich weniger als 4 GB nutzbaren RAM haben. Ungefähr 3,5 GB nutzbar sind typisch, aber ich habe Systeme gesehen, bei denen es nur 2,5 GB waren.
Auf einem PC zur Unterstützung von mehr als 4 GB physischem Adressraum wird ein Mechanismus namens PAE verwendet. Damit dies funktioniert, sind mehrere Dinge erforderlich.
CPUs unterstützen PAE seit Ewigkeiten, das ist kein Problem.
Viele ältere Chipsätze waren auf 4 GB physischen Adressraum beschränkt. IIRC Intel Laptop-Chipsätze haben 2007 mit der "Santa Rosa" -Generation Unterstützung für mehr als 4 GB Adressraum erhalten. Ich bin mir bei Desktop-Chipsätzen nicht sicher, aber ich gehe davon aus, dass dies ungefähr zur gleichen Zeit war. Workstation / Server-Chipsätze wurden offensichtlich viel früher unterstützt.
Afaict-BIOS unterstützen dies meistens, wenn der Chipsatz dies tut. Würde mich nicht wundern, wenn es einige Ausnahmen gibt.
OS ist eine heikle Sache. Linux und Windows unterstützen PAE seit Ewigkeiten. Leider hat MS seit Windows XP Service Pack 2 MS den physischen Adressraum künstlich auf 4 GB begrenzt. Sie behaupten, dies aufgrund von Buggy-Treibern getan zu haben. Zyniker würden vermuten, dass sie dies getan haben, um die Leute zum Kauf von Server-Editionen zu zwingen.
In Windows XP ist dies in den Kernel integriert und kann grundsätzlich nicht rückgängig gemacht werden. In späteren Versionen kann es jedoch mit einigen kleinen Hacks am Kernel umgangen werden. Weitere Informationen finden Sie unter https://wj32.org/wp/ .
quelle