Простая операционная система хобби для архитектуры x86_64, написанная в C.
На дизайн сильно влияет ядро Linux, и поэтому вы можете найти много сходств между ними.
Этот репозиторий лицензирован в соответствии с GPLV3. См. LICENSE.md для более подробной информации.
Я написал большую часть кода здесь, когда мне было 16-17, и не знал лучше. Есть некоторые части (в основном биты, связанные с атомикой), которыми я не особенно горжусь, поэтому копируйте на свой страх и риск. Если вы найдете проблему, не стесняйтесь открыть проблему или отправить PR.
Вам понадобится:
binutils для x86_64-elfgcc для x86_64-elf с возможностями -mno-red-zone и C11 (инструкции) Затем, чтобы построить byteos.iso , просто беги:
makeВам понадобится (в дополнение к вышеуказанным зависимостям):
x86_64Затем бежать в Qemu:
make run Отладка требует специально исправленной версии GDB для совместимости с QEMU. После того, как вы установите это, просто запустите The debug Make Target.
Сначала запустите update-modules сделайте цель для загрузки необходимых файлов. Затем просто запустите make test .
Смотрите Makefile для более подробной информации.
Не стесняйтесь открывать проблему, если у вас есть какие-либо вопросы/проблемы или запросы, если вы хотите внести какой-то код.
Особая благодарность №92 за массовую очистку системы сборки.