Oprogramowanie

Windows 8: zarządzenie pamięcią RAM w aplikacjach Metro

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.

windows 8 metro nowe zarządzenie pamięć ram zawieszone aplikacje windows 8 jak wygląda zarządzenia pamięcią ram w aplikacjach metro
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.

windows 8 zarządzenie ram metro zawieszone aplikacje na dysku
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.

windows 8 Microsoft zarządzenia ram aplikacje metro na dysku zwolnienie miejsca na klasycznych wygląd task manager
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.

schemat działanie zarządzania pamięcią ram w metro wygląd przed i po zawieszeniu i przeniesieniu

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ć.

windows 8 proces zarządzania pamięcią z aplikacji metro ui

Więcej o Windows 8:

Źródło: msdn blog

Komentarze

42
Zaloguj się, aby skomentować
avatar
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    poprostujakub
    2
    No fajnie. Ale RAM jest tani jak barszcz. Sam mam w laptopie 8 GB. I to nie z potrzeby, a z kaprysu, bo chciałem mieć dual channel.
    • avatar
      Konto usunięte
      2
      Przeczuwam, że ludzie i tak będą wyłączać ten bajer zaraz po instalacji Win8, bo będzie zamulać. Podobnie było z SuperFetchem w Viście. :)
      • avatar
        kaalus
        1
        Jakieś brednie. Przecież taki system pamięci wirtualnej już od wieków istnieje w Windows (dokładnie od Windows NT 3.1 - 1993 rok!). Najmniej uzywane strony pamięci są kopiowane z RAM na dysk i zwolniony RAM jest przypisywany aplikacji która akurat tego potzebuje. Każdy chyba widział to w działaniu - wystarczy zostawić jakąś aplikację w tle na dłuższy czas i w tym czasie robić coś pamięciożernego (np. odpalić grę albo kopiowanie wielkiego pliku). Jak potem się wróci do tej aplikacji to cała jej pamięć się wczytuje na nowo z dysku.

        Ten 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.

        • avatar
          hideo
          1
          "w cale"? powinno być "wcale"
          • avatar
            bialyikar
            0
            Czy mi się wydaje, czy to działa podobnie jak pamięć Swap w Linuksie? Z tego co wiem, w złamanym iOS kiedyś był projekt, który umożliwiał stworzenie pamięci Swap na dysku, ale nie było to polecane, bo pamięć w iPhone (i pewnie innych urządzeniach mobilnych) nie nadawała się do takiego zapisu danych. Jeśli dobrze myślę, to jak to ma się sprawdzić w Metro UI? W tych telefonach będą ładowane 2 rodzaje pamięci (jeden specjalnie na Swap), czy jak?
            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ęć.
            • avatar
              Konto usunięte
              0
              Mam wrażenie, że kolejny system, na ,który dopiero będę czekał to WIN9 bo to co teraz robią przypomina mi sytuację jak przechodzili z XP na Viste (duży szum medialny - a efekty - marne).
              • avatar
                Konto usunięte
                -1
                ŁAhahahah. Czyli w W8 jak korzystam z pełnego proca i 65% RAMu to komp będzie mi jeszcze wolniej chodził ???
                Dobre to !!!
                • avatar
                  Konto usunięte
                  -1
                  Tak czy siak to już prawdopodobnie ostatni windows, więc zostało tylko podsumowanie i stwierdzenie, że wersje XP i 7 były najlepsze, bo na 8 nie ma chyba co liczyć (chodzi o PC).
                  • avatar
                    Konto usunięte
                    -1
                    wygląd to nie problem na pewno będą jakieś programy i się to przerobi. Problemem są sterowniki znowu zmuszą nas do wymiany sprzętu a to drukarka a to pad albo myszka zawsze coś się wypnie na nas
                    • avatar
                      Ziuta
                      -2
                      I tak ten Win 8 będzie badziewnym systemem bo Microsoft idzie w stronę urządzeń mobilnych a nie PC...
                      • avatar
                        Rav3n
                        -2
                        Lol, linux ma to od jakiegoś czasu... Bravo Micro$oft! :D
                        • avatar
                          Nieznośny
                          0
                          Osobiście uważam, że do wszystkiego można się przyzwyczaić, chociaż interfejs Metro do Desktopów mi kompletnie nie pasuje i zdecydowanie jest elementem zbędnym w Windows 8 (jeśli mowa o używaniu tego, tak jak napisałem, na pececie). U mnie w firmie pracownicy dostaną szału. Dla nich coś strasznego jest jak muszą wykonać 2 kliknięcia więcej niż zwykle na jakimś elemencie. Mimo, że czynność kliknięcia w przycisk myszy to przecież błahostka. A jednak ludzie potrafią marudzić na konieczność wykonywania tej czynności jakby mieli 10km więcej przebiec. :-D
                          • avatar
                            Konto usunięte
                            0
                            Szczerze powiem że te całe metro bardzo fajnie na pc wygląda ale typu home center w połączeniu z kinect'em tam by się sprawdzały kwadraciki a tak mam nadzieje że przy instalacji dadzą wybór interfejsu może być też po.
                            • avatar
                              Konto usunięte
                              0
                              Co oznacza "zwiększenie relatywności"?