Open3
ゼロからのOS自作入門 メモ
第0章 (2021/4/14)
OSが持つ3つの側面
- アプリケーションに対するインターフェースとしての側面
- 計算資源分配者としての側面
- 人間に対してのインターフェースとしての側面
抽象化
詳細を隠して単純なインターフェースを提供すること
POSIX
UNIX系のOSが広く採用しているインターフェースで、C言語の関数やファイルシステム、プロセスなど、広い範囲をカバーします。
第1章 (2021/4/21)
Ubuntu 20.10 だと llvm-7-dev
が見つからなくてansibleで行う環境構築が成功しない。
Ubuntu 20.04 では成功したという報告あり。
$ ansible-playbook -K -i ansible_inventory ansible_provision.yml
BECOME password:
PLAY [all] *****************************************************************************************************
TASK [Gathering Facts] *****************************************************************************************
ok: [localhost]
TASK [ensure development tools are at the latest version] ******************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "No package matching 'llvm-7-dev' is available"}
PLAY RECAP *****************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
以下コマンドでllvm
をインストールし、再度試したが失敗。
$ sudo apt-get install llvm
Ubuntu 20.10 には llvm-7-dev
のパッケージが用意されていない?
$ apt search llvm-7-dev
ソート中... 完了
全文検索... 完了
第1章 (2021/4/22)
Ubuntu 20.10 を潰し、Ubuntu 20.04 LTS を再インストールし、第1章を再トライ。
A.1 開発環境のインストール
は無事完了。
試験用PCが無いので、エミュレータでHello Worldを実行する。
成功!
QEMUを簡単に起動するスクリプトを用意してくれているが、それでも長いのでエイリアスを定義しておいた。
.bashrc
alias qemu='$HOME/osbook/devenv/run_qemu.sh'
これで↓でエミュレータを起動できる。
$ qemu BOOTX64.EFI