トップ 一覧 検索 ヘルプ RSS ログイン

Palm OS Programmer's Companion Volume I/11-4の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
[[← 3 節に戻る|Palm OS Programmer's Companion Volume I/11-3]] [[↑11 章トップへ|Palm OS Programmer's Companion Volume I/11]] [[5 節に進む →|Palm OS Programmer's Companion Volume I/11-5]]
----
!!!11-4 システムのブートとリセット
 
全てリセットは通常、ハンドヘルド背面の小さな穴を伸ばしたペーパークリップでつつくことで行ないます。“リセットスイッチ”として知られるこの穴は、( Palm III では)シリアルナンバーステッカーの右上にあります。追加のキー操作によって、リセットの挙動は以下のように変化します。
 
!!ソフトリセット
ソフトリセットは全てのダイナミックヒープをクリアします(ヒープ0とカード0)。ストレージヒープは手を付けられずに残ります。オペレーティングシステムは新しいスタック、新しい大域変数、再起動したドライバ、およびリセットされたコミュニケーションポートでスクラッチから再起動します。ハンドヘルドの全てのアプリケーションは sysAppLaunchCmdSystemReset 起動コードを受信します。
 
!!上ボタンリセット
上ボタンを押しながらペーパークリップでリセットスイッチを押すと、以下の2つの例外を除いてソフトリセットと同じロジックが実行されます。

*sysAppLaunchCmdSystemReset 起動コードがアプリケーションに送信されません。これは、この起動コードの受信によって(稀にでなく)クラッシュするアプリケーションがハンドヘルド内にあるためにシステムのブートを妨げている場合に有用です。
*OS はスタートアップ中にシステムパッチをロードしません。これは、システムパッチのデータベースを削除、あるいは置き換える必要がある場合に有用です。システムパッチはロードされるとオープン状態になるため、システムから削除したり置き換えたりできなくなります。

 
!!ハードリセット
ハードリセットは、電源ボタンを押しながらペーパークリップでリセットスイッチを押すことで行ないます。これはソフトリセットの効果に加え、ストレージヒープも消去します。結果として、プログラム、データ、パッチ、ユーザー情報などが全て失なわれます。全データの削除を確認するメッセージが表示されます。

sysAppLaunchCmdSystemReset 起動コードがこの時アプリケーションに送られます。“全てのデータを削除”を選択すると、ディジタイザのキャリブレーションは初期状態に戻ります。4 つの主要アプリケーションのデフォルトデータベースは ROM からコピーされます。

“全てのデータを削除”というメッセージが表示されている状態で上ボタンを押し、上ボタンを押したままの状態で 4 つあるアプリケーションボタンを押すと、システムは 4 つの主要アプリケーションのデフォルトデータベースを ROM から読み込まずに起動します。

 
!!システムリセットコール
システムマネージャは Palm ハンドヘルドのリブートをサポートします。ハンドヘルドをリセットするには、SysReset をコールします。このコールはソフトリセットを行ない、リセットスイッチを押した場合と同じ効果を持ちます。''アプリケーションでは通常このコールを使用すべきではありません。''

例えば、SysReset は同期アプリケーションで使用されます。ユーザーがハンドヘルドにシステム拡張をコピーした場合、同期アプリケーションは同期完了後にハンドヘルドを自動的にリセットし、システム拡張が自身をインストールできるようにします。

 
----
[[← 3 節に戻る|Palm OS Programmer's Companion Volume I/11-3]] [[↑11 章トップへ|Palm OS Programmer's Companion Volume I/11]] [[5 節に進む →|Palm OS Programmer's Companion Volume I/11-5]]