Upgrade do WM 5.0 i masa kłopotów

25 kwiecień 2006 Autor :   Kańczugowski, Jakub
ilustracja Być może obiła Wam się o uszy informacja, na temat rozpaczy użytkowników palmtopów Dell Axim X50v, którzy dokonali upgrade'u systemu do Windows Mobile 5.0 for Pocket PC. Wielu z nich szybko powróciło do okienek WM 2003 SE for Pocket PC, gdyż na nowym systemie Aximy pracowały tragicznie wolno. Inni natomiast, nie mogąc doczekać się odpowiedniej poprawki przygotowanej przez producenta, nie dali za wygraną i rozpoczęli własne śledztwo. Udało im się ustalić co powoduje taki nagły spadek wydajności. Jest to proces filesys.exe, a dokładnie jeden z jego składników o nazwie Compaction Thread. W kilka miesięcy później ten sam problem dotknął użytkowników innych PDA, których producent udostępnił upgrade do WM 5.0, a mianowicie posiadaczy HP iPAQ hx4700. Nikt jednak nie wiedział co to jest Compaction Thread, do momentu gdy jeden z programistów Microsoftu, na swym blogu nie opisał jego znaczenia.
Otóż jest to specjalny proces odpowiadający za optymalizację szybkości zapisu danych w pamięci Flash ROM, w której znajduje się nie tylko system, ale i obszar pamięci dyskowej nowych okienek. Pamięć ROM typu NOR lub NAND ma jeden duży plus - nie wymaga ciągłego dostarczania energii do podtrzymywania jej stanu. Jest jednak znacznie wolniejsza od RAMu, szczególnie w kwestii wymazywania danych. NAND wypada tutaj lepiej od NOR, gdzie proces ten może trwać nawet dwie sekundy. W pamięci Flash ROM nie można wymazać bowiem pojedynczych sektorów (jak np. na dysku twardym lub w pamięci RAM) - trzeba kasować od razu cały blok, na który składa się zazwyczaj od 128 do 256 kilobajtów. Proces kasowania każdych 128KB trwający do 2 sekund, spowodowałby duży spadek wydajności systemu. Dlatego programiści Microsoftu wpadli na pomysł oznaczania takich sektorów do skasowania jako "nieprawidłowych" i wpisywania nowych informacji do pustego obszaru pamięci. Gdy jednak taki nie zapisany wcześniej obszar pamięci ROM zostanie już w pełni wykorzystany, to trzeba rozpocząć odkładany przez ten cały czas proces kasowania "nieprawidłowych" bloków. Odpowiada za to właśnie Compaction Thread.

Teoretycznie aktywuje się on w momencie, gdy system operacyjny pracuje w trybie jałowym, czyli gdy czytamy np. dokument Worda i procesor nie jest obciążony. Zadaniem tego procesu jest kasowanie bloków oznaczonych wcześniej przez system flagą "nieprawdiłowy", ale również defragmentacją pamięci, czyli łączeniem danych z bloków nie wypełnionych po brzegi i uwalnianie takich obszarów jako puste. Czasem jednak, gdy system cały czas jest zajęty przez dużą aktywność użytkownika i nie ma kiedy uruchomić procesu sprzątania pamięci, dochodzi do momentu, w którym nie ma już wolnych bloków. Wtedy to użytkownik zauważa chwilowe spowolnienie pracy PDA, gdy ten rozpoczyna awaryjne kasowanie "nieprawidłowych" bloków. Nie powinno to trwać jednak dłużej niż kilka sekund. Nie wiadomo czemu proces ten na wymienionych wcześniej palmtopach uruchamia się wyjątkowo często i trwa wyjątkowo długo, sprawiając, że system staje się wolny jak żółw. Tym bardziej dziwny jest fakt, że na ten problem nie narzekają osoby posiadające urządzenia, gdzie Windows Mobile 5.0 for Pocket PC instalowany jest już standardowo, czyli te PDA produkowane już z myślą o nowych okienkach.

Mechanizm zapisywania informacji w nowych pustych blokach, nad kasowaniem i nadpisywaniem ciągle tych samych obszarów, przynosi jeszcze inne, dodatkowe korzyści. Za jego sprawą obszar pamięci Flash ROM jest równomiernie zużywany. Pamięć typu NAND i NOR ma bowiem ograniczoną liczbę cykli zapisu i odczytu, co skończyć by się mogło szybkim zużyciem niektórych bloków. Teoretycznie pamięć ROM można wymazać około miliona razy. Jeśli blok ma 256 kilobajtów, to jest ich 256 w kości o pojemności 64MB. Dzięki opisanej wyżej procedurze mamy możliwość wykonania około 256 milionów operacji kasowania (kasowane są pojedyncze bloki). Jak szybko zużyje się ten obszar, zależy od schematu użytkowania PDA, czyli od tego jak często zmieniacie dane w pamięci Flash ROM. Osoby dajmy na to nie sprawdzające dziesiątek aplikacji w swym urządzeniu, instalując je wszystkie do pamięci wewnętrznej, prawdopodobnie nigdy nie doczekają momentu zablokowania poszczególnych zużytych fragmentów ROMu. Natomiast w przypadku bardzo intensywnego użytkowania, czas życia pamięci ROM może wynieść do kilku lat.

Niestety ów programista Microsoftu nie potrafi wyjaśnić dlaczego na tych dwóch modelach PDA, proces ten powoduje tak duże obciążenie systemu. Miejmy nadzieję, że producenci rozwiążą jakoś ów problem i osoby, które wydały nie małą sumkę na upgrade do WM 5.0, będą mogły w końcu cieszyć się pełną funkcjonalnością nowych okienek na swych PDA. Oryginalna treść tego artykułu, wraz z ciekawymi komentarzami internautów, dostępna jest na witrynie Windows Mobile Team Blog.


O Serwisie

Wortal PDAclub.pl to serwis internetowy zajmujący się tematyką technologii mobilnych. U nas znajdziesz najnowsze informacje o smartfonach, tabletach, smartwatch i innych urządzeniach mobilnych pracujących zarówno pod kontrolą Apple iOS jak i Google Android czy też Windows. PDAclub.pl to także jednao z najstarszych forów internetowych, gdzie każdy użytkownik znajdzie fachową pomoc.

PDAclub POLECA


W ramach naszej witryny stosujemy pliki cookies w celu świadczenia usług na najwyższym poziomie, w tym w sposób dostosowany do indywidualnych potrzeb. Korzystanie z witryny bez zmiany ustawień dotyczących cookies oznacza, że będą one zamieszczane w urządzeniu końcowym. Można dokonać w każdym czasie zmiany ustawień dotyczących cookies. Więcej szczegółów w naszej Polityce Prywatności. Akceptuję otrzymywanie plików cookies z serwisu pdaclub.pl. Akceptuję