Comment fonctionne la gestion de la mémoire sous Mac OS X?

12

Je suis un étudiant universitaire qui a essayé d'écrire un article de comparaison et de contraste entre la façon dont Windows, Linux et Mac OS X gèrent la mémoire. Par exemple, avec Windows, c'est la mémoire physique (RAM) et la mémoire virtuelle (fichier d'échange). Comment un Mac fait-il cela?

Jusqu'à présent, les seules informations que j'ai trouvées sur le sujet ont été des gens criant sur l'une des versions de Mac OS X et sur la façon dont elle avait des fuites de mémoire. Veuillez garder à l'esprit que je ne suis pas un utilisateur Mac, donc je ne cherche pas d'instructions sur la façon de vérifier la mémoire utilisée, etc. Un lien vers un article ou un document expliquant comment cela fonctionne serait le plus apprécié.

J'ai trouvé ceci: http://www.macosxautomation.com/applescript/apps/memory.html , mais il traite plus de la récupération de place dans Objective-C que de la gestion de la mémoire interne du système d'exploitation.

AppNoob
la source
Ne gardons pas ce fil pour se concentrer sur la gestion de la mémoire OS X des versions 10.0 à 10.8 Mountain Lion. La version 10.9 "Mavericks" a considérablement changé la gestion de la mémoire en ajoutant de la mémoire compressée et des classes supplémentaires de pages de mémoire et mérite probablement sa propre question.
bmike

Réponses:

17

Apple documente assez bien les niveaux les plus bas du noyau Mach et du sous-système de mémoire virtuelle sur le Web dans le cadre de sa documentation pour les développeurs.

Depuis que ce noyau a été développé par Carnegie Mellon University , vous pouvez trouver des dizaines d' articles le décrivant assez facilement.

Si ce niveau est trop bas pour votre article, nous avons facilement 10 bonnes questions ou plus couvrant davantage la vision d'un non-programmeur de la gestion de la mémoire OS X. Vous devrez probablement faire la synthèse de la façon dont OS X se compare aux deux autres OS, car je n'ai pas vu de réponse ici à ce jour.

Concentrez-vous sur les balises de et pour les meilleurs résultats dans votre recherche:

Par le grand nombre de questions sur la «mémoire inactive», vous pouvez vous concentrer sur la partie de la gestion de la mémoire d'OS X qui est la plus déroutante pour les gens et rassemble donc le plus de questions ici à la recherche d'explications.

bmike
la source
3

Mac OS X fournit un système de mémoire virtuelle paginée à la demande très similaire à celui fourni par BSD Unix.

hotpaw2
la source
1
OSX est basé sur Mach Kernel et sa VM n'est pas BSD Unix, Les programmes et appels au-dessus du noyau sont basés sur BSD mais pas la VM
user151019