seiya nutaさん という方が書かれた、 Writing an OS in 1000 Lines という教材があります。 C言語を用いて、1000行未満で、 素朴なコンテキストスイッチ ページング ユーザーモード コマンドラインシェル ディスクデバイスドライバ ファイルの読み書き を実装するという驚異的な教材です。 今回はこの教材のカーネル部分をRustで再実装する、ということを行ってみました。 また、教材が取り扱うアーキテクチャがRISC-V 32bitだったので、64bit化もしてみました。 リポジトリは こちら です。 ./run.sh すれば立ち上がります。 教材から変更した部分 教材から次の部分を変更しました。 32bitから64bitへ変更 シェルをELFのままtarファイルシステムに詰め込み、ヘッダを解釈してロードする ユーザーランドのバイナリ生成において、clangか
![「Writing an OS in 1000 Lines」をRISC-V 64bit向けにRustで書いた](https://cdn-ak-scissors.b.st-hatena.com/image/square/d08e29d9e45b348f48f0d0690c520571098d31ce/height=288;version=1;width=512/https%3A%2F%2Fhanazonochateau.net%2Fsite_ogp.png)