パスワードを忘れた? アカウント作成
576145 journal

tarosukeの日記: talosという名の俺OS

日記 by tarosuke

シンボル名を書き換えて、カーネルヒープの初期化をどうするか決めて記述して...でもページング動かすまでdisplayモジュールを初期化しない事にしたからデバグメッセージの扱いがちょっと面倒になったかも。今まではページングを開始したらVRAMのベースアドレスを変更してたのだが、MIにMDが紛れ込んでてあんまりすっきりしなかったのだ。

それから、タスク切替えにia32の流儀を使うのをやめる事を検討中。最初の理由はタスク数の限界。次にタスク切替えを自前にする事でセグメントを「ハメ殺し」にできる。あの忌々しいセグメントデスクリプタをconstにしてlgdtしたあとは放っておけるのだ。するとセグメント関係をinit.sに閉じ込めておけるようになる。

問題はどのくらい効率が低下するかだが...キャッシュがよく効くから誤差の範囲内かもだ。だがもう一つ問題が...特権準位の切替えはスタックの切替えを伴うのだが、これはタスクでしか設定できないようなのだ。テケトーなタスクデスクリプタをltrすりゃいいのかも知らんがな。

むぅ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...