方針としてはメモリーマネージャにタイプ(Code or stak or data)とサイズ
とプロセスIDを指定して割り当てをしてもらおうとしています。
ここで BTRON ユーザタスク用のスタック(386の特権レベル3でのスタックで
す)はどう確保したら良いでしょうか?
方法1:ITRONを拡張して cre_tsk で特権レベル3のタスク(ITRON)を作る。
ユーザタスク用のスタックはアドレス/サイズ等を渡して中心核で
設定。
方法2:最初は特権レベル0でユーザタスクを cre_tsk でタスク(ITRON)を
作る。(現状)
ユーザタスクは最初OS内に用意したプログラムで TSS 等を設定し
IRET で特権レベル3に移る。
という2個を考えています。私としては方法2をとりたいと思っています。
そしてついでにユーザタスクがOSの一部として動作できるので、プログラム
のロードなどの処理もユーザタスクの初期処理で行います。(この時の初期処
理を LowLib の一部として考えて良いですよね?)
っで、問題なのは 386 の特権レベル移行方法はこのような方法(IRET使用)で
良いのでしょうか。