XKernel - это современное ядро спосбоное работать без root каталога - поскольку весь функционал вшит в ядро, разрабатываемая с нуля. Проект направлен на создание легковесного, но функционального и гибкого Ядра, которая сочетает в себе простоту классических систем Dos, Unix но с возможностями современных технологий.
- Минималистичное ядро: Написано на C с ассемблерными вставками для критических компонентов
- Модульная архитектура: Возможность динамической загрузки и выгрузки компонентов системы
- Файловые системы: Поддержка только собственной XFS65
- Командная оболочка: Простой, но функциональный интерфейс командной строки
- Драйверы устройств: Базовая поддержка ATA-дисков, клавиатуры и VGA-дисплея
XKernel является ядром проекта UMixOS, который стремится создать:
- Полноценную альтернативу Apple MacOS и Microsoft Windows с открытым исходным кодом
- Систему без искусственных ограничений, где пользователь имеет полный контроль
- Универсальную ОС, одинаково удобную как для обычных пользователей, так и для продвинутых
- Гибкую и модифицируемую систему, которую можно настраивать, исследовать и модифицировать без ограничений
Важно: Данный репозиторий содержит только ядро (XKernel) и минимальный образ для его запуска с базовым Shell. Графический интерфейс, пользовательские приложения и дополнительный функционал разрабатываются в рамках проекта UMixOS и находятся в отдельном репозитории. // разработка UMix ещё не начата ввиду не законченного ядра
На данный момент реализованы:
- Загрузчик на основе GRUB2 с поддержкой Multiboot2
- Базовая инициализация 64-битного режима процессора
- Система прерываний и обработка клавиатуры
- Файловые системы XFS65
- Простая командная оболочка с базовыми командами
- Система управления памятью
- Модульная система для расширения функциональности
- Сетевой стек: Добавление поддержки TCP/IP и базовых сетевых протоколов
- Графический интерфейс: Разработка простого оконного менеджера
- Многозадачность: Реализация планировщика задач и многопроцессорной поддержки
- Расширенная файловая система: Улучшение существующих и добавление новых файловых систем
- Поддержка USB: Драйверы для работы с USB-устройствами
- Пользовательские приложения: Разработка базового набора утилит и приложений
- GCC (кросс-компилятор для x86_64)
- NASM
- GRUB2
- Bash
- Make
- Стабильно на Qemu, но может запускатся и на других
- Клонируйте репозиторий
- Запустите скрипт сборки:
./build.sh
- Запустите в эмуляторе:
qemu-system-x86_64 -cdrom os.iso -drive file=disk.img,format=raw,if=ide -m 256 -boot d
- src/kernel/Boot/: Загрузчик и инициализация системы
- src/kernel/Core/: Основные компоненты ядра
- src/kernel/Drivers/: Драйверы устройств
- src/kernel/FS/: Файловые системы
- src/kernel/Utils/: Вспомогательные функции и утилиты
- src/kernel/Xenial/: Основной файл и код ядра
Мы приветствуем вклад в развитие XKernel! Если вы хотите принять участие:
- Форкните репозиторий
- Создайте ветку для вашей функциональности
- Внесите изменения
- Отправьте pull request
Проект распространяется под лицензией MIT.
Если у вас есть вопросы или предложения, пожалуйста, создайте issue в репозитории или свяжитесь с командой разработчиков.