mrasu’s blog

読んだ物の内容など

30日でできる! OS自作入門 (4週目から最後)

「30日でできるOS自作入門」の4週目から最後までです

この本でできるようになるのは描画、マルチタスクAPI、ファイル処理
この本を使ってできるようになったのは

  1. アセンブラとCに慣れた
  2. APIの中で処理していることが分かった
  3. OSが処理している部分とCPUやドライバが処理している部分との差が見えるようになった

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

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


22日目

例外が起きた時に割込が発生するので、そこをハンドリングすれば、例外処理ができる

23日目

メモリを静的に確保するのは無駄なので、malloc()

24日目

ウィンドウを切り替えたければ、出したいのを一番上(マウス描画の下)に置き、一番上を一つ後ろに
ウィンドウを閉じるときは、アプリケーションが止まるということなので、タイマなどもまとめて閉じる

25日目

beepを流すのもPITでできる
色を出すのはvramで出せるが、色数が少なければグラデーションを使って数を増やせる

26日目

移動を描画するのはコストがかかる。
8bitづつ代入するのではなく、32bit連続で突っ込めば速くできる
そもそもマウスの移動に合わせて全て描画するのではなく、マウスが止まった時にそこに描画すれば、速い

27日目

LDTでは、アプリケーション専用のメモリ空間を作成できる
各アプリケーションに必要な関数のみをincludeするために、libファイルを作成すればいい

28日目

ファイルを読む時は、ファイル場所を取得し、シークする。
日本語を出力するなら、フォントファイルを読み込んで各エンコードと文字を対応させる

29日目

ファイルサイズがでかいなら圧縮すればいいし、読み込むときに解凍しながら読めばいい

30日目

計算とか画像出力とかの実装