よもぎのOS自作入門 16日目/30日
はじめに
これは2020年夏休み企画「30日でOS自作してみよう!」16日目の記事です。
企画についてはこちら
昨日やったことを書いていきます。
おや!2日ぶりの投稿だね!ミッ*1
昨日の進捗
タスク管理を自動化し、複数ウインドウにして、タスク管理にプライオリティーを導入しました。
昨日やったこと
前回はタスクのアレコレを手動で設定して、コンテキストスイッチも手動でやっていた感じですが、 まず今回は手動で行っていた作業を自動化しました。*2
またコンテキストスイッチされた先のタスクでやることがない場合に、HLT
命令を回し続けるのではなくスリープ状態にしました。
このあたりの話は学部のときの実験でちょっと出てきた気がする……?
タスク管理を自動化したのでウインドウを増やすみたいなことしました。 なぜかタスクb2が値が倍くらい良い、なんでだろ。
そしてタスクに優先度(プライオリティー)を導入しました。ここでは優先度の値とタスクに割り当てられる連続実行可能時間が比例しています。 Linuxだと負の値ほど優先度が高くなっていたと思うので、逆ですね。
明日も一日頑張るぞい!