😎
30日後にosを完成させる。(1日目)
記事の目的
みかん本(MikanOSの自作本)を最後まで完遂する。
低レイヤーの知識をつけて今までブラックボックスだった部分を少しでも理解する。開発環境
-
PCのスペック
macOS Monterey
MacBook Air(M1, 2020)
Memory 16GB
ストレージ: 500GB -
MikanOSの開発環境(UTMで開発環境をエミュレート)
参考記事
OS: Ubuntu 20.04
Architecture: x86_64
Memory: 8GB
ストレージ16GB(おそらく)
進め方(予定)
- 本が約710ページあるので1日平均24ページ進める必要がある。その中でわからないことや詰まる部分が出てくるので余裕を持って30ページを目安に進めていこうと思う。
- 途中分からなくてもひとまず前に進む
- 1日1時間は最低作業をする
10/29のアウトプット(p35まで)
hello worldが出せた。
理解したこと/詰まったとこ(編集中)
-
UTMはQEMUベースのエミュレーター.
-
QEMUは開発用pc上で動作するプロセッサエミュレータ.
-
MicanOSの開発には試験用pcと開発用pcが必要。(今回はどちらもエミュレータを使用した)
-
MicanOSの開発
- 開発用のpcでosのソースを書いてコンパイルする
- 生成された実行ファイルをusbメモリに書き込む
- 試験用のパソコンにusbメモリを接続し、電源を入れ、実行する
-
os作りの大まかな流れ
- UEFI BIOSで動くブートローダーを作る
- 図形や文字を画面に表示する
- マウスを使えるようにする
- タイマーに対応する
- キーボードに対応して文字を入力できるようにする
- マルチタスクの実装
- ターミナルとコマンドを実装
- ファイルシステムを作る
- アプリケーションを作れるようにする
- システムコールを作る
- システムコールを拡充する
- ターミナルを複数起動できるようにする
- アプリがファイルを読み書きする仕組みを作る
- 日本語を表示できるようにする
- アプリ間通信をできるようにする
感想
学んだことを整理するのがまだできていない。
ubuntu20.04のisoファイル(よく分からん)のをここからダウンロードしてきてUTMでバーチャルマシンを作成するときに指定した。
biosいまだによく分からん。windowsのノートPCの電源をつけた時にBIOSのパスワードを求められるところでしかみたことがなかった。
ubuntuのキーボードの設定をどうにかしないとイコールもバックスラッシュも打てない。。(明日やろう)
Discussion