遅くなってしまいましたが、1/21 に行ったカーネルグループミーティング
の議事録です。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
カーネルグループ出席者
長谷川、藤井、藤永、内藤
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
議題
1. BTRON 環境のユーザプロセスを起動する場合の処理
プロセスマネージャを作っている藤井さんから説明。
(ここでは、BTRON のシステムコールを小文字で、ITRON のシステムコール
を大文字で示しました)
まちがっていたら、コメントお願いします > 藤井さん
AP1 プロセスマネージャ lowlib
(起動するプログラム)
|
cre_prc()
+-------------------------+
CRE_TSK() *1
| <-- ここでは仮想空間の設定はで
| きない(ハンドルのアドレスが
| わからないため)。
STA_TSK()
+-------------------------+...........||..........+
| 仮想空間の設定
| |
| ファイルのロード
| |
| スタックの設定
| |
| AP のスタートアドレス
| にジャンプ
2. lowlib のスタートアップアドレスをプロセスマネージャはどうやって知る
のか? (*1 の部分)
とりあえず、固定番地とする。
3. BTRON 環境のユーザプログラムが region でマップされていないアドレス
にアクセスした場合の処理をどうするか。
以下の案が提出された
1) ITRON の仮想管理で Region を設定していない仮想アドレスに
アクセスがあった場合には、特別な処理をするように変更。
(lowlib のデフォルトハンドラ(というのを新しく作って)呼び出す)
2) ITRON からメモリマネージャに直接通知
3) Region を階層構造をとるようにして、プロセスの生成時にす
べての領域 (4G) をカバーするだけの region を作ってしまう。
(Region は FIFO のリストで管理し、新しい順で Region を
サーチする)
3) の案がいいということになった。
4. システムが異常終了する場合に、マネージャにどうやって通知するのか?
=> 結論は出ず、後に続く議論が必要。
--- B-Free プロジェクト実行中! 詳細はこの WWW へ -> (http://www.st.rim.or.jp/~isoyama/b-free)内藤隆一 (ggc00661@niftyserve.or.jp/night@bfree.rim.or.jp)