mrasu’s blog

読んだ物の内容など

30日でできる! OS自作入門 (3週目)

「30日でできるOS自作入門」の3週目分です

マルチタスク、ファイル管理、API作成、メモリ保護までです。

30日でできる! OS自作入門

30日でできる! OS自作入門


15日目

マルチタスクは、タスクを入れ替えているだけなので、入れ替え時に現在状態を退避して、別のタスクの状態をロードする
画面描画などはある程度の時間(0.01sとか)待ってやれば十分

16日目

タスクに作業時間をつけることで、必要な処理にリソースが割ける
さらに、優先順位もつければ、割り込みにも即時対応できる

17日目

コンソールを描画することは、背景を変更することと何も変わらないので、vramに画像変更を送るだけ
キーボードの入力に合わせて、描画を変更する
LOCK初期情報などは、BIOS

18日目

コマンドは、入力を覚えて対応する機能を実行すればいい。
ファイル情報はBIOSに記録されているのでそれを引き出す。

19日目

ファイルの内容はFAT(File Allocation Table)に保存先が書いてあるので、それを利用する
実行時には、対象ファイルの内容をメモリに読んでジャンプする

20日目

APIをCで作る場合は、対象の関数を呼び出すのは別メモリ空間へ移動することが必要になる
よって、ジャンプできる仕組みが必要。(本では、アセンブラ呼び出しからのFarJump)

21日目

アプリケーションに割り当てているメモリ以外にアクセスはさせない。
例外割り込みでハンドリングしよう