KOSは、X86_64 ISAの64ビットオペレーティングシステムです。 KOSは、メモリの割り当てやページング、スケジューリング、マルチスレッドなどのオペレーティングシステムのコアコンセプトのいくつかを学び、簡単に把握するための教育目的で守られているマイクロカーネルオペレーティングシステムです。コスは居心地の良いノルウェー人です。
kos.isoは(できれば)起動してx86_64 CPUで実行できますが、開発とテストのためにqemuを実行するのは問題ありません。テストするには、Dockerを使用するのが最も簡単です。 Kos.isoとQemuがプリロードされた事前に作成されたDocker画像を設定して、試してみてください。
$ docker pull gedda/kos
$ docker run --rm -t gedda/kos
これにより、コンテナが起動し、QEMU内でKOSを実行します。 ctrl+cを終了します。
Dockerは、最新かつ最大のクラングが自由に使える場合、オプションのビルド環境ヘルパーとして設定されています。 Dockerを使用したくない場合は、CMakeを介してビルドシステムを生成できます(Clang 7以降のコンパイラを強制することを忘れないでください。GCCはサポートされていません)。その後、KOS_ISOターゲットを作成するだけで、DockerFileの詳細な指示を確認してください。
Dockerfileは、何をしたいかに応じて、マルチステージビルドで構成されています。ビルド環境を設定して入力するには、端末でこれを実行できます。
$ docker build --target dev -t kos:dev .
$ docker run --rm -v $PWD:/kos -it kos:dev
一度コンパイルしてkos.isoをDockerから取得するには、画像からISOを抽出するために一時的なコンテナを作成する必要があります。
$ docker build --target build -t kos:build .
$ CID=$(docker create kos:build)
$ docker cp $CID:/kos/build/kos.iso .
$ docker rm $CID
最小限の実行可能なDocker画像をゼロから構築するには:
$ docker build -t kos .
$ docker run -it kos
現在、MIT、ライセンスファイルを参照してください。
Copyright Emil Gedda、2018-2019