KOS является 64 -битной операционной системой для x86_64 ISA. KOS - это операционная система Microkernel, поданная для образовательных целей, чтобы изучить и легко понять некоторые основные концепции в операционных системах, таких как распределение памяти и пейджин, планирование и многопоточное. Кос норвежский для уюта.
Kos.iso может (надеюсь) загружаться и запускать на любой процессор x86_64, но для разработки и тестирования, проведенного через Qemu, просто в порядке. Чтобы проверить это, легче всего использовать Docker. Я установил предварительно построенное изображение Docker с предварительно загруженным Kos.iso и Qemu, чтобы попробовать:
$ docker pull gedda/kos
$ docker run --rm -t gedda/kos
Это запустит контейнер и запустит KO внутри QEMU. 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 см. Файл лицензии.
Авторское право Эмиль Гедда, 2018-2019