OS自作入門

30日でできる!OS自作入門パート10(15日目①) OS自作入門

30日でできる!OS自作入門パート10(15日目①)

気がつけば1カ月ほど空いてしまいましたがまだ終わっていません。ということで続けていきます。 今回のサブタイトルは『マルチタスク-1』です。   マルチタスクをCPUにさせるには? 実はCPUが1つしかなくてもマルチタスクはできているようです。その場合同時に複数のプログラムを動かしているので…
30日でできる!OS自作入門パート9(14日目) OS自作入門

30日でできる!OS自作入門パート9(14日目)

結構長くやっているつもりですが、まだ9回目の投稿なんですね。 というわけで今回のサブタイトルは『高解像度・キー入力』です。 一通りの説明は終わったらしい ここまで色々と機能を実装してきましたが、ここまででプログラミング言語の知識やアルゴリズムのテクニックの紹介は終わりのようです。これからは今までの知…
30日でできる!OS自作入門パート8(13日目) OS自作入門

30日でできる!OS自作入門パート8(13日目)

今回のテーマは『タイマ-2』ということで12日目の続きになります。 30日のうち2日もタイマに費やすとは長くないか?と思いましたが、どうやら今後タイマをよく使うらしくそのためしっかり作りたいようです。同じような理由でレイヤーの制御(本書では下じき制御)も頑張っていたそうです。 タイマ2となっています…
30日でできる!OS自作入門パート7(12日目) OS自作入門

30日でできる!OS自作入門パート7(12日目)

今回のサブタイトルは『タイマ-1』ということでやっていきます。 始めはタイマがいかに重要かが書いてあります。windowsの場合右下に時計が出ていると思いますが、それだけでなくCPUの割り込み時間の計算や時間の管理が出来ません。ということでタイマを使います。 PCでタイマを使うには『PIT』という装…
30日でできる!OS自作入門パート6(11日目) OS自作入門

30日でできる!OS自作入門パート6(11日目)

11日目のサブタイトルは『ついにウインドウ』になります。といっても始めは恒例になってきたちょっとした改良からです。 相変わらずマウスが続きますが、今回の問題は画面端までマウスが隠れないというものです。試しにパソコンでこのブログを見ているかたがいましたらマウスを端までもっていってください。マウスが隠れ…
30日でできる!OS自作入門パート5(10日目) OS自作入門

30日でできる!OS自作入門パート5(10日目)

いよいよ10日目です。これで大体1/3の進捗ですね。 前回はメモリ管理を行いましたがその続きからやっていきます。 メモリの確保と解放を繰り返しているうちに連続しない小さな空きがたくさんできてしまうため0x1000バイト単位で確保と解放をする関数を作り管理するようです。その際、0x1000バイト単位に…
30日でできる!OS自作入門パート4(9日目) OS自作入門

30日でできる!OS自作入門パート4(9日目)

少し空いてしまいましたが続けていきます。 9日目(メモリ管理) マウスポインタが一区切りついたので次はメモリ管理です。32ビットモードになってPCの全部のメモリを利用できるようになったので使ってみたいということでこのタイミングで行うようです。 で、まずはメモリがどこまであるかのチェックです。普通はB…
30日でできる!OS自作入門パート3(5~8日目) OS自作入門

30日でできる!OS自作入門パート3(5~8日目)

まとまった時間がとれたため、今日は3日目~8日目を読みました。PCを動かす環境にいなかったため手は動かせていませんが結構読み進めることができました。 3日目(32ビットモード突入とC言語導入) この日から空のOSを作り『はりぼてOS』という名前で機能を少しずつ追加していくことになるようです。 フロッ…
30日でできる!OS自作入門パート2(2日目) OS自作入門

30日でできる!OS自作入門パート2(2日目)

2日目(アセンブラ学習とMakefile入門) 2日目になりました。 この日はterapadをインストールし、1日目で動かしたアセンブラのソース説明が主になっております。ということで手を動かすというよりは本を読むという作業ですね。 説明の中に「C言語でいうところの~」という記述がちょくちょくでてくる…
30日でできる!OS自作入門パート1(1日目) OS自作入門

30日でできる!OS自作入門パート1(1日目)

『30日でできる!OS自作入門』という本を買いました。2006年に発売された本で今から12年前の本です。 この本を使ってOSの勉強をすると同時にブログに書くことでアウトプットをしていければと思います。 環境:windows7 64bit 0日(開発を始める前に)~1日目(PCの仕組みからアセンブラ入…