マガジンのカバー画像

OSの作り方

6
運営しているクリエイター

記事一覧

OSの作り方:3日目

いままではブート後、Hello worldだったけど、本格的にIPLしようてのが、この3日目。

ディスクの構成説明で、シリンダとヘッドとセクタの概念。シリンダ0、ヘッド0,セクタ1はBIOSが読んでくれてたけども、セクタ2を自発的にロードしよう、てところ。
ディスク読み出しのパラメータをレジスタにセットしといて、int13割り込みで読み込みできる。
当然ながら、どのメモリに読むかのアドレス指定も

もっとみる

OSの作り方:2日目

まずテキストエディタの紹介。・・・ってバイナリエディタより後の紹介。TeraPadのおススメでしたがわたくしは秀丸派。

さっそくアセンブラなのですが。

ORG 0x7c00 が冒頭に出てくる。7c00にこのプログラムを配置しなさい、という命令。なぜ0x7c00?仮想メモリの概念はないから物理メモリのアドレスだよね。

そして次に JMP entry でラベルentryを実行開始、と。で、レジス

もっとみる
OSの作り方:1日目(続き)

OSの作り方:1日目(続き)

機械語からアセンブラに少しレベルが上がった。つぎはアセンブラでブートコード書きましょう、と。

バイナリエディタで直接コード記述してましたが、次はアセンブラでブートコードを書くわけですね。NASMを https://www.nasm.us/ から落として来ます。

そして、書籍通りにアセンブラ記述するの面倒くさいので、CD-ROMからソースを落として・・・ってこんなでいいのか。そして、NASMにP

もっとみる
OSの作り方:1日目

OSの作り方:1日目

いきなりバイナリエディタ!(笑)BZを落とせとな。

アセンブラですらもローダーないし、機械語を直接埋め込んで、イメージを作るしかないのね。ものすごい低レベル(だから知的じゃないよ)

てかBZとか懐かしいなぁ。自分はStirling派。でもここは素直にBZ。

そして、記載されている数値をひたすら、ただひたすらに打ち込むっていう荒行をこなすと。うへぇ、16進数をひたすらやん。もちろん、現時点で意

もっとみる
OSの作り方:0日目

OSの作り方:0日目

OS作るにはどうしたらいいのか、OSを作るときの苦労がどういうものがあるか、を知る。

確かに、コンパイラなんて自作OSにはそもそもないし。クロスが当たり前だし、アセンブラの低レベル言語もしかり。機械語しかない=バイナリエディタ。なんて低レベル(いや、知的にじゃなく)な!

ポイントとしては、

・わからなくても進んでみる

・とりあえずやってみる

が大事なようで。その通りだなぁ。まずやってみる

もっとみる

OSの作り方でOS作るまで

OSの作り方の書籍を買いました。

今まで興味はあったものの、なかなか手を付けづらい領域だったので、これを機にやってみようと一念発起したとこです。

30日で作れるって書いてあるので、ほんとに30日でできるのか進捗と所感含めて書いてこーと思います。自分の記憶にとどめる役割もあるしね。

Linuxでデバイスドライバ書いたり、ユーザ領域のメモリマップしてたので、カーネルレベルの知識はある程度あるもの

もっとみる