Memoria cablata e memoria attiva in OS X


13

Ho difficoltà a comprendere la differenza tra la memoria cablata e la memoria attiva in OS X.

Non parlare dei quattro tipi di memoria (non parlare di memoria libera o inattiva, perché so già di cosa si tratta). Basta confrontare e confrontare la memoria cablata con la memoria attiva in modo da poterle comprendere meglio.

Risposte:


28

Gentile promemoria: per fornire una risposta migliore per il resto della comunità, non dire qualcosa del tipo "Non parlare dei quattro tipi di memoria". Anche se lo conosci bene, potrebbero esserci mille cittadini di Internet che arrivano qui sperando in una risposta collaterale. :)

"Paging" è il termine esatto per la seguente azione. Lo “scambio” viene utilizzato colloquialmente per il “paging”, tuttavia al giorno d'oggi in modo abbastanza intercambiabile. "Scambio" originariamente si riferiva allo spostamento dello spazio di memoria di un programma completamente su "memoria secondaria" (al contrario di "memoria principale", che è un termine arcaico per ... RAM, in un certo senso). Il confine tra paginazione e scambio è considerevolmente offuscato dai sistemi Windows e Unix che chiamano gli swap dello spazio di paginazione.

Quindi, è necessario conoscere il paging per comprendere il concetto di memoria attiva, cablata e inattiva. Il paging significa che la pagina di memoria viene spostata dalla memoria ad accesso casuale (ad esempio, la RAM) e sul disco rigido o altro dispositivo di archiviazione secondario. Ciò consente all'applicazione in esecuzione di richiedere più memoria della quantità totale di RAM di sistema disponibile.

Si noti che sebbene il paging fuori significhi un'enorme penalità prestazionale per accedere nuovamente a quel particolare bit di informazioni, il paging può avvenire in due casi diversi: (Citando me stesso: svantaggi di non avere una partizione di swap )

  1. Quando non c'è abbastanza memoria per tutte le applicazioni - nel caso in cui ciò accada a un sistema senza spazio di scambio, si verificherà un errore nell'allocazione della memoria per le nuove applicazioni che richiedono nuove pagine di memoria - e questo di solito porta alla chiusura del programma.
  2. Quando alcune pagine di memoria (la memoria è divisa in "pagine") viene utilizzata qualche tempo fa, ma non è più utilizzata ora, verrebbe trasferita al file di scambio e la memoria rimanente può essere utilizzata per fare qualcos'altro che potrebbe essere più utile (ad esempio, anche la memorizzazione nella cache!) - quando ciò accade in un sistema senza spazio di scambio, ciò comporterà la memorizzazione di pagine inattive. Questo non è nulla di troppo serio, dato che al giorno d'oggi abbiamo una grande quantità di memoria.

I quattro tipi di memoria sono classificati come segue:

  • Cablato: utilizzato da un'applicazione che afferma che il blocco di memoria allocata deve rimanere fisicamente nella RAM e non essere scambiato su disco, indipendentemente dal fatto che sia stato utilizzato di recente o meno, ad esempio un'altra applicazione NON può richiedere quel particolare blocco di memoria. Gli esempi fanno parte della memoria utilizzata dal sistema e quella utilizzata dalle macchine virtuali.

  • Attivo e inattivo: si tratta della memoria utilizzata di solito dalle applicazioni in modalità utente, in cui sono scambiabili su dischi. "Attivo" significa che è stato utilizzato di recente e "Inattivo" significa che non è stato utilizzato di recente. Il sistema operativo quindi sostituisce prima le pagine inattive, quindi le pagine attive in seguito, se necessario.

  • Memoria libera: memoria non utilizzata. Questo viene utilizzato per altri scopi come la memorizzazione nella cache del disco rigido.

Se la tua domanda è: "In una situazione terribile in cui la memoria è inadeguata, in quale ordine il sistema tenterebbe di allocare memoria a una nuova applicazione?", La sequenza sarebbe quella di allocare

memoria libera → memoria inattiva → memoria attiva

In un certo senso, anche la memoria utilizzata di recente potrebbe essere paginata. La parte "cablata" è ciò che non verrebbe eseguito il paging a tutti i costi.

Nei sistemi moderni, tuttavia, è piuttosto improbabile che la memoria attiva venga paginata poiché abbiamo molta RAM disponibile.


Ora hai reso questa domanda più complicata di quanto dovesse essere parlando degli altri tipi di memoria. Quindi ora devo chiedere informazioni sulla memoria attiva o inattiva. Ho sentito che la memoria inattiva è in realtà memoria libera. Di cosa si tratta. La memoria attiva è anche memoria libera? Confronta e contrapponi la memoria attiva alla memoria inattiva.
tony_sid,

1
Ho sentito che la memoria inattiva è semplicemente cache nel caso in cui un programma che è stato chiuso viene riavviato. Se questo è vero, allora perché deve essere messo sul disco?
tony_sid,

1
Hai sentito qualcosa di sbagliato. All'applicazione chiusa verrà liberata la memoria a meno che qualcosa non sia seriamente sbagliato nell'architettura della memoria.
bubu,

2
risposta fantastica! +1
posdef

1
@tony_sid una vecchia discussione ma quello che hai sentito è corretto. Come menzionato nel supporto Apple "Tuttavia, se apri Mail prima che la sua memoria inattiva venga utilizzata da un'altra applicazione, Mail si aprirà più velocemente perché la sua memoria inattiva viene convertita in memoria attiva, invece di caricarla dall'unità più lenta."
Gaurav,
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.