KOS ist ein 64 -Bit -Betriebssystem für den x86_64 ISA. KOS ist ein Mikrokernel -Betriebssystem für Bildungszwecke, um einige der Kernkonzepte in Betriebssystemen wie Speicherallokation und Paging, Planung und Multithreading zu erfassen. Kos ist norwegisch für gemütliche.
Kos.ISO kann (hoffentlich) auf einer beliebigen X86_64 -CPU gebootet und ausgeführt werden, aber für die Entwicklung und das Testen ist es in Ordnung. Um es zu testen, ist es am einfachsten, Docker zu verwenden. Ich habe ein vorgebautes Docker -Bild mit Kos.ISO und Qemu vorinstalliert, um es auszuprobieren:
$ docker pull gedda/kos
$ docker run --rm -t gedda/kos
Dies startet einen Container und läuft Kos in QEMU. Strg+C zum Beenden.
Docker wurde als optionaler Helfer für Build Environment eingerichtet, wenn Sie nicht über den neuesten und größten Klang verfügen, der Ihnen zur Verfügung steht. Wenn Sie Docker nicht verwenden möchten, können Sie das Build -System über CMake generieren (vergessen Sie nicht, einen Klang 7 oder späteren Compiler zu erzwingen, GCC wird nicht unterstützt) und dann einfach das Ziel KOS_ISO zu machen, überprüfen Sie das Dockerfile auf detaillierte Anweisungen.
Die Dockerfile besteht aus mehrstufigen Builds, je nachdem, was Sie tun möchten. Um einfach eine Build -Umgebung einzurichten und einzugeben, können Sie dies in Ihrem Terminal ausführen:
$ docker build --target dev -t kos:dev .
$ docker run --rm -v $PWD:/kos -it kos:dev
Um einmal zu kompilieren und den Kos. -ISO aus Docker herauszuholen, müssen wir einen temporären Behälter erstellen, um die ISO aus dem Bild zu extrahieren:
$ docker build --target build -t kos:build .
$ CID=$(docker create kos:build)
$ docker cp $CID:/kos/build/kos.iso .
$ docker rm $CID
So erstellen Sie das gesamte minimale Docker -Bild von Grund auf neu:
$ docker build -t kos .
$ docker run -it kos
Derzeit MIT siehe Lizenzdatei.
Copyright Emil Gedda, 2018-2019