Jak działa zarządzanie pamięcią w Mac OS X?

12

Jestem studentem uniwersytetu, który próbuje napisać dokument porównawczy i porównawczy między tym, jak Windows, Linux i Mac OS X zarządzają pamięcią. Na przykład w systemie Windows jest to pamięć fizyczna (RAM) i pamięć wirtualna (plik stronicowania). Jak Mac to robi?

Jak dotąd jedyne informacje, które znalazłem na ten temat, to ludzie krzyczący na temat jednego z wydań dla Mac OS X i tego, jak przecieka pamięć. Pamiętaj, że nie jestem użytkownikiem komputera Mac, więc nie szukam instrukcji, jak sprawdzić używaną pamięć itp. Doceniony zostanie link do artykułu lub dokumentu wyjaśniający, jak to działa.

Znalazłem to: http://www.macosxautomation.com/applescript/apps/memory.html , ale dotyczy to bardziej wyrzucania elementów bezużytecznych w Objective-C niż zarządzania pamięcią wewnętrzną systemu operacyjnego.

AppNoob
źródło
Nie pozwól, aby ten wątek koncentrował się na zarządzaniu pamięcią OS X od wersji 10.0 do 10.8 Mountain Lion. Wydanie 10.9 „Mavericks” znacząco zmieniło zarządzanie pamięcią poprzez dodanie pamięci skompresowanej i dodatkowych klas stron pamięci i prawdopodobnie zasługuje na własne pytanie.
bmike

Odpowiedzi:

17

Apple dokumentuje najniższe poziomy jądra Macha i podsystemu pamięci wirtualnej dość dobrze w Internecie jako część dokumentacji dla deweloperów.

Ponieważ to jądro zostało opracowane przez Carnegie Mellon University , można z łatwością znaleźć dziesiątki artykułów opisujących je.

Jeśli jest to zbyt niski poziom dla twojego papieru, mamy łatwo 10 lub więcej dobrych pytań obejmujących więcej poglądów nie-programistycznych na zarządzanie pamięcią OS X. Prawdopodobnie będziesz musiał przeprowadzić syntezę porównania OS X z pozostałymi dwoma systemami operacyjnymi, ponieważ do tej pory nie widziałem tej odpowiedzi.

Skoncentruj się na znacznikach i , aby uzyskać najlepsze wyniki wyszukiwania:

Sama liczba pytań „nieaktywnej pamięci” pozwala skupić się na części zarządzania pamięcią OS X, która jest najbardziej zagadkowa dla ludzi i dlatego zbiera tutaj najwięcej pytań w poszukiwaniu wyjaśnień.

bmike
źródło
3

Mac OS X zapewnia system pamięci wirtualnej stronicowany na żądanie, bardzo podobny do tego dostarczanego przez BSD Unix.

hotpaw2
źródło
1
OSX jest oparty na jądrze Macha, a jego VM nie jest Uniksem BSD, programy i wywołania powyżej jądra są oparte na BSD, ale nie VM
użytkownik151019