自作OS

MacでGRUBから自作OSを起動

久々にOS書いてます。そろそろ取っ掛からないと、来年もSECCAMPの機会を逃しかねないですね。以前までははりぼてOSをLinuxに移植していたのですが、途中でちょっと詰んでしまったので、一からフルスクラッチすることにしました。 ただ、今はMacbookを使って…

Mountain Lionユーザのためのクロスコンパイラビルド

OSを開発する上で@liva_jyくんに勧められてGCCのクロスコンパイラをMacでビルドすることにした。 クロスコンパイラを使わなくてもLinuxでOS自体はビルドできるけど、確かに面倒だし。 Macで直接ビルドして、そのままデバッグしたいのは確か。 が、前途多難で…

OS自作入門 onLinux 14日目

お久しぶりです。 OS14日目、無事できました。 今回は「中間地点の後処理」といった感じでしょうか。 具体的には ・解像度UP ・キー入力対応 の2つですね。 解像度が大きくなるだけでもOS感がグッとアップ。うーん、感慨深い。 しかし、ここまでたどり着く…

OS自作入門 onLinux 13日目

毎度恒例、OS自作入門。 本当はGWまでに14日目までを終わらせようと思ったのに、 思った以上にGWの勉強がハードだったため、ほとんどPCに触れずじまい。 こんな今日も模試前日だけどね! ソースコードはこちら。 今回は、基本的にタイマの改良。 タイマの管…

OS自作入門 onLinux 12日目

OS12日目、できました。 ソースはこちら。 今回は、「タイマ」を導入しています。 本来、パソコンには人間が想像するような時計は内蔵されていません。 それでは、時間を知ることができず、いろいろな支障が出てしまいます。 そこで、CPUの割り込み機能を利…

OS自作入門 onLinux 11日目

11日目が終わった。 ここまででしみじみと感じるのだが、やはり本を目で追うだけでなく、 たとえ理解できなくてもソースコードを手打ちするのは大いに意義がある。 人間には、タイプミスの一つや二つは余裕で紛れ込んでしまう。 そのために誘発されたバグの…

OS自作入門 onLinux 10日目

10日目が終わりましたー。 今回は、重ね合わせ処理の日です。マウスがタスクバーに重なってます。 マウスがチラチラするのは11日目で解決するっぽいです。 たぶん、ダブルバッファリングとかやるのかな?まだ読んでないからわからないけど。 今回のソースコ…

OS自作入門 onLinux 9日目

9日目できましたー。本当は2週間ほど前にできていたんですが…。 今回は、マウスが動くようになったという事で、メモリ管理に進んでいます。 今回のソースコードはこちら。 では続きからどうぞ。 ==== 今回は、前半で「メモリ容量のチェック」、後半で「メモ…

OS自作入門 onLinux 8日目

8日目上手くいきましたよー。 8日目ソースコード では続きから。 ==== 8日目は、7日目でマウスから受け取れるようになったデータを使ってマウスを動かすだけです。 ですから、そんなに難易度が高いわけではないのですが、やはりバグってしまいました^^; …

OS自作入門 onLinux 7日目

7日目ソースコード 7日目無事に終わりました。 正直ほとんど内容がないので、8日目とくっつけようかと思いましたが、 日付ごとに分けた方が、後々から見やすいかなーと思ってわけました。 本心では記事数を稼ぎたかっただけです では続きから。 ==== 今回は…

OS自作入門 onLinux 6日目

割り込みの仕組みについて 割り込み実験 ここ2カ月程、OS自作入門がずっと6日目で止まっていました。 割り込み処理がうまくできなかったからです。 ところが、ついに割り込みハンドラを呼ぶのに成功しました! ようやく努力が報われました。すごく嬉しいです…

割り込み実験

相変わらず割り込みがうまくいかない。 そこで、実験の足跡を残しておきたいと思う。きっともっと先に見返せばわかるかも?

割り込みの仕組みについて

新年明けましておめでとうございます!

OS自作入門 onLinux 5日目

ようやく5日目が終わりました! 11月頭で文化祭があって、その後も学校が相変わらず忙しかったですが、 なんとか時間の合間を縫ってこぎつけました。 まずはソースはこちら。 今回は、4日目で画面表示ができるようになったので、 1.起動情報を受け取る 2.A…

OS自作入門 onLinux 4日目

4日目がようやく終わりました。賞味3、4日間といったところでしょうか。 文化祭関連の準備でも忙しかったです。 ある場所につまづいていたため、大分時間がかかってしまいました… とりあえずソースコードはこちら。 ==== #include "func.h" #define COLORN 1…

OS自作入門 onLinux 3日目

文化祭関連の準備で忙しい。。。 10月が終われば大分楽になりそう。 3日目には手こずらされました。 何かって、まずasmhead.nasの内容が難解なのと、 筆者作の.hrbフォーマットの構造を知らずに適当に書いてたことかな。 でも、なんとか頑張ってGASに移植で…

OS自作入門 onLinux 2日目

OS自作、2日目です。試験中なのは秘密 2日目は結構楽だったので、まとめていきます。 実は、IPLを読み込む位置がうまくいかず、バイナリを解読してたんですが… ==== まずはソースコードをGAS用に変換します。 .code16 .text jmp entry .byte 0x90 .ascii "HE…

OS自作入門 onLinux 1日目

OS自作を夢見る初心者が手にする本、「30日でできる!OS自作入門」です。 この本自体については賛否両論あるのですが、やはりこれほど単純にOSの作り方が 説明された本はないと思います。 反面C言語やアセンブリ言語についての説明が不適当な箇所が 見られた…