KOS est un système d'exploitation 64 bits pour le X86_64 ISA. KOS est un système d'exploitation de micro-parcelles implacable à des fins éducatives pour apprendre et saisir facilement certains des concepts principaux des systèmes d'exploitation tels que l'allocation et la pagination de la mémoire, la planification et le multithreading. Kos est norvégien pour confortable.
Kos.iso peut (espérons-le) être démarré et exécuter sur n'importe quel CPU x86_64, mais pour le développement et les tests de l'exécution via Qemu, c'est très bien. Pour le tester, il est plus facile d'utiliser Docker. J'ai mis en place une image docker prédéfinie avec Kos.iso et Qemu préchargé, pour l'essayer:
$ docker pull gedda/kos
$ docker run --rm -t gedda/kos
Cela lancera un conteneur et exécutera KOS à l'intérieur de Qemu. Ctrl + C à quitter.
Docker a été configuré en tant que aide à l'environnement de construction en option, si vous n'avez pas le plus dernier et le plus grand Clang à votre disposition. Si vous ne souhaitez pas utiliser Docker, vous pouvez générer le système de construction via CMake (n'oubliez pas de forcer un compilateur Clang 7 ou ultérieur, GCC n'est pas pris en charge), puis faites simplement la cible KOS_ISO, vérifiez le Dockerfile pour des instructions détaillées.
Le dockerfile se compose de versions en plusieurs étapes en fonction de ce que vous voulez faire. Pour simplement configurer et entrer un environnement de construction, vous pouvez exécuter cela dans votre terminal:
$ docker build --target dev -t kos:dev .
$ docker run --rm -v $PWD:/kos -it kos:dev
Pour compiler une fois et retirer le kos.iso de Docker, nous devons créer un conteneur temporaire pour extraire l'ISO de l'image:
$ docker build --target build -t kos:build .
$ CID=$(docker create kos:build)
$ docker cp $CID:/kos/build/kos.iso .
$ docker rm $CID
Pour construire toute l'image Docker Runnable Minimal à partir de zéro:
$ docker build -t kos .
$ docker run -it kos
Actuellement, voir le fichier de licence.
Copyright Emil Gedda, 2018-2019