OS自作

newlibの導入(2)

前回newlibの導入はできたと思って記事を書いたけれど、間違いだった 今回はgcc4.2.3をコンパイルできたのでnewlibのコンパイルにも成功した newlibをコンパイルしてインストールするとインストール先にlib/とinclude/フォルダができる lib/にはcygmon-crt0.…

newlibの導入

newlibというのは軽量なライブラリです。 libc,libmなどをユーザプロセスが使うために導入します。newlibを作成する環境はi686なんですが、自作OSはi486なので、合わせないといけない(多分。実際は分からないだけ//) なのでconfigure --target=i386-elfし…

文字列表示

先日、画面の解像度を1024x768に変更した それまではキャラクタディスプレイだったので 文字の表示はハードウェア任せだったそこで文字列を表示する関数およびフォントが必要となった そこでフォントは30日OSから持ってきたもの(hankaku.bin)を使った hankak…

今後の予定

これまで今までやってきたことの中で30日OSとの違うところ 開発環境をLinuxに移した C++,nasm GRUBで起動できるようにした 仮想メモリ IPC メモリ管理(kmalloc,new,delete) IDEドライバ fork Ext2 elfローダ exec プロテクトモードでの画面モード切り替え …

画面の解像度を上げる

今まで解像度を320x200のまま使ってきた 簡単に文字が表示できるのでいいのだが、表示できる文字数が少ないのがネックそこで解像度を上げる 30日OSの方法をパクろうかと思ったが自作OSは現在GRUBを使っているのでBIOSを使ってビデオモードを変更できな…

exec実装

execが実装できた(かなり適当なものだけど) そのためにやったことは まずelf形式ファイルの扱い型の勉強 リンカスクリプトを書いて、自作OSのメモリマップに合わせる elfヘッダの指示どおりのアドレスに実行ファイルの内容を読み込む エントリポイントへジ…

execの実装計画

ハードディスクからファイルを読めるようになったので execを実装して、実行ファイルからプロセスを起動できるようにするローダは実行ファイルの各セクションをメモリ空間に配置する 実行ファイルの形式はELFフォーマットにするローダ以外に必要なのこと普通…

Ext2の実装

ハードディスクのドライバを他の人が作っている自作OSから自分のOSに移植したので 本格的にファイルシステムを作ってみようと思う 実装するファイルシステムはExt2 参考にしたサイトー>http://wiki.osdev.org/Ext2自分のOSは現在、ハードディスクのイメー…

ブート

僕が作っているOSはフロッピーから起動していました フロッピーを使っているのは単純に簡単だからです ブート方法も非常に簡単で、「30日でできるOS自作」という本に書いてあることを少しアレンジしただけのシンプルなものでした したがってメモリ容量の取…