64-разрядная ОС более высокой половины ядра
Вам нужен компилятор GCC, LD Linker, который обычно предварительно установлен в UNIX-подобных системах. Также Qemu, Nasm, Xorriso и Make должны быть доступны.
Мы также используем Clang-Format в сценарии make format , поэтому обязательно установите его в рабочем пространстве разработки.
Чтобы запустить отладчик, убедитесь, что GDB.
Чтобы скомпилировать и построить в режиме отладки.
makeСкомпилировать и построить в производственном режиме.
make prodЕсли вы хотите запустить ОС с помощью QEMU, выполните:
make runЕсли вы хотите использовать GDB:
make drunЗатем откройте другую оболочку и перейдите в тот же каталог и:
make gdb| Особенность | Состояние |
|---|---|
| Limine Bootloader | Работа |
| Загрузка ядра | Работа |
| GDT | Работа |
| Идентификатор | Работа |
| Картинка | Работа |
| ЯМА | Работа |
| Клавиатура | Работа |
| printf | Работа |
| Основная подсказка | Работа |
| Картирование памяти | Работа |
| процесс | Работа |
| контекст переключение | Работа |
| нить | Работа |
| файловая система | Основные VFS реализованы |
| Ustar | Работа |
| пользовательский пространство | Нужно больше тестирования |
| игры | работа змеи и игры |
| программы | Кошка, LS работает |
| Функция, которая будет реализована |
|---|
| Может быть, внедрить ACPI для получения доступа к более продвинутым устройствам |
| Пользовательский пространство |
| Поддержка простых файловых систем, таких как FAT |
| Поддержка эльфа |
| Syscalls для выполнения двоичных файлов, таких как Elfs |
| Простая аппаратная поддержка, такая как USB |
Цель состоит в том, чтобы внедрить полностью функциональную ОС, которая будет иметь основные инструменты и, возможно, поддерживать LIBC и некоторые программы и приложения Unix, подобные Unix.
Поскольку мы являемся новичками в программировании OSDEV и низком уровне, нам пришлось использовать и
Прочитайте широкое количество источников, чтобы иметь некоторое понимание предмета.
Имена здесь не подойдут, но мы будем ссылаться на проекты Osdev, которые содержит много
очень хороших проектов, которые можно использовать в качестве ссылок для обучения. Мы определенно очень ценим каждый из них, который помог нам каким -либо образом.