Efektywna obsługa pamięci
Na swoim blogu, firma Microsoft ujawniła kolejne szczegóły funkcjonowania nadchodzącego systemu operacyjnego Windows 8. Tym razem chodzi o kontrowersyjny interfejs Metro UI, a dokładniej o sposób zarządzania pamięcią operacyjną RAM, przydzieloną zawieszonym aplikacjom Metro.
Interfejs Metro UI wprowadza istotny model funkcjonowania systemu, wykorzystujący do tego program Windows Runtime. Cechą tego modelu jest możliwość zawieszania aplikacji Metro, jeżeli nie są wykorzystywane przez użytkownika. Jest to niezwykle korzystne, gdyż pozwala na oszczędzenie pracy procesora dla innych aplikacji i zapewnia blokadę zużywania zasobów systemowych przez te aplikacje. Przekłada się to na zwiększenie kondycji systemu, relatywności czy też na dłuższą żywotność akumulatora - w przypadku urządzeń przenośnych.
Zawieszone aplikacje w pamięci RAM
Aplikacje napisane z myślą o interfejsie Metro zachowują się znacząco inaczej niż klasyczne. System Windows dla klasycznych aplikacji będzie starał się wykorzystywać zawsze najwyższy poziom wolnej pamięci operacyjnej.
Natomiast dla aplikacji Metro jest nieco inaczej. Nieużywane aplikacje będą przechodziły w stan zawieszenia. Następnie kiedy system wykryje wzrost wykorzystania pamięci RAM, a jej wolna przestrzeń osiągnie krytyczny pułap, system Windows zajmie się rozprawianiem z aplikacjami Metro.
Zawieszone aplikacje Metro po przeniesieniu na dysk
Chodzi tutaj wyłącznie o te zawieszone, więc aby uchronić pamięć operacyjną przed wyczerpaniem i tym samym, zwolnić zasoby oddając je do dyspozycji działających aplikacji. Aby tego dokonać system automatycznie zapisze na lokalnym dysku systemowym zawartość zawieszonych aplikacji, obszary pamięci aplikacji Metro z pamięci RAM będą dostępne na dysku. Zwolnione zostanie więc zajmowane przez uśpione aplikacje w pamięci RAM miejsce.
Microsoft chwali się, że dzięki swojemu projektowi różnica w testach, pomiędzy zawieszonymi aplikacjami a przeniesionymi na dysk wynosi około 250 MB wolnego RAMu.
Zawieszone aplikacje po przeniesieniu na dysk, zwolniły miejsce RAM dla działających
Niestety jak zwykle jest pewien haczyk, otóż przeniesione na dysk lokalny aplikacje Metro, w przypadku odwieszenia, zareagują znacznie wolniej niż te trzymane w pamięci operacyjnej. Dostęp do "obudzonych" programów może wynosić nawet kilka lub kilkanaście sekund. W końcu, nie ma nic za darmo.
Na koniec jednak warto podkreślić, iż podobne zachowania systemu od dłuższego czasu wykorzystywane są w mobilnych systemach operacyjnych, które na bieżąco zabijają nieużywane procesy i aplikacje, bądź też zapisują ich stan w pamięci wewnętrznej urządzenia.
W systemach Linux takie działania są znane od bardzo dawna, a sama idea swapu mocno w ostatnich lalach ewoluowała. Dlatego podkreślić należy, że wprowadzona w Windows 8 koncepcja zarządzania pamięcią RAM w Metro nie jest wcale nowa - to tak aby Microsoftowi nie przyszło do głowy jej patentować.
Więcej o Windows 8:
- Windows 8: lista skrótów klawiaturowych do nowego systemu operacyjnego
- Windows 8: premiera systemu operacyknego w rocznicę Windows 7?
- Windows 8: alternatywa dla pulpitu Metro - projekt wyglądu desktopu
- Windows 8: nowe logo systemu - ewolucja i powrót do korzeni
Źródło: msdn blog
Komentarze
42Ten system jest zresztą o wiele lepszy niż wyrzucanie całych aplikacji, ponieważ działa na poziomie strony pamięci a nie procesu. Czyli na przykład jeżeli w Photoshopie mamy otwarte 2 gigantyczne obrazki, jeden z nich zostanie automatycznie wyrzucony z pamięci podczas gdy pracjemy nad drugim.
A same zarządzanie pamięcią bardzo fajne, choć za bardzo nie różni się od konkurencji (na ile się orientuję). Programy w tle są zamrażane, aby moc procesora była dostępna dla głównej aplikacji (jak w iOS), a w razie konieczności programy w tle są wyłączane/przenoszone do Swap, aby zwolnić potrzebną pamięć.
Dobre to !!!