O KOS é um sistema operacional de 64 bits para o X86_64 ISA. O KOS é um sistema operacional de microkernel indecente para fins educacionais para aprender e entender facilmente alguns dos conceitos principais em sistemas operacionais, como alocação e paginação de memória, programação e multithreading. Kos é norueguês para aconchegante.
O KOS.iso pode (esperançosamente) ser inicializado e executado em qualquer CPU x86_64, mas para desenvolvimento e teste que a execução do QEMU está bem. Para testá -lo, é mais fácil usar o Docker. Eu configurei uma imagem do Docker pré -construída com kos.iso e qemu pré -carregados, para experimentá -la:
$ docker pull gedda/kos
$ docker run --rm -t gedda/kos
Isso iniciará um contêiner e executará Kos dentro de Qemu. Ctrl+C para sair.
O Docker foi configurado como um ajudante de ambiente de construção opcional, se você não tiver o melhor e mais recente clang à sua disposição. Se você não quiser usar o Docker, pode gerar o sistema de construção através do CMake (não se esqueça de forçar um compilador Clang 7 ou posterior, o GCC não é suportado) e, em seguida, basta fazer com que o KOS_ISO alvo, verifique o DockerFile para obter instruções detalhadas.
O Dockerfile consiste em compilações em vários estágios, dependendo do que você deseja fazer. Para simplesmente configurar e inserir um ambiente de construção, você pode executar isso em seu terminal:
$ docker build --target dev -t kos:dev .
$ docker run --rm -v $PWD:/kos -it kos:dev
Para compilar uma vez e tirar o kos.iso do Docker, precisamos criar um contêiner temporário para extrair o ISO da imagem:
$ 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 a imagem minimalista do Docker Runnable do zero:
$ docker build -t kos .
$ docker run -it kos
Atualmente MIT, consulte o arquivo de licença.
Copyright Emil Gedda, 2018-2019