Hatena::ブログ(Diary)

へにゃぺんて@日々勉強のまとめ

2015-04-05

x86(32ビット)用OSを作っています

f:id:cupnes:20150406002212g:image

少し前から、x86(32ビット)用OSを作っています。(64ビットじゃないのは、今だにx86マシンしか持っていないからです。。。)

シェルみたいなものが動くところまで来たので、記念に記事にしてみます。


できることは、上のGIFアニメの通りで、echoコマンドしか無いシェルもどきが動くだけです。

動作風景は上のGIFアニメにありますが、先頭に半角スペースが入っているとコマンド解釈できないのと、コマンド判別を最初の1文字で行なっているので、"e"一文字だけでも"echoコマンド"として解釈されます。

あと、まだBackSpaceキー、Shiftキーに対応していません。


「自分のマシンで動けば良い」方針で、自分の理解に合わせてボトムアップで作っていったので、「おまじない」のようなコードは少ないです。

なので、起動してからC言語の世界に入るまでの流れは分かりやすいのではないかと思います。


使い方

「どこでも動く」という所まで意識して作っていないので、保証はできませんが、

以下のような環境であれば、ビルドからQEMU上で動作確認までできると思います。

build-essentialパッケージに含まれるものですが、

GCCのバージョンは「4.7.2 (Debian 4.7.2-5)」です。


Githubリポジトリはこちらです。


この記事時点に"blog-20150405"のタグを追加しました。

記事作成時点のバージョンのソースコードは、タグをチェックアウトするか、

以下からダウンロードしてください。


以下のコマンドで、ビルドQEMU上で実行まで行います。

$ git clone https://github.com/cupnes/os5.git
$ cd os5/
$ make run

Hand Craft MasterHand Craft Master 2015/04/07 18:33 はじめまして。
私も昔OSを(自分専用に)作りました。頑張ってください。
最近、自分で自分にOSを作っている人を探してみようと思って、たどり着きました。

cupnescupnes 2015/04/08 08:04 コメントいただきありがとうございます。

ウェブサイト拝見しました。
> 全て自分にとって都合の良い仕様で設計し実装する事こそが、オリジナル OS の最大の魅力です。
という点は、私も全く同じように考えています。
「自分専用に」というところが、趣味でOSを作ることの魅力ですね。

Hand Craft MasterHand Craft Master 2015/04/08 23:27 cupnes さん、Hand Craft Master を訪れて頂きまして、ありがとうございます。
同じ機体でも色だけじゃなくて、OSまで違わないと、やっぱり3倍も速くはならなくて、「専用」ってなりませんよね。
私は当時、趣味のペーパークラフト用の私のCADを動かすために、どうしてもハードの性能を最大限に引き出す必要があって、私のCADとセットで専用のOSを作りました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元