Il limite di 4 GB di RAM sui sistemi a 32 bit influisce anche sullo spazio di scambio?


11

È noto che i sistemi a 32 bit possono gestire solo 4 GB come quantità massima di RAM.

Sotto Linux, questo limite si applica anche alle partizioni di swap? Se il mio RAM + swap supera i 4 GB, sarà completamente utilizzato?

Se la risposta è "no, non si applica allo scambio", perché?


3
Questa dichiarazione di limitazione della memoria fisica non è valida su tutte le piattaforme ... "L'estensione fisica dell'indirizzo (PAE) è una funzione che consente alle unità di elaborazione centrale x86 (CPU) a 32 bit di accedere a uno spazio di indirizzi fisico (inclusa la memoria ad accesso casuale e la memoria mappata dispositivi) di dimensioni superiori a 4 gigabyte. " en.wikipedia.org/wiki/Physical_Address_Extension
f1assistance

1
@packets Non confonderlo più. Ha davvero bisogno di andare a conoscere concetti fondamentali come indirizzamento virtuale e paging prima.
David Marshall,

1
Nessun problema, non ho paura di imparare.
Sekhemty,

Risposte:


12

No, immagina che la RAM sia come la tua scrivania e lo spazio di scambio / memoria virtuale sia come un casellario. Puoi mettere molte informazioni in un archivio, ma è difficile accedervi. Tutti i documenti che vuoi usare, devi estrarli e metterli sulla scrivania; il problema è che la scrivania può contenere così tante carte contemporaneamente.

Le macchine a 32 bit possono avere solo una scrivania grande 4 GB (2 ^ 32, o circa 4 miliardi di byte), ma possono comunque avere schedari quasi illimitati. Devono solo "scambiare" i fogli quando la scrivania è piena e devono guardare un'altra pagina che si trova in un archivio.


Il motivo per cui non si applica allo scambio è perché l'accesso al contenuto della RAM o l'esecuzione del codice da esso è limitato alla dimensione dei numeri con cui può funzionare. Pensa che puoi avere solo 4 miliardi di parole sulla scrivania, perché è il massimo che puoi contare e devi lavorare direttamente con le parole. "La parola 3.547 è errata. Cambia la parola 3.452.780 in 'Ciao'. Elimina la parola 6."

Ora, ogni pagina potrebbe contenere 4.000 parole. Il problema è quando si fa riferimento allo spazio di swap, non lo si fa per parola, ma solo per pagina. Quindi puoi ancora contare fino a 4 miliardi, ma puoi contare fino a 4 miliardi di pagine. 4 miliardi di pagine contengono in realtà 16 trilioni di parole - molto, molto più alte di quanto tu possa contare.

Le macchine a 64 bit possono contare solo più in alto, quindi possono mettere tutte le pagine sulla scrivania contemporaneamente, se hanno una scrivania abbastanza grande. Anche se metti una scrivania super-grande in una macchina a 32 bit, puoi comunque contare solo fino a 4 miliardi, quindi non hai modo di fare riferimento a tutte le parole extra sulla scrivania.


Quindi, cosa stai cercando di dirmi è che lo spazio di swap funge da indice per la memoria RAM? E, di conseguenza, un singolo GB di swap rappresenta molta più memoria di un singolo GB di RAM? Comunque, non riesco ancora a capire perché il sistema non sia in grado di gestire più di 4 GB di RAM, ma invece con swap. Perché allora non stiamo usando tutti swap anziché RAM?
Sekhemty,

1
Lo spazio di swap è come memoria "non caricata", a cui fa riferimento in blocchi molto più grandi. 1 GB di RAM è 1 GB di swap, ma la RAM viene indirizzata per byte e lo swap viene indirizzato per blocco. Un esempio diverso potrebbe essere quello di pensare al confezionamento di noccioline. Quante noccioline di imballaggio puoi tenere in mano? Forse 100 prima di provare a raccogliere più fa sì che qualcuno esploda tra le dita? Ora, quante noccioline di imballaggio puoi tenere se le mettiamo in scatole? Migliaia? Lo scambio è un po 'come le scatole. È possibile gestire i dati in blocchi più grandi, ma non è possibile accedere ai dati stessi.
Darth Android

1
@Sekhemty: alla tua seconda domanda sul perché utilizziamo swap continuamente: il file di scambio esiste sul tuo disco rigido e la velocità con cui il computer può accedere ai dati sul disco rigido dipende dalla velocità di accesso del disco (e poi alcuni). Ma anche i dischi rigidi più veloci sono molto più lenti della RAM fisica. Quindi è una questione di velocità. Anche l'attuale architettura x86 non lo consente comunque (niente RAM; solo swap). Il file Swap è un concetto di sistema operativo di cui il sistema non è a conoscenza.
bobbyalex,

10

Stai confondendo la memoria fisica e virtuale.

La RAM è memoria fisica. Lo spazio di scambio può contenere molti spazi di indirizzi virtuali da 4 GB.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.