Co oznaczają słowa "brudny" i "rezydent" w odniesieniu do pamięci wirtualnej?

Rzuciłem program CS na mojej uczelni... Czy więc ktoś, kto ma pełne zrozumienie Informatyki, może mi powiedzieć: Jakie jest znaczenie Dirty i Resident, w odniesieniu do pamięci wirtualnej? i, dla punktów bonusowych, czym do cholery jest pamięć wirtualna? Używam narzędzia alokacje/vm Tracker w Instruments do analizy aplikacji na iOS.

*Hint - spróbuj wyjaśnić tak, jakbyś rozmawiał z 8-letnim dzieckiem lub kompletnym imbecylem. Dzięki. chłopaki.

Author: m0rtimer, 2011-03-03

2 answers

"Brudna pamięć" to pamięć, która została w jakiś sposób zmieniona - to pamięć, na którą garbage collector musi spojrzeć, a następnie zdecydować, co z nią zrobić. W zależności od sposobu budowania struktur danych, moduł garbage collector może oznaczać wiele pamięci jako brudne, a każdy cykl zbierania śmieci może trwać dłużej niż jest to wymagane. Utrzymanie tej liczby na niskim poziomie oznacza, że program będzie działał szybciej i będzie mniej prawdopodobne, że wystąpią zauważalne przerwy w zbieraniu śmieci. Dla większości ludzi, to nie jest problem.

"pamięć rezydentna" to pamięć, która jest aktualnie ładowana do pamięci RAM, która jest faktycznie używana. Chociaż aplikacja może wymagać śledzenia wielu różnych elementów w pamięci, może wymagać tylko niewielkiego podzbioru dostępnego w dowolnym momencie. Utrzymanie tej liczby na niskim poziomie oznacza, że aplikacja ma krótszy czas ładowania, dobrze gra z innymi i zmniejsza ryzyko, że zabraknie pamięci i zawiesi się w trakcie działania aplikacji. To jest prawdopodobnie numer, na który powinieneś zwracać uwagę, przez większość czasu.

"Pamięć wirtualna" to całkowita ilość danych, które aplikacja śledzi w dowolnym momencie. Ten numer różni się od tego, co jest w aktywnym użyciu (to, co jest używane, jest oznaczone jako "pamięć rezydentna") - system będzie przechowywać dane, które są śledzone, ale nie używane przez aplikację w innym miejscu niż rzeczywista pamięć. Może na przykład zapisać go na dysku.

 44
Author: blueberryfields,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-03 02:49:01

WWDC 2013-410 Naprawianie problemów z pamięcią wyjaśnia to ładnie. Warto obejrzeć, ponieważ wyjaśnia również niektóre praktyczne implikacje brudnej, rezydentnej i wirtualnej pamięci.

 3
Author: Robert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-04 02:30:29