Palm TX の NVFS/DBCache との付き合い方

Posted by yoosee on Palm at 2008-03-26 12:40 JST

*1  Palm TX の NVFS (Non Volatile FileSystem) について

昔の Palm はデータを(揮発性) RAM 内に保存していたため、バッテリー切れでデータが消えてしまっていたが、Palm TX 等では NVFS と言う仕組みでデータを保持するようになっている。NVFS の発想は結構単純で、ストレージとして不揮発性メモリにデータを保存し、実行時に今までの PalmOS の実行環境のように揮発性メモリ(RAM) に読み込む形になる。
これだと毎回実行時にデータ読み出しに時間がかかってしまうので、NVFS 搭載機種では DB Cache と呼ばれるキャッシュの仕組みを持っており、アプリケーションを RAM 側にキャッシュしている。

TX では DB Cache がOS使用領域の約7MBを除いて約13MBあるのだが、この容量を使い切ってしまうと任意のタイミングで自動的に RAM 領域の掃除が行われ、このタイミングでパフォーマンスがかなり低下したり動作がフリーズすると言う現象が起きてしまう。

正直言って「バッテリー切れでもデータが消えなくなった」程度の事と引き換えにするには NVFS のモッサリ具合は許容出来る度合いを越える改悪だと思っているが、ともあれこれが搭載されている機種をそれなりに快適に使うためには幾つかコツが必要になってしまった。以下、備忘録代わりに記す。結論だけ書くと、Off Flush は必須なので入れとけ、他は必要に応じてお好みで。より詳しい情報は 1src.com に投稿された Divining NVFS and Palm memory Problem がまとまっている。

*2  DBCache をクリアする - DBCacheTool, OffFlush

この DBCache を能動的にクリアすることでパフォーマンスを改善するソフトとして、DBCacheToolOff Flush といったものがある。DBCacheTool では空き領域が決まったサイズ・割合以下になった場合、自動的にアプリケーション切り替え時に Cache のクリアを行うことが出来る。但し Cache のクリア処理は結構重く、数秒〜10秒間程度、デバイスが入力を受け付けない状態になってしまう。一方の Off Flush では電源を切る動作のタイミングで実行されるため、利用者側のストレスが少ない。設定により、操作が無い状態で一定時間経過した場合の自動OFF時には実行されないようにも出来るのが意図せぬフリーズを防げるのも便利なので私はこちらを使っている。また、両者とも DA から実行してのクリアが可能になっている。

*3  起動時の Cache 読み込みを抑制する - UnCache, CleanStart

NVFS/DBCache 搭載機種ではソフトリセット後の起動時に Launch Code 5 が発行され、全ての実行可能アプリが一度実行されて破棄される、という処理が行われる。これにより常駐(APIフック系)アプリを起動したりアプリを RAM 内に予め読み込んだりするのだが、アプリを多めに入れていると起動直後には DBCache の空きが殆ど無い状態になるのが厄介だ。

この動作を制御するのが UnCache($5.95) と言うソフト。最近出てきたフリーウェア Clean Start も同用途のもの。これらで起動時の読み込みを制限することで、リセット直後の DBCache の空きを減らしたり、リセット処理自体の時間を短縮することが出来る。

但しこの初回起動→破棄行程が行われないと、常駐イベントフック型のアプリ(例えば CJK OS や Resco Backup 、FEPSwitch 、DBLauncher などシステム Tweak 系) は正しく動作しなくなるので、除外(起動時に読み込む)リストに入れておくこと。また Clean Start は動作に必須のファイルも除外対象に出来てしまうので注意が必要。下手するとリセットループを喰らう。

*4  必要なアプリはCacheに常駐させる - RescoLocker

こちらは逆に、特定のアプリを DBCache に常駐させる(RAMにLockする)ことで、よく使うソフトの起動を高速にしたり安定して動作するようにする。 起動は目に見えて早くなるが、当然 Lock が増えるほど DBCache の恒常的な消費量は多くなるので、対象は厳選した方がいい。

*5  Dynamic Heap を拡張する - UDMH

NVFS 搭載機種は概ね DB Cache とは別に 10MB の RAM を持っていて、ソフトウェアの実行用メモリ・Dynamic Heap として利用する。通常の Palmware であれば特に問題にならないサイズだが、大量の Heap を消費するアプリ、例えば TCPMP, PalmPDF, LJP 等では Not Enough Memory エラーになることがある。

UDMH($9.95) はちょうど Linux で HDD 上の swap 領域を仮想メモリとして使うように、NVFS の一部をメモリの一部として使う機能を提供する事で Heap を拡大することが出来る。アプリによっては必須だが、普通に使う分にはさほど必要性は感じられないかもしれない。

*1  WiFile Pro

Windows ファイル共有(NetBIOS)の他にも WebDAV や FTP によるファイル転送が行える PalmOS5 用のクライアントソフト WiFile Pro を試用してみた。TX の無線LANで接続すると、自動的にLAN内のWorkgroupsを検索に行く。見つからなかった場合にはマシン名やIPアドレスを直接入力する。Linux samba box にも問題なく繋げたし、samba 側の dos charset を CP932 にしておけば、日本語フォルダも化けずに表示できた。ワイヤレスでネットワーク上のマシンのファイルにアクセス出来るのはなかなか快適。

難点としては、どこがボトルネックか分からないが(恐らくはPalm自体のワイヤレス通信速度?)、転送速度がかなり遅い。100MB程度のファイルの転送に50分程かかってしまい、大きなファイルの転送では実用にならない感がある。Podcast や動画ファイルの転送に使いたかったので、ここはちょっと残念。

$29.95 は気軽に登録するにはちょっと高いので、レジストするかどうかはもうしばらく使ってみて考えることにしておく。

Palm TX + Transcend 4GB SD Card

Posted by yoosee on Palm at 2008-01-17 12:00 JST

*1  Transcend SDカード 4GB TS4GSDC

Transcend SDカード 4GB TS4GSDCTranscend SD 4GB を上海問屋で購入。値段は 3,654 + 送料210円(メール便)。Amazon を今見たら、外部の出品者だが 3,080円からあるようだ。高速モデルの 150X タイプだと 10,000円前後。

Palm TX は SDHC を扱えないので、事実上 SD 4GB が概ね最大サイズ。この Transcend のカードは SDカードという意味では微妙に規格から外れているらしいが、TX での動作保証をしているし動作レポートも大量にある。実際に使ってみたが特に問題なく認識し、読み書きの速度も思ったよりだいぶ速かった。どこぞのフォーラムでクラスタサイズを 32KB にしろと書いてあったが、買って差した時点で最初から 32KBクラスタでフォーマットされていた。海外だと 4GB SDカード(non-SDHC)は幾つか種類があるようだが、日本だと Transcend 程度しか見当たらない。

ちなみに性能を見るために VFSMark でベンチマークを取ってみたが、なんだか結果がおかしいような。
File Create: 38%
File Delete: 12%
File Write: 51%
File Read: 504%
File Seek: 3933%
DB Export: 20%
DB Import: 211%
Record Access: 1096%
Resource Access: 1129%
VSFMark: 777
確かに Delete が遅いというのはそこらでも記載を見かけるが、FileZ などで削除する分には今のところ特にストレスを感じるほど遅くは無い。書き込みは確かに動画などをコピーする時に速くは感じない。

*1  Palm TX を今更ながら購入

先日 Palm TX $199 セール (ワイヤレスキーボード付属) の話を書いたが、米国の友達に頼んでまんまと入手に成功した。18日に届いたので T|T3 からの移行を試みている。発売後2年も経っているものなので、レビューも思いつくところを簡単に。

本体・ハードウェア
  • きちんとした長さの金属製スタイラスを搭載するPalmは本当に偉い
  • プラスチックのボディは金属中心のTungstenに比べてチープだが、その分気軽に扱えるのでまあ良し。デザインはシンプルで良い
  • 左側の溝にストラップを引っ掛けるようなものは売ってないのかな?
  • ハードウェアボタンの反応がいまいち良くない気がする
  • ボイスレコーダは削らないで欲しかった
  • クレードルが無いので置き場所が何となく定まらない。でも別途買うと高すぎる
データ移行
  • データ移行は PIM はIR経由のBeam、その他は RescoBackup から個別リストア
  • TasksDB に不正なデータが入っていてリセット頻発。dbFixIt で発見して修復
  • 日本語化は最新版の CJKOS そのままで問題無し
  • 移行させた PoBox FEP が古くて動かなかったので 172i に更新
  • その他のアプリはほぼそのまま移行できた
  • Palm Desktop は 4.1.4e を日本語化
  • Graffiti 2 は例によって Graffiti 1 に戻す
  • 左下端の Find Silk も Home に変更する
ファーストインプレッション
  • NVFS(非揮発性メモリ)は癖があって使いにくく、TT3と比較してもっさりさを感じるのが残念
  • もっさりと言ってもWindowsMobileの37倍程度は快適
  • 新品だからということもあるが、バッテリの持ちは優秀
  • おまけで付いてきた Universal Wireless Keyboard の入力は意外に快適で素敵。折りたたみギミックも楽しい
  • WiFi は一旦設定してしまえば接続は簡単だしすぐ繋がる
  • ワイヤレスでHotSyncやその他アプリの同期が出来るのは意外に便利
  • でもそれ以上にWiFiを活用する気にはあまりならない。まともなブラウザと、日本語が通る ssh2 client があればなぁ
  • CPUがTT3から多少遅くなっているが、TCPMPでXviDは普通に再生できた
  • LJP を動かすのには UDMH やら DBCacheTools やらと結構苦労した。NVFS...
WiFi, ストレージメモリ増量, バッテリ寿命向上, 2GB(非公式には4GB)までのSDカード対応(SDHC未対応) あたりが T3 からのアドバンテージ。逆に CPU 速度の低下, NVFSによるもたつきが劣化した点。特に NVFS は癖がありすぎ。揮発性RAMストレージのままの方が良かったんじゃないかこれ。

NVFS 以外でも、WiFi設定を入れたあとBluetooth設定を入れるとWiFi接続時にBluetoothの方で繋ごうとするとか頭悪い動作をしてくれる。PalmOSは思想はともかく、OSの技術的には本当に出来が悪いというか Out of date が過ぎると思う。
それでも Windows Mobile と比べたらなぁ... と言うのが現代のモバイルガジェットの悲劇だよ。本来 PDA とは言えない iPhone/touch に浮気したくなる気持ちも分かるよ。

About W.W.Walker

World Wide Walker は yoosee による blog です。PDA, Web・サーバ技術, 美味しい食べ物などの話題を取り上げています... read more

Monthly Archives

Select Month to read
  

Ads

Recent Entries

Related Sites