Come funziona la gestione della memoria in Mac OS X?


11

Sono uno studente universitario che ha cercato di scrivere un documento di confronto e contrasto tra come Windows, Linux e Mac OS X gestiscono la memoria. Ad esempio, con Windows, è la memoria fisica (RAM) e la memoria virtuale (file di paging). Come fa un Mac a fare questo?

Finora, le uniche informazioni che ho trovato sull'argomento sono state le persone che urlavano su una delle versioni per Mac OS X e su come aveva perdite di memoria. Tieni presente che non sono un utente Mac, quindi non sto cercando istruzioni su come controllare la memoria in uso, ecc. Un collegamento a un articolo o documento che spiega come funziona sarebbe più apprezzato.

Ho trovato questo: http://www.macosxautomation.com/applescript/apps/memory.html , ma si occupa maggiormente della garbage collection in Objective-C rispetto alla gestione della memoria interna del SO.


Non lasciare che questo thread sia focalizzato sulla gestione della memoria di OS X dalle versioni dalla 10.0 alla 10.8 Mountain Lion. La versione 10.9 "Mavericks" ha sostanzialmente cambiato la gestione della memoria aggiungendo memoria compressa e ulteriori classi di pagine di memoria e probabilmente merita la sua stessa domanda.
bmike

Risposte:


17

Apple documenta i livelli più bassi di Mach Kernel e il sottosistema di memoria virtuale abbastanza bene sul web come parte della documentazione dello sviluppatore.

Poiché quel kernel era sviluppato dalla Carnegie Mellon University , puoi trovare dozzine di documenti descrivendolo abbastanza facilmente.

Se questo è un livello troppo basso per la tua carta, abbiamo facilmente 10 o più domande buone che coprono più di una visione di non-programmatore della gestione della memoria OS X. Probabilmente dovrete fare la sintesi di come OS X si confronta con gli altri due OS, visto che non ho visto che abbia risposto qui fino ad oggi.

Concentrarsi sul e tag per i migliori risultati nella tua ricerca:

Con il gran numero di domande di "memoria inattiva", è possibile concentrarsi sulla parte della gestione della memoria di OS X che è più sconcertante per le persone e quindi raccoglie la maggior parte delle domande qui alla ricerca di spiegazioni.


3

Mac OS X fornisce un sistema di memoria virtuale a richiesta della domanda molto simile a quello fornito da BSD Unix.


1
OSX è basato su Mach Kernel e la sua VM non è BSD Unix, i programmi e le chiamate sopra il kernel sono basati su BSD ma non sulla VM
Mark

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.