KOS es un sistema operativo de 64 bits para el ISA x86_64. KOS es un sistema operativo de microkernel indicado para fines educativos para aprender y comprender fácilmente algunos de los conceptos centrales en los sistemas operativos, como la asignación de memoria y la paginación, la programación y la multicia. Kos es noruego para acogedor.
Kos.iso puede (con suerte) ser arrancado y ejecutarse en cualquier CPU x86_64, pero para el desarrollo y la prueba de ejecutarlo a través de Qemu está bien. Para probarlo, es más fácil usar Docker. He configurado una imagen de Docker prebuilt con Kos.iso y Qemu precargado, para probarla:
$ docker pull gedda/kos
$ docker run --rm -t gedda/kos
Esto iniciará un contenedor y ejecutará KOs dentro de QEMU. Ctrl+C para salir.
Docker ha sido configurado como un ayudante de entorno de construcción opcional, si no tiene el último y mejor rango a su disposición. Si no desea usar Docker, puede generar el sistema de compilación a través de CMake (no olvide forzar un compilador Clang 7 o posterior, el GCC no es compatible) y luego simplemente haga el objetivo KOS_ISO, verifique el DockerFile para obtener instrucciones detalladas.
El Dockerfile consiste en compilaciones de múltiples etapas dependiendo de lo que desee hacer. Para simplemente configurar e ingresar un entorno de compilación, puede ejecutar esto en su terminal:
$ docker build --target dev -t kos:dev .
$ docker run --rm -v $PWD:/kos -it kos:dev
Para compilar una vez y sacar el kos.iso de Docker, necesitamos crear un contenedor temporal para extraer el ISO de la imagen:
$ docker build --target build -t kos:build .
$ CID=$(docker create kos:build)
$ docker cp $CID:/kos/build/kos.iso .
$ docker rm $CID
Para construir toda la imagen de Docker de ejecución mínima desde cero:
$ docker build -t kos .
$ docker run -it kos
Actualmente MIT, ver archivo de licencia.
Copyright Emil Gedda, 2018-2019