Warum gibt es eine Speicherbegrenzung, aber keine Speicherbegrenzung für Computer?

414
qspitzer

Wenn ein Computer über eine 32-Bit-Kopie von Windows verfügt, können maximal 4 GB RAM verwendet werden. Warum kann ein Computer jedoch mehr als 500 GB Speicherplatz verwenden? Wenn es ein Limit für den Arbeitsspeicher gibt, sollte es nicht das gleiche Limit für die Speicherung geben?

-1
Kurzantwort nein: Die Speicherung ist durch das Dateisystem und den Gerätetreiberentwurf begrenzt. DavidPostill vor 5 Jahren 1
Es gibt auch Speicherlimits, sie sind nur vom Dateisystem abhängig und viel höher als die RAM-Grenzen. Beispielsweise hat NTFS in Windows XP eine maximale Datenträgergröße von 256 TB. Mike Scott vor 5 Jahren 0

2 Antworten auf die Frage

5
Mokubai

Im Laufe der Jahre wurden mehrere Grenzwerte für die Speichergröße festgelegt und umgangen.

Aus der Geschichte des BIOS und der IDE-Grenzen ergeben sich folgende Grenzwerte:

  • ATA-Spezifikation (für IDE-Datenträger) - die Grenze von 137 GB

  • BIOS Int 13 - die Grenze von 8,5 GB

  • Die 528 MB-Grenze

  • Die Grenze von 2,1 GB (April 1996)

  • Die Grenze von 3,2 GB

  • Die Grenze von 4,2 GB (Feb 1997)

  • Die Grenze von 7,9 GB

  • Die Grenze von 8,4 GB

  • Die Grenze von 33,8 GB (August 1999)

  • Die Grenze von 137 GB (Sept 2001)

  • Die 2 TiB-Grenze

Lesen Sie den verlinkten Artikel für Details zu jedem Limit. Im Allgemeinen unterscheiden sie sich jedoch von den Speichergrenzen aufgrund der 512-Byte-Sektor- und 4096-Clustergröße (Standard) in Kombination mit anderen Faktoren.

Das angegebene "2-TB-Limit" wurde bereits überschritten und gilt nur für MBR-Datenträger. Partitionierte GPT-Datenträger haben dieses Limit nicht.

2
grawity

Meistens nein. Die CPU arbeitet nicht direkt mit dem Festplattenspeicher auf dieselbe Weise wie RAM, dh es gibt keine dedizierten Anweisungen, die HDD-Sektornummern akzeptieren.

Stattdessen muss das Betriebssystem Befehle an den Festplattencontroller senden, um einige Sektoren abzurufen und in den RAM-Speicher zu kopieren (oder umgekehrt, einige Daten aus dem RAM-Speicher in die Festplattensektoren schreiben). Nur einmal im RAM werden die Daten für die CPU verfügbar - und die CPU kümmert sich nicht darum, wie sie dort angekommen sind.

(Denken Sie daran, dass die CPU-Bittheit in erster Linie die Befehle beschreibt, die sich auf Speicheradressen beziehen, jedoch nicht notwendigerweise auf die, die sich auf einfache Zahlen beziehen . Eine 32-Bit-CPU kann also auch mit größeren Zahlen arbeiten. Beispielsweise, wenn eine 64 berechnet werden muss -Bit-Sektoradresse. Es kann etwas mehr Anweisungen erfordern, als mit einer 32-Bit-Nummer zu arbeiten, aber es ist immer noch möglich.)

Ansonsten könnten Speicherbeschränkungen gelten . Zum Beispiel hatten IDE-Platten ursprünglich nur Befehle, die 22-Bit-Sektoradressen akzeptierten. Um größere Festplatten zu unterstützen, musste die IDE neue Befehle für 28-Bit- und eventuell 48-Bit-Sektoradressen definieren. Aber das hat nichts mit der CPU zu tun.