Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

Proč je ve Windows Mobile 5.0 Persistent Storage (PS)?

Pavel Koza (4761)|18.7.2005 11:42
http://blogs.msdn.com/windowsmobile/archive/2005/07/14/438991.aspx

Jak už asi víte, u poslední verze systému Windows Mobile 5 došlo k dramatické změně práce s pamětí. Stručně řečeno, všechny informace jsou ve FlashROM, která je odolná proti výpadku napájení a RAM se používá pouze pro běh aplikací. Poněkud skryty však zůstávají i další výhody tohoto řešení. Na Blogu vývojářů WM5 se objevil článek, který na to upozorňuje.

Jestlipak víte, proč jsme dosud neměli Pocket PC zařízení s 256MB RAM? Ne, není to chyba výrobců. Je to problém s malou baterií - s rostoucí kapacitou paměti zároveň přímo úměrně roste proud nutný k neustálému obnovování informací v paměťi uložených, jak jsem o tom ostatně psal v tomto článku. No jo, řeknete si, ale taková paměť toho přece nemůže potřebovat tolik... OMYL!

Ale popořádku. Microsoft má na výrobce Pocket PC jeden požadavek (tedy, ono jich bude asi víc, ale nás zajímá právě tento). A sice, že od chvíle, kdy zařízení zahlásí, že už má málo energie a následně se vypne, musí být data v RAM zásobována ještě minimálně 72 hodin. A teď kontrolní otázka - kolik myslíte, že musí zůstat energie u běžné 1000mAh baterie, aby byla zásobována paměť 128MB plných 72 hodin? 5%? 10%? Ne, plná polovina! 128MB si totiž za 72 hodin vezme 500mAh, tedy přesně polovinu kapacity baterie. To je plýtvání, že?
Mimochodem, proč 72 hodin? Prý to je proto, aby když v pátek večer zjistíte, že zařízení je vybité a nabíječka je v práci, tak abyste v pondělí ráno stále měli data v pořádku:)

Pokud data přesunete do FlashROM (Persistent Storage), zabijete tak dvě mouchy jednou ranou. Jednak už nebudete zbytečně plýtvat kapacitou baterie pro ochranu dat. Když bude baterie prázdná, jednoduše zařízení nebudete moci používat. Až ji dobijete, zařízení nabootuje a můžete pracovat dál (přijdete akorát o neuložená data v RAM). Druhá výhoda pak spočívá v tom, že na rozdíl od RAM je kapacita FlashROM na kapacitě baterie nezávislá - 64MB FlashROM má stejné požadavky jako 512MB FlashROM atd. Takže iPAQ hx10000 tak může mít klidně 512MB FlashROM (kde 450MB bude pro uživatele) a stále 64MB RAM pro běh aplikací (což je velikost víc než dostatečná).

Pokud jde o nevýhody, je zde více méně jen jedna. Je jí nižší rychlost FlashROM především při zápisu. V porovnání s výhodami to ale není věc, která by měla naši radost kalit:)
Toksa (13)|18.7.2005 13:10
Takze pokud i ted vsechny aplikace instaluju do flash pameti (jak na kartu, tak do "storage"), tak by stacilo, aby nejaky koumeles napsal utilitku "total off", ktera by :

1) Korektne ukoncila vsechny aplikace (cili ty chytrejsi by mohly automaticky ulozit svoje soubory)

2) Uplne vypnula zarizeni - tedy i obnovovani RAM.

Tim by se ve vypnutem rezimu totalne setrila baterie.

Problem asi je, ze WM2003SE si stejne neco uklada do RAM (veci ve Windows\System, systemove databaze, registr, ...). Ale toto by ta utilitka asi mohla odkopirovat do flash a po opetovnem zapnuti pristroje zase dat zpatky (takovy jednoduchy quickbackup/restore).

Ostatne az na to totalni vypnuti vcetne obnovovani RAM to tak nejak delam - vsechny aplikace mam nainstalovane ve flash pameti a mam nastaven automaticky backup na 23:00 (sprite backup). SpriteBackup udela zalohu s priponou EXE, ktera se sama obnovi (bez nutnosti mit nainstalovany backupovaci soft). Jelikoz v RAM neni nic nainstalovano, je soubor zalohy maly a obnova trva chvilku.

Takze kdyby ten SpriteBackup po provedeni teto zalohy byl schopan uplne "odpojit baterii", bylo by vse OK. Jeste kdyby to zarizeni byo schopne (rano) po zapnuti pristroje automaticky pustit to EXE posledni zalohy a tim znovu pripravit stroj k praci. Krasne by se usetrila baterie (dejme tomu 8 hodin standby). A to by slo jednoduse zaridit pomoci ExtROM (do ktere by se tan backup delal - alespon by konecne mela nejaky smysl) a v konfigu by se dalo automaticke pusteni toho zalohovaciho EXE.
beecher (9270)|18.7.2005 13:44
Coz cele tezko pujde, protoze byste musel kazde rano prochazet tim nastavovacim koleckem po kazdem HR, tedy kalibraci, naucenim se Tap&Holdu, casove zony atd...
Navic zadny backup nezabije bezici procesy kernelu a dalsich ve WM... ;)
JiH_ce4you (149)|18.7.2005 15:39
[QUOTE="Toksa"]Takze pokud ...[/QUOTE]

Také si teď na 2k3SE instaluji pokud možno vše na Flash/Card.

Ale tady je řeč no WM5 :-)
Ve 2k3SE je spousta věcí v RAM, cca 11MB ihned po HR (nebudu všechny ty věci jmenovat).
Ve WM5 budou i tyto systémové věci ve FlashROM.

To co říkáš mi maličko připadá jako míchání hrušek a jablek :-)
Pro 2k3SE se situace nemění a co jsi dělal do teď, budeš moci dělat nadále, aneb co bude v budoucnu možné jsi mohl až do teď.

Nicméně uvidíme, jestli ve WM5 bude možné kompletní vypnutí. Teoreticky by se úplné vypnutí mělo chovat po zapnutí jako soft reset (jen bude chvilinku déle trvat s ohledem na pomalejší FlashROM).
Avšak nevím, zda se zařízení samo o sobě umí přepnout do "mrtvého" režimu. Zda se umí uvést do stavu, kdy je paměť nenapájena.

Nesmíme však zapomínat, že v takovém režimu NEMŮŽE FUNGOVAT JAKÝKOLIV ALARM.

Jirka
Toksa (13)|18.7.2005 15:53
Samozrejme, ze nemuze fungovat jakykoli alarm. Ale vlastne - muze. Pokud systemove hodiny neco takoveho hardwarove podporuji. U nekterych PC si take mohu v BIOSu nastavit, kdy se maji zapnout. A do te doby nebezi ani Windows, ani se nenapaji RAM, atd... Takze zalezi na tom, co MS da do hardwarovych specifikaci. A samozrejme nastaveni hodin/alarmu v Settings muze zapisovat tyto udaje do (obdoby) CMOS.

Stejne tak bys mohl rict, ze u PhoneEdition v uplne vypnutem stavu nemuze bezet telefon (nepujde prijmat hovory). Ale to nutne take neni pravda - telefon ma vlastni chip, vlastni pamet, atd.... takze ten bezet bez ziveni systemove RAM teoreticky muze - akorat asi bude nutne pred prijetim hovoru system nastartovat (jen je otazkou, jak rychly ten proces bude).
Stejne tak teoreticky muze bez napajeni RAM bezet i WiFi a pri zachyceni odpovidajiciho signalu provest "WakeOnLan". Ostatne ruznych moznych"WakeOn" by se pak pri uplnem vypinani PDA naslo hodne (Bluetooth, SMS, PhoneCall, KeyPress, ScreenTap, ...).

Instalace vseho do flash v WM5 stavi do humorneho svetla vsechny ty skarohlidy v techto diskusich, kteri vzdy namitali, ze to je priserne pomale. Vetsina lidi zde odmitala instalovat aplikace do Storage (MDA2), nebo nedej boze vyuzit i ExtROM jako dalsi storage (na co taky ExtROM, kdyz mam vzdy maximalne den stare EXE ze SpriteBackupu, ktere mi system zrestoruje kompletne a ne jen polovicate, jako pri reinstalaci z ExtROM).
Do divneho svetla to stavi i autory vsemoznych pluginu do Today, kteri rovnez (alibisticky) doporucovali instalaci do RAM (kvuli rychlosti).
beecher (9270)|18.7.2005 15:59
Ano, zarizeni s WM5 bude/by melo byt mozne kompletne vypnout (asi dlouhy stist tlacitka Power), navic jak tak odhaduji jiz napr. nebude u novych zarizeni potreba zalozni baterie...
Asi takto, zarizeni bude znat 3 stavy behu - zapnuty, suspend (stejny stav jako ted, kdy je v podstate PDA tak trochu zive - reaguji alarmy) a uplne vypnuti, kdy bude preruseno napajeni RAMky PDAcka a kdy po zapnuti je defacto proveden soft-reset...
Pak bude samozrejme jeste mozny tzv. Master reset, tak jak je znamy ze WM Smartphone, coz je podobne hard-resetu, ale bude pri tom smazana FlashROMka...
JiH_ce4you (149)|18.7.2005 16:26
[QUOTE="Toksa"]Samozrejme ...[/QUOTE]

To co píšeš právě předpokládá to, co jsem psal. Zda zařízení umí běžet polovičatě - paměť a nepotřebné periferie nenapájené a "Bios" napájený. Plus zda "Bios" umožňuje wake up na alespoň jeden čas. Tento čas by mohl systém vždy při nastavení alarmu zkontrolovat a případně zaktualizovat vždy na ten nejbližší ve "frontě".

Myslím, že velká část záleží na tom, na co jsou naše zařízení připravena a jak byl výrobce důvtipný a předpokládavý.

No, uvidíme :-)

J.
JiH_ce4you (149)|18.7.2005 16:30
[QUOTE="beecher"]Ano, zarizeni [/QUOTE]

Myslím, že záložní baterie bude stále třeba, aby uživatel mohl vyměnit hlavní baterii bez nutnosti ukládání/přerušování = soft resetu.

Jirka
Toksa (13)|18.7.2005 16:36
JiH: A v cem by jako ten softreset mel vadit? Velka cast uzivatelu ho i tak dela nekolikrat denne ;-)
JiH_ce4you (149)|18.7.2005 17:38
Ano, i já často restartuji :-) Ale nesmíme být sobci :-)

Když má někdo ve vlaku rozpracovanou práci, otevřené kalkulátory, excel, textový procesor do kterého si vypočítaná čísla přepisuje, nebo pokud má rozehranou šachovou partii, případů je mnoho.

Proto si myslím, že záložní baterie eliminuje zbytečné, někdy nepříjemné resety.

Je otázka, kolik lidí má více baterií :-)

Navíc si myslím, že v současnosti většina těch resetů probíhá z důvodu honby za volnou RAMkou. Tato potřeba se u WM5 díky plnému uvolnění RAM přeci jen zmenší :-)

Jirka
hybo (3107)|18.7.2005 17:41
krom toho tezko zalozni baterie udrzi display a celou desky pod napetim, takze to bude jako u mobilu..vyndas baterii=vypnuti a SR...krom toho si ale myslim, ze zalozni baterie bude porad potrebna treba na zalohu hodin a datumu ;)
Toksa (13)|18.7.2005 17:43
JiH: Velmi zalezi na podpore systemu. Predpokladam, ze slusny system pred "šadaunem" posle bezicim aplikacim zpravu, ze se chysta vypnuti pocitace. Ty pak mohou dle potreby rozpracovane soubory ulozit - a nejde jen o rozepsany dokument, ale treba prave i o stav rozehrane sachove partie. Ostatne preci ani ve WM2003SE se pri softresetu take neztrati rozehrana partie Solitairu, ne?
hybo (3107)|18.7.2005 17:50
ono to "vypnuti" nemusi vybyt vypnuti ala "shutdown", ale muze byt ala "hibernate to disk"....to je pak vse jinak...samozrejme, pri vyndani baterie za chodu nic takove nemuze nastat, to nastane klasice "shutdown without waiting" ;)
Toksa (13)|18.7.2005 18:02
Hybo: Leda ze by v takovem pripade byla pouzita vnitrni zalozni knoflikova baterie jako "UPS", system by vse nepotrebne (displej, zvuk, wifi, bt, ...) odpojil a provedl by rychle ten rizeny shutdown ci suspend ;-)
JiH_ce4you (149)|18.7.2005 18:06
Toksa: pri softresetu se ztratí vše okamžitě. Vše, co nebylo předtím manuálně nebo periodicky uloženo. Stisknutím soft resetu se nic neuzavírá, proste fik a konec. Od toho je to reset - když se něco kousne, aby byla cesta ven :-) a ne aby se čekalo na ukončení kouslé aplikace ;-)

Hybo: předpokládal jsem samozřejmě, že před výměnou hlavní baterie by člověk stiskl power a tím by zařízení suspendoval ("hibernoval") tak jako je to ted u 2k3SE. Pak by provedl výměnu baterie (paměť drží záložní baterie), pak by zařízení spustil ("odhibernoval") a měl by vše tak jako při suspendu - kalkulátory, procesory, editory, PIM otevřený někde, mapu, no nebudu to rozkecávat, chápete co myslím :-) Co se týče hibernace jako takové, tak by to asi také šlo (systémem), ale muselo by se někam uložit 64/128MB RAMky, takže leda na SD kartu. Ale ano, dovedu si i tuhle funkci představit ...

Jirka
hybo (3107)|18.7.2005 18:06
[QUOTE="Toksa"]Hybo: Leda ze by v takovem pripade byla pouzita vnitrni zalozni knoflikova baterie jako "UPS", system by vse nepotrebne (displej, zvuk, wifi, bt, ...) odpojil a provedl by rychle ten rizeny shutdown ci suspend ;-)[/QUOTE]

zni to hezky, ale pochybuji, protoze jen zaloha RAMky bez prace systemu a nemluve treba o WiFi, vydrzi nanejvis par minut...proc je tomu tak se doctes v dnesnim prispevku c. 1 tohoto threadu
chromos (116)|18.7.2005 23:26
[QUOTE="Pavel Koza"]
...Pokud jde o nevýhody, je zde více méně jen jedna. Je jí nižší rychlost FlashROM především při zápisu... [/QUOTE]
Doufejme, že se HP naučí ve svých nových zařízeních s WM 5 udělat flash takovou, která nebude mít další "nevýhody", viz problémy s filestore nejen u majitelů rx3715 :sarcastic:
Lada Dekany (130)|19.7.2005 12:38
Tak az ted vidim, jak pokrokove je me TREO 650. TO ma PS ji ve vybave.
Vydrz telefonu je 5 dnu!! kdyz moc nevolam:))
chromos (116)|20.7.2005 07:08
[QUOTE="Pavel Koza"]
... A teď kontrolní otázka - kolik myslíte, že musí zůstat energie u běžné 1000mAh baterie, aby byla zásobována paměť 128MB plných 72 hodin? 5%? 10%? Ne, plná polovina! 128MB si totiž za 72 hodin vezme 500mAh, tedy přesně polovinu kapacity baterie. To je plýtvání, že?...[/QUOTE]
Tak si to zkusme: kapacita baterie je 1440mAh, plně nabitá vydrží napájet 18,8h (i s rezervou 72h standby). Snížím-li standby na 24h, výdrž se zvýší o 1,7h. Vezme-li si tedy mých 64MB RAM při vypnutém ipaqu 250mAh/72h (jak je uvedeno, spotřeba klesá lineárně s velikostí RAM), což je 167mAh/48h a 48h standby odpovídá 1,7h zapnutému, vyplývá z toho, že kapacita baterie je 20/1,7*167=1960mAh. Což je chyba cca 30%. Takže to je skutečně tak.

Pavel Koza (4761)|20.7.2005 08:14
Predpoklad je to dobry, ale nejsem si jisty, jestli ta cisla, ze kterych vychazite, jsou uplne presna. Nevim, jestli iPAQ nejak logicky a podle zkusenosti upravuje v prubehu dnu a tydnu tento odhad, ale tak i tak jde o ODHAD:)
beecher (9270)|20.7.2005 08:34
Asi jsem blbej, ctu ten vypocet asi uz po pate, ale nejak se stale nemuzu dopidit, co tim basnik chtel rict? Ze ma MS pravdu?
chromos (116)|20.7.2005 22:48
To Pavel Koza: je mi jasné, že ipaq zajisté neukazuje nějak extra přesné hodnoty, šlo mi jen o odhad. Ne, že bych microsoftu, potažmo vám, nevěřil, prostě se mi nezdálo (inu, HW laik), že by měla RAMka takovou spotřebu. Tak jsem si to pro jistotu "by oko" spočítal.

To beecher: ano, tím jsem chtěl říci, že má microsoft pravdu.:)
neoxo (133)|23.7.2005 08:25
ak chce niekto usetrit bateriu staci:
full zaloha na kartu
presunut HR tlacitko do OFF a nechat tak.
takto je uplne odpojene a potom staci uz len po zapnuti obnovit zalohu
hybo (3107)|23.7.2005 10:16
[QUOTE="chromos"]

To beecher: ano, tím jsem chtěl říci, že má microsoft pravdu.:) [/QUOTE]

boded by to nesouhlasilo, kdyz ms na tom vypoctu a aplikaci pracovalo :D