сланцы
SLOS представляет простую светлую ОС. Этот репозиторий предназначен для исходного кода SLO, работающих в процессоре ARM. Он тестируется в чипсете Cortex-A9 в чипсете Xilinx Zynq7000 (в настоящее время тестируется на плате Coraz7), но, по-видимому, расширяется до других продуктов.
Список реализации
- Управление процессами
- TCB (блок управления задачами)
- Задача Форк - forkyi ()
- GIC - обработчик прерываний (верхняя половина / нижняя половина)
- Синхронизация задачи (спин блокировка)
- состояние задачи - task_running, task_waiting
- Таймер рамка работы
- Таймер в реальном времени, таймер по расписанию, таймер OneShot
- Таймер прерываний
- Планировщик в реальном времени для задачи RT
- Самый ранний срок первого планировщика
- упреждающий контекст переключатель
- Планировщик CFS для задачи другие
- запустить Q и подождать Q
- Имитировать Linux Run Q и Scheduler CFS
- предприятие с графиком с виртуальной средой выполнения
- Задача оболочки, задача работника, задача CPU -холостого хода и фиктивная задача
- Управление памятью
- Page Frame Pool
- Небольшая страница таблица
- Менеджер виртуальной памяти
- обработчик разломов страницы
- спрос на пейджинг
- SLFS (Simple Light File System)
- на основе Рамдиска
- 2 -уровневая файловая система: размер файла до 800 КБ
- ОЗУ диска и эльф -погрузчика для использования приложений
- Syscalls через инструкцию SVC - Libslos.A
- Аппаратное обеспечение кода
- Две реализации FPGA (Modcore, ODEV) для пользовательской периферийной HW в подсистеме PL
- База сценария Vivado Project Project
- Драйвер устройства с обработчиком прерываний DMA
- драйвер устройства для устройства вне потока
- SMP (симметричный многопроцессор)
- CPU 0 и CPU 1 загружаются и работают с идентичным ядром
- PERCPU Ресурс Хранение
- SGI (программное обеспечение, сгенерированное прерывание) между ЦП 0 и ЦП 1
- Почтовый ящик для связи между ЦП 0 и ЦП 1
Система сборки:
- Сборка Cmake, создайте сборку, оба работают
- Kconfig
- Статически связанное дерево устройства для драйвера устройства
Отправьте небольшую книгу по разработке пользовательской ОС от Scratch.pdf для получения дополнительной информации.
Примечания: Для Petalinux-Package для Cora Z7 используется и проверяется Petalinux V2023.2