Blog
2004/12/11のBlog
[ 23:53 ]
2004/12/10のBlog
[ 01:00 ]
PalmSource社が中国のMobileSoftという会社を買収し、MobileSoftが開発したモバイルデバイス向けLinux上にPalm OSを移植することを発表しました。
http://www.palmsource.com/press/cms_announcement.html
LinuxというOS上にPalm OSを移植するというのは一見すると矛盾しているように聞こえますが、実はそれほど変な話ではありません。
かつてDragonBall上で動作していたPalmOSはOSの核としてAMXというリアルタイムOSを利用していました。AMXは非常にシンプルでユーザンタフェースも何も持っていないOSで、それにユーザインタフェース、メモリー管理、ネットワークなどの機能を加えたものがPalmOSだったのです。便宜的にAMXの部分をPalm OS Core、追加された機能をPalm OS Surfaceと呼びましょう。
Palm OS 5になるとCPUがARMになりますが、基本的な構造は変わりませんでした。AMXに代わってPalmSource社が独自に開発したシンプルなCoreの上にPalm OS Surfaceが搭載されていたのです。
この構造はPalm OS Cobaltでも変化なく、PalmSource社が独自に開発したOS(ただし、マルチタスク、メモリー保護など機能は大幅にアップしている)の上にやはり大幅に機能拡張されたPalm OS Surfaceが加わることでPalm OS Cobaltができています。
また、開発者が用いるPalm OS Simulatorも実はWindowsをPalm OS Coreとして用いるPalm OSだということができます。
今回の発表はPalmSource社が独自に開発してきたPalm OS Coreの代わりにLinuxを用いるというものです。その上に載るPalmOS Surfaceは大きくは変わらないでしょう。Palm OS 5が登場したときにPalm OS CoreがAMXからPalmSource独自のCoreに変わってもユーザーが全く気がつかなかったように、Palm OS for linuxも見た目はこれまでのPalm OSと変わらないと予想されます。
Linuxを搭載したPDAというと多くの方はZaurusを思い浮かべでるしょう。今回の発表とZaurusの最大の違いはPalm OS for linuxでは従来のアプリケーションが引き続き動作する、ということです。Linux Zaurusが従来のZaurus用のアプリケーションをすべて捨ててしまったのに対し、Palm OS Garnet用のアプリケーションもPalm OS Cobalt用アプリケーションも全く変更なしに、もしくは再コンパイルのみで利用可能になります。
独自のOSを捨て、Linuxを採用する最大の理由はハードウェアサポートだといわれています。OSは様々なハードウェア(チップ、カードなど)をサポートする必要がありますが、これは大変で時間がかかる作業です。これを独自に行うことをあきらめ、Linux Communityで活発に開発されているものを利用しようというのでしょう。もちろんLinux用に開発された様々なアプリケーション、サーバソフトなども魅力でしょう。Palmデバイス上でWebサーバ、共有ファイルサーバなどが動く日も遠くないかもしれません。
いずれにしろ、これはPalmOS Cobaltを中心とした戦略からの大きな方向転換だといえます。palmOneがPalm OS Cobalt採用の予定がないとした発表と関係がないと考えるのは無理があります。
詳細は来年春のPalmSource Developer Conferenceで発表されるとのことです。
http://www.palmsource.com/press/cms_announcement.html
LinuxというOS上にPalm OSを移植するというのは一見すると矛盾しているように聞こえますが、実はそれほど変な話ではありません。
かつてDragonBall上で動作していたPalmOSはOSの核としてAMXというリアルタイムOSを利用していました。AMXは非常にシンプルでユーザンタフェースも何も持っていないOSで、それにユーザインタフェース、メモリー管理、ネットワークなどの機能を加えたものがPalmOSだったのです。便宜的にAMXの部分をPalm OS Core、追加された機能をPalm OS Surfaceと呼びましょう。
Palm OS 5になるとCPUがARMになりますが、基本的な構造は変わりませんでした。AMXに代わってPalmSource社が独自に開発したシンプルなCoreの上にPalm OS Surfaceが搭載されていたのです。
この構造はPalm OS Cobaltでも変化なく、PalmSource社が独自に開発したOS(ただし、マルチタスク、メモリー保護など機能は大幅にアップしている)の上にやはり大幅に機能拡張されたPalm OS Surfaceが加わることでPalm OS Cobaltができています。
また、開発者が用いるPalm OS Simulatorも実はWindowsをPalm OS Coreとして用いるPalm OSだということができます。
今回の発表はPalmSource社が独自に開発してきたPalm OS Coreの代わりにLinuxを用いるというものです。その上に載るPalmOS Surfaceは大きくは変わらないでしょう。Palm OS 5が登場したときにPalm OS CoreがAMXからPalmSource独自のCoreに変わってもユーザーが全く気がつかなかったように、Palm OS for linuxも見た目はこれまでのPalm OSと変わらないと予想されます。
Linuxを搭載したPDAというと多くの方はZaurusを思い浮かべでるしょう。今回の発表とZaurusの最大の違いはPalm OS for linuxでは従来のアプリケーションが引き続き動作する、ということです。Linux Zaurusが従来のZaurus用のアプリケーションをすべて捨ててしまったのに対し、Palm OS Garnet用のアプリケーションもPalm OS Cobalt用アプリケーションも全く変更なしに、もしくは再コンパイルのみで利用可能になります。
独自のOSを捨て、Linuxを採用する最大の理由はハードウェアサポートだといわれています。OSは様々なハードウェア(チップ、カードなど)をサポートする必要がありますが、これは大変で時間がかかる作業です。これを独自に行うことをあきらめ、Linux Communityで活発に開発されているものを利用しようというのでしょう。もちろんLinux用に開発された様々なアプリケーション、サーバソフトなども魅力でしょう。Palmデバイス上でWebサーバ、共有ファイルサーバなどが動く日も遠くないかもしれません。
いずれにしろ、これはPalmOS Cobaltを中心とした戦略からの大きな方向転換だといえます。palmOneがPalm OS Cobalt採用の予定がないとした発表と関係がないと考えるのは無理があります。
詳細は来年春のPalmSource Developer Conferenceで発表されるとのことです。
2004/12/04のBlog
[ 22:19 ]
Treo650については書きたいことが山ほどあるのだが、まずは一番驚いたことを。(はじめは音を消した状態でHotSyncをやっていたので、なかなか気がつきなかった)
HotSync開始の音
HotSync終了の音
HotSync開始の音
HotSync終了の音
2004/12/03のBlog
[ 23:20 ]
2004/12/01のBlog
[ 23:04 ]
[ 06:59 ]
Sparco.comに注文していたTreo650が出荷されたようです。
うまくいけば今週末くらいに届くかもしれません。
うまくいけば今週末くらいに届くかもしれません。
[ 00:43 ]
雑誌向けの原稿が一本あがり。クリスマスに店頭に並ぶかと思います。
2004/11/26のBlog
[ 12:59 ]
色々と議論が起きているようなので、解説をしてみます。
これまでのPalmOSでは以下のメモリーがありました。
NOR Flash ROM:通常のメモリーとしてアクセス可能
PalmOS及び各種アプリケーションを格納
(あまりはFlashPro等で利用可能)
RAM:
Dynamic Heap:プログラム実行時の一時的データを記録する(TT3では12M)
Storage Heap:プログラム及び永続的なデータを記録する(TT3では52M)
RAMに関しては電源が切れると消えてしまうという問題と、容量を増やすと消費電力が増えてバッテリーライフが短くなるのは大きな欠点です。
これがNVFSでは以下のように種類が増えます。
NAND Flash ROM:メモリーカードと似ており、まとまった単位でのみアクセス可能
PalmOSイメージ(TT5では12M程度。treo650では8M)
Storage Heap:プログラム及び永続的なデータを記録する(TT5では64M。treo650では24M)
内部ドライブ:本体内にあるメモリーカードとして認識(TT5では160M程度。treo650はなし)
RAM:
PalmOS:Reset時にFlashROMから展開して起動(16M)
Dynamic Heap:プログラム実行時の一時的データを記録する(TT5では4M)
Database Cache:Storage Heapの内容を利用時に一時的に展開(TT5では14M)
PalmOSがリセット時に展開されて起動する、というのも面白い変更点のひとつですが(だからSoftResetがあんなに遅いのです)、肝はStorage HeapがRAMからFlashROMへ移動している点です。
FlashROMは電源が切れても内容が消えず、容量を増やしやすいのですが、そのままではCPUからアクセスできないという問題があります。そのために利用時は一旦RAMに読み出して、利用が終わったらRAMからFlashROMへ書き戻してやる必要があります。そのためにDatabase Cacheというメモリーの種類が増えています。このあたりの仕組みはMSMountと似ていますね。
で、今TT5で起きている問題は3つあって、
問題1:
FlashROM上のStorageHeapの格納方式が非効率で、どんな小さなデータも512Byteになってしまう。そのためtreo600とtreo650は同じ容量のはずなのにデータを移行できないとユーザーが怒っている。これについてはROMのUpdateがあるようです。
問題2:
Database Cacheの管理がうまくいっておらず、空き容量がどんどん減っていってしまう。そのうちに空きがなくなり、アプリケーションが起動できなくなる。
J-OSがここを3Mほど使うので、問題がおきる頻度が高くなる。もしくはより早く起きてしまう。
問題3:
Database Cacheへの読み込み、FlashROMへの書き戻しにはそれなりに時間がかかります。ほとんどのアプリでは問題にならない(心持ち反応が悪いかなという程度)のですが、一部のアプリではむちゃくちゃ遅くなる。(アプリ終了時に20秒かかるとか)。これについてはPalmware側での対応が必要です。
これまでのPalmOSでは以下のメモリーがありました。
NOR Flash ROM:通常のメモリーとしてアクセス可能
PalmOS及び各種アプリケーションを格納
(あまりはFlashPro等で利用可能)
RAM:
Dynamic Heap:プログラム実行時の一時的データを記録する(TT3では12M)
Storage Heap:プログラム及び永続的なデータを記録する(TT3では52M)
RAMに関しては電源が切れると消えてしまうという問題と、容量を増やすと消費電力が増えてバッテリーライフが短くなるのは大きな欠点です。
これがNVFSでは以下のように種類が増えます。
NAND Flash ROM:メモリーカードと似ており、まとまった単位でのみアクセス可能
PalmOSイメージ(TT5では12M程度。treo650では8M)
Storage Heap:プログラム及び永続的なデータを記録する(TT5では64M。treo650では24M)
内部ドライブ:本体内にあるメモリーカードとして認識(TT5では160M程度。treo650はなし)
RAM:
PalmOS:Reset時にFlashROMから展開して起動(16M)
Dynamic Heap:プログラム実行時の一時的データを記録する(TT5では4M)
Database Cache:Storage Heapの内容を利用時に一時的に展開(TT5では14M)
PalmOSがリセット時に展開されて起動する、というのも面白い変更点のひとつですが(だからSoftResetがあんなに遅いのです)、肝はStorage HeapがRAMからFlashROMへ移動している点です。
FlashROMは電源が切れても内容が消えず、容量を増やしやすいのですが、そのままではCPUからアクセスできないという問題があります。そのために利用時は一旦RAMに読み出して、利用が終わったらRAMからFlashROMへ書き戻してやる必要があります。そのためにDatabase Cacheというメモリーの種類が増えています。このあたりの仕組みはMSMountと似ていますね。
で、今TT5で起きている問題は3つあって、
問題1:
FlashROM上のStorageHeapの格納方式が非効率で、どんな小さなデータも512Byteになってしまう。そのためtreo600とtreo650は同じ容量のはずなのにデータを移行できないとユーザーが怒っている。これについてはROMのUpdateがあるようです。
問題2:
Database Cacheの管理がうまくいっておらず、空き容量がどんどん減っていってしまう。そのうちに空きがなくなり、アプリケーションが起動できなくなる。
J-OSがここを3Mほど使うので、問題がおきる頻度が高くなる。もしくはより早く起きてしまう。
問題3:
Database Cacheへの読み込み、FlashROMへの書き戻しにはそれなりに時間がかかります。ほとんどのアプリでは問題にならない(心持ち反応が悪いかなという程度)のですが、一部のアプリではむちゃくちゃ遅くなる。(アプリ終了時に20秒かかるとか)。これについてはPalmware側での対応が必要です。
2004/11/25のBlog
[ 21:16 ]
2004/11/24のBlog
[ 23:38 ]
今ちょうど聞いています。
自分が話しているのを聞くのはとても恥ずかしいですね...
#トラックバックしたいのですが、やり方がわかりません...
自分が話しているのを聞くのはとても恥ずかしいですね...
#トラックバックしたいのですが、やり方がわかりません...