<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    海上月明

    editer by sun
    posts - 162, comments - 51, trackbacks - 0, articles - 8
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

    [轉(zhuǎn)]NVFS概述

    Posted on 2008-12-19 15:33 pts 閱讀(359) 評論(0)  編輯  收藏 所屬分類: Others

    NVFS概述(T5,TE2,TX,LD,Treo650,Z22)+DBCacheTool


    轉(zhuǎn)貼自NCDIGI

    為什么需要NVFS

    自從2004年底PalmOne推出第一只NVFS機器??Tungsten T5以來,后續(xù)機型無一例外地采用了NVFS系統(tǒng),象LifeDrive,Tungsten E2。等到回歸Palm的時候,又有T|X,Z22。當然,少不了Treo650。
    NVFS是什么?為什么需要NVFS?
    基本的幾點,NVFS,全名Non-Volatile File System(非揮發(fā)性文件系統(tǒng)):
    1:提供了對非揮發(fā)性閃存式內(nèi)存的支持(原來僅有ROM采用)
    2:提供了完整的本地文件系統(tǒng)(以前Palm一直被人詬病為內(nèi)存混亂)
    3:提供了內(nèi)置驅(qū)動器(支持充分利用超大容量的內(nèi)存)

    NVFS特征:

    Palm OS 5.4.x(Garnet)

    Palm OS 5.4.5:Tungsten T5,LifeDrive,Treo 650
    Palm OS 5.4.8:升級過的上述三件,還有Tungsten E2
    Palm OS 5.4.9:T|X,Z22,升級過的Treo650
    (版本號不能一一檢查,希望各位胖友指正)


    NVFS基本結(jié)構(gòu)

    以前的OS1-4,OS5,OS5.2都是采用同樣的架構(gòu):
    1:一塊NOR Flash,用于儲存Palm OS
    2:一塊SDRAM,分為
      存儲堆(Storage Heap)用于儲存用戶程序和數(shù)據(jù)
      動態(tài)內(nèi)存堆(Dynamic Heap)用于儲存程序執(zhí)行中的臨時數(shù)據(jù)

    這時,一旦電力失去時間過長,基于SDRAM本身屬性,它上面的所有數(shù)據(jù)都會被擦除。

    于是,產(chǎn)生了NVFS的必要性。斷電雖然罕見,但是一旦發(fā)生,對用戶造成的損傷是很大的。NVFS解決了這個問題。

    對于一臺NVFS機器,,同樣有兩部分:
    (下文用ROM指代一般的不可寫區(qū)域,rom指代OS)
    1:一塊NAND Flash,包括:
      引導區(qū)
      rom標記
      Overflow(超溢區(qū),是壓縮的rom)
      存儲堆標記
      存儲堆(storage heap),包括虛擬RAM區(qū)(RescoExplorer中的A盤)和磁盤(內(nèi)置驅(qū)動器,可選,如T5的INTERNAL和LD的LIFEDRIVE。 在RescoExplorer中,為B盤。注意插卡后的其他Palm卡是B盤,但有內(nèi)置驅(qū)動器的插卡后卡是C盤)
      其他部分為壞道保留。
    2:一塊DRAM,包括(DRAM也就是動態(tài)隨機存儲,SDRAM是DRAM的一種)
      ROM(在RescoExplorer中為ROM)
      數(shù)據(jù)庫緩存(DBCache)
      動態(tài)內(nèi)存堆(Dynamic Heap)
      還有一些混合內(nèi)容。
    注意:在Soft Reset開始時,DRAM是清空的。


    以前Palm的啟動過程(Hard Reset):
    引導區(qū)直接引導NOR Flash中的Palm OS,Palm OS清空RAM并寫入一些文件,并繼續(xù)引導SDRAM中的程序。Soft Reset時不修改RAM。

    NVFS-Palm的啟動過程(Hard Reset):
    首 先進行Soft Reset但是自動格式化存儲堆(storage heap)。然后引導區(qū)將NAND Flash中Overflow(壓縮的rom)解壓,并且按需要,釋放到存儲堆(storage heap)和ROM。然后ROM開始執(zhí)行,并引導storage heap中的程序。

    這解釋了現(xiàn)在Palm機器CPU越來越強重啟越來越 慢的奇怪現(xiàn)象。以前的Palm重啟速度非常快,一般瞬間-5s即可。然而由于要處理很多數(shù)據(jù),NVFS-Palm重啟很慢,象LD大概要兩分鐘(我沒用過 LD,是道聽途說的,希望有LD的朋友指正)。同時,硬啟后T5,LD在內(nèi)在磁盤里有文件,就是Overflow里釋放出來的。

    同是Flash(閃存),有什么區(qū)別?
    NOR Flash是XIP(就地執(zhí)行)式的,任何一個字節(jié)均能被直接訪問。
    NAND Flash則相反,必須512Byte一起讀出和寫入。無法直接執(zhí)行。

    所以,才不辭勞苦地把rom壓縮起來(節(jié)約空間),然后釋放到DRAM執(zhí)行。雖然多了一步,但工業(yè)上NAND Flash產(chǎn)能高,質(zhì)量好,容量大。為了提高容量,需要采用NAND Flash。

    我們以Treo 650和Tungsten T5(未升級)為例,具體說明內(nèi)存分布情況:
    Treo 650:
    NAND Flash 32MB
    引導區(qū)……………………<1MB
    超溢區(qū)(壓縮rom)……8MB
    存儲堆??虛擬RAM……24MB
    存儲堆??內(nèi)有磁盤……無

    Tungsten T5:
    NAND Flash 256MB
    引導區(qū)……………………<1MB
    超溢區(qū)(壓縮rom)……14MB
    存儲堆??虛擬RAM……64MB
    存儲堆??內(nèi)有磁盤……176MB(實際為161MB)

    兩者的
    DRAM 32MB
    ROM………………………16MB
    DBCache…………………10MB(升級后的T5為14.8MB)
    Dynamic Memory…………6MB(實際為4MB)

    NVFS中的數(shù)據(jù)存儲與程序執(zhí)行:

    基于NAND Flash糟糕的512B限制,使得空間出現(xiàn)了大量浪費。
    尤 其在OS 5.4.5中,每個數(shù)據(jù)庫的每個記錄(pdb/prc,prc其實是特殊pdb。每個pdb由一個文件頭和一系列record(記錄)組成)必須至少占據(jù) 512B。如果一個1K的文件,由100個10B的記錄組成,那么實際消耗為100*512=51.2KB。當然這是極端情況,但一般會增大2-3倍。

    在OS 5.4.8/9中,指向記錄的方法作了改進。每個512B區(qū)塊最多包含16個32B的sector(選擇子)。如果記錄一個<32B的數(shù)據(jù),只需要 一塊,剩下的空間仍然可用其他sector(選擇子)訪問。如果有一個大小為N的數(shù)據(jù),那么系統(tǒng)會找到一個恰比N大的2的冪,并消耗這么大一個空間。譬 如,128<188<256,系統(tǒng)將分配8個sector給188B的一個記錄,消耗256B空間。剩余256B仍然可用。此時,上面1K的 文件將占據(jù)100*32B=3.2K。浪費被縮小了很多。不過,系統(tǒng)仍然要讀出512B的內(nèi)容到內(nèi)存,然后從內(nèi)存中尋找對應數(shù)據(jù)。這樣開銷又大了些。不過 是值得的。

    要執(zhí)行一個程序,必須先把程序刷進DBCache里。否則,由于不能直接訪問任意字節(jié),程序無法執(zhí)行。所 以,SoftReset后第一次啟動程序會比較慢,因為程序從NAND Flash拷貝到DBCache。之后,由于程序(可能還有一些必須數(shù)據(jù)庫)一直留在DRAM里,啟動速度就絲毫不比以前的Palm慢了。

    寫數(shù)據(jù)庫的命令實際上都寫在DBCache中。只有當DmSyncDatabase執(zhí)行后,DBCache中的修改才會寫入Storage Heap。同時把不用的數(shù)據(jù)庫清除。

    (下面用RAM指代RAM虛擬區(qū))

    針對NVFS的問題:
    核心問題:DBCache

    每個程序執(zhí)行必須先進入DBCache。

    DBCache 一般只有10-11MB(即使是最大的TT5,在Warm Reset時也只有11MB剩余),正常情況還要被系統(tǒng)用去一部分(Hard Reset后的升級T5的是8.5MB)。裝上軟件后,由于啟動時,系統(tǒng)會向RAM中所有程序發(fā)出軟啟運行指令,DBCache又被耗了一些。我的TT5 正常開機是5.2MB。

    由于有的程序在正常執(zhí)行時和軟啟運行時狀態(tài)不一樣,DBCache還會被繼續(xù)消耗。當從卡上運行時,程序會直接拷入DBCache。

    如 果DBCache不夠但仍然向其中拷入文件時,會導致Fatal Exception??我想用過最新的Palm的胖友都知道這個著名畫面吧,一個黑框,標題Fatal Exception,內(nèi)容Fatal Exception ,下面有Reset字樣。還有一個較為罕見的錯誤,就是DmQueryDatabase。在SuperMiner中,DBCache不足會產(chǎn)生這個錯誤。 另外,有些程序包含一些不兼容的內(nèi)容(尤其是Hack),在操作DBCache時也會出現(xiàn)錯誤。

    尤其是OS 5.4.5,由于系統(tǒng)不會自動清理(也就是DmSyncDataBase),導致DBCache迅速耗盡。在程序調(diào)穩(wěn)定之后,找到DBCacheTool 之前,大約使用時間12h必須軟啟一次??因為馬上要Fatal Exception了。這就是TT5,Treo650老死機的根源。至于網(wǎng)上有篇文章說要刪除shim_logs,其實完全不必。因為這個文件是很正常 的。缺了這個T5容易進入按開機鍵出現(xiàn)palmOne logo然后黑屏的情況。只要用DBCacheTool,問題基本可以解決。

    對于OS 5.4.7以上版本,系統(tǒng)會自動用DmSyncDatabase清理,一般DBCache不會消耗很快。尤其是運行卡上的程序不會造成DBCache損耗。DBCacheTool一般也不用了。

    然而對OS 5.4.8,有的程序會把數(shù)據(jù)庫一直標記為使用中(其實不用了)導致DmSyncDatabase對它們失效,所以DBCacheTool Dm模式還是有效的。OS 5.4.9可以識別這些數(shù)據(jù)庫并去掉標記。

    解決DBCache不足的辦法有幾個,這里有兩個小軟件:
    DBCacheTool: 由McFile作者開發(fā)。這里是0.2a版。它可以通過兩種方式釋放DBCache:Sync(使用DmSyncDatabase)和Dm(由軟件逐個分 析DBCache中的數(shù)據(jù)庫,如認為不會再用便刷回NAND Flash然后刪掉)。還可以在軟啟時自動進行清理(不過推薦不要用,可能導致循環(huán)死機,不如進入Launcher后自己操作)

    它帶有一個DA文件,具有方便查看剩余DBCache和選擇清理的功能。
    Sync模式基本瞬時,除非垃圾太多了會需要1-2s。Dm模式清理速度為20-40s一次。

    RLock: 由Resco公司開發(fā)的。可以“鎖住”程序??把程序強行放在Dynamic Memory中,騰出DBCache。這可以釋放DBCache(因為動態(tài)內(nèi)存不大會不夠),而且有的程序由于不兼容,會直接把DBCache搞糟,鎖住 后程序會操作動態(tài)內(nèi)存而不是DBCache,就不會再出問題。程序幫助中有必須鎖的程序列表。

    還有,如上所述,DBCache的大小和 RAM中的程序是有關(guān)系的。如Picsel Brownser和Flash Player就是DBCache殺手??每個消耗2MB。而且從開機就開始。Novii Remote視數(shù)據(jù)庫數(shù),會消耗1M。各種Launcher都會消耗x00KB。TCPMP會消耗800KB-1M。Repligo有 300-500KB。Documents To Go 和CJKOS都是大戶,尤其是字體文件。不過這兩個東西大家應該留在RAM里的,只要CJKOS不要裝太多字體就好了??尤其是GB/GBK 24*24字體。


    運行一些程序的說明:

    特別吃DBCache的如Classics(大約8-9M),SharkAttack,Snails(大約7.5-8M),Arvalva(4-6M,估計運行中會增加),Edge(4-5M),My Little Tanks(4.2M)
    Classics未升級的T5是基本上不能運行的(Warm Reset下只有8.1M)

    >6M的程序如果不用Warm Reset??按住向上鍵Reset,是難以運行的。不過Warm Reset后,由于驅(qū)動沒有加載,五向鍵會失效,這是一件麻煩的事情。

    LJP和Firestorm,在NVFS機器上用UDMH也可能內(nèi)存不足。這是因為DBCache的原因。Warm Reset配合UDMH或許是個好主意。

    RescoExplorer在備份/導入時會逐漸消耗DBCache。推薦大家備份/導入30-40%左右就停止,然后繼續(xù)。因為停止時RescoExplorer會自動釋放剛才占用的內(nèi)存。(其實港版OS5.4.5 TT5配合RescoExplorer是可以備份的)

    文件系統(tǒng):

    肯定有胖友注意過RescoExplorer中有一個A:,下面有一個文件夾PALM_DM,里面的文件和RAM一模一樣(如果RescoExplorer版本太低會顯示權(quán)限不足無法訪問),而且屬性后面有個RAM值。這就是虛擬RAM的文件系統(tǒng)。
    在高版本RescoExplorer中RAM中文件屬性有個NVFS Size,就是在文件系統(tǒng)中的大小??如前所述,由于糟糕的512B,文件大小比內(nèi)容大。

    而且,PALM_DM中的文件無法刪除??被虛擬RAM系統(tǒng)給鎖定了。
    (PS: 有時這個文件夾下會出現(xiàn)ExgLocalFile_文件,這是RescoExplorer從卡向內(nèi)存拷文件時中斷的垃圾文件。一般在誤點了卡中一大文件, 然后發(fā)現(xiàn)Palm失去響應,就Reset,會出現(xiàn)這種情況。到Options->General->Tap on name ="Open",把前面勾去掉就好。如果你的內(nèi)存莫名其妙消失一大片而RAM里沒多東西,一般問題就是這個。)

    作為過渡,TT5的A:基本只有PALM_DM和Blazer臨時文件。那些系統(tǒng)可以不依賴外接卡(如桌面圖案)調(diào)用的在INTERNAL里面。
    T|X已經(jīng)在A:下面放了不少文件夾,象Blazer,媒體和Pocket Tunes都在下面有文件可操作(圖片,歌曲,網(wǎng)頁)。桌面圖案也移到了這里。可見,內(nèi)部文件系統(tǒng)正在逐漸成熟并進入應用。



    后記:花了4個小時,終于寫好了。
    當初二我看到Dell Axim50廣告知道了有PPC這種東西。于是很心動。準備上大學了去買一只。
    然后在我同學那里見到了Palm m135,被上面Warfare華麗的效果震撼了。
    于是知道了世界上有Palm這種東西。
    快到高三,由于急需圖形計算器,又不甘心TI-92+和TI Voyage 200的昂貴價格和糟糕的可擴展性,準備找只Palm或PPC來。
    然后找到了TomPDA。然后知道了Palm和PPC的恩恩怨怨。
    然 后我去PalmSource和Microsoft找了些技術(shù)文檔來比較。當看到了Zen of Palm的時候,立刻,我被Palm征服了,它完全改造了我的想法。之后我毫不猶豫地研究了Palm的機型,最后在2005的暑假入了一只TT5。很不 幸,由于在這里不夠認真,沒發(fā)現(xiàn)T5的非升級是只Bug機。
    不過很慶幸TT5是Bug機。為了擺弄它,才把Palm OS好好研究了一遍。現(xiàn)在才發(fā)現(xiàn),方便好用才是重要的。
    又很慶幸于Palm優(yōu)良的服務。這個月初,由于底部筆尖漂移,送修了。花了43.5元郵費,修好了。寄出后4天從總部發(fā)出,12天后到家。當初接線員還說要15-21工作日呢。真是保險過頭。

    盡 管Palm OS現(xiàn)在被人說成江河日下,今天又在電腦報上看到它把TT5內(nèi)存寫成16M,還有“菲菲說‘Palm的發(fā)展落后于PDA’”。實在是很惱火。現(xiàn)在除了 Skype,Palm沒有什么弱于PPC的多媒體應用了。PIM更是Palm強項,LifeBalance實在是好用。用過hp iPAQ rz1919,一個1800的PPC,居然內(nèi)存只有32M可用,分辨率只有320*240,主頻只有200MHz。性價比不敢恭維。
    Palm上手比PPC絲毫不差。我買來后一天就把內(nèi)置程序全部學會了。三天配置的軟件基本上夠用了。雖然調(diào)穩(wěn)定花了三個月??不過不買bug機不會有這種問題。

    ALU已經(jīng)出來了。不知為什么還沒有使用的計劃。去年LD出來不用OS6時我很懷疑Palm是否準備用OS6??確實到今天還沒有。原以為Palm遲遲不發(fā)OS6是等待ALU,結(jié)果等來今年Nelson想賣掉Palm的消息。祝Palm一路走好。

    不得不說多媒體、廣告和配置對新手是最看中的。Palm偏偏缺了這些??或說被人這么認為。

    最 后批評一下中國的廣告數(shù)碼市場和這么容易被廣告誤導的消費群體。《讀者》上鋪天蓋地的EJP廣告就是明證。好記星e8000,和Palm IIIxe相當?shù)男阅苜u1280(估計是廣告費占成本大頭);e百分反應慢的象蝸牛,要1200;這兩樣居然銷量還很好……不得不說好記星的造型相對文曲 星來說酷多了,對某些追求時髦的學生殺傷力太大。結(jié)果性價比低的變態(tài)的產(chǎn)品誕生了。現(xiàn)在學生中盲目攀比的風氣實在太重。性能強的手機主要功能是游戲。性能 強的EJP還是游戲。完全是游戲機了,還不如NDS和GBA性價比高。MP4亦是不如PSP。更新?lián)Q代也太快。我自己已經(jīng)淘汰了一只文曲星 PC200,PC2000c,一只Nokia 8210(現(xiàn)在是6230)。自己想想也忒浪費了。要不是為了TT5的藍牙我不會去換6230。但現(xiàn)在除了轉(zhuǎn)存短信,拍照-傳照片,藍牙就不用了。wap 上網(wǎng)還是小屏的手機方便。其實沒有這些關(guān)系也不大。現(xiàn)在我才明白什么叫夠用就好,尤其是方便好用。買東西不是買自己口袋能承受的,而是買自己手上能用的。 超出使用范圍的,就叫做炫耀和攀比了。

    頂端 Posted:2006-05-17 09:31 | [樓 主]
    主站蜘蛛池模板: 国产.亚洲.欧洲在线| 亚洲三级高清免费| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 精品国产亚洲第一区二区三区| 成人女人A级毛片免费软件| 亚洲精品国产成人中文| 毛片免费全部播放无码| 亚洲日本在线播放| 四虎永久在线精品免费观看视频| 亚洲国产成AV人天堂无码| 国产福利在线免费| 亚洲国产欧美国产综合一区| 永久久久免费浮力影院| 美美女高清毛片视频黄的一免费| 亚洲成A人片在线观看无码3D | 在线免费观看一级片| 另类图片亚洲校园小说区| 亚洲精品色婷婷在线影院| 特级做A爰片毛片免费看无码 | 亚洲AV成人无码天堂| 免费毛片网站在线观看| 黄页网站在线观看免费| 亚洲综合色自拍一区| 久久w5ww成w人免费| 亚洲日韩国产精品乱-久| 免费一级特黄特色大片在线观看| 精品熟女少妇aⅴ免费久久| 西西人体44rt高清亚洲| 中文字幕无码视频手机免费看| 亚洲欧好州第一的日产suv| 亚洲乱码中文字幕综合234| 99蜜桃在线观看免费视频网站| 亚洲13又紧又嫩又水多| 日产乱码一卡二卡三免费| 亚欧洲精品在线视频免费观看| 亚洲宅男永久在线| 国产精品成人无码免费| 免费国产成人α片| 亚洲国产精品日韩av不卡在线| 伊人久久精品亚洲午夜| 中文字幕影片免费在线观看|