Skip to content

This project aims to develop a secure operating system for RISC-V architecture, focusing on robust security features and minimal attack surface.

License

Notifications You must be signed in to change notification settings

Trytonottry/riscv-secure-os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 RISC-V Secure OS

Build License Platform Language Made with ❤️

Минимальная операционная система для архитектуры RISC-V, созданная с акцентом на безопасность и простоту архитектуры ядра.
Проект включает загрузчик, ядро и инструменты сборки, позволяя глубже понять принципы работы низкоуровневых систем.


⚙️ Структура проекта

riscv-secure-os/
├── bootloader/          # Исходники загрузчика
│   ├── boot.S           # Ассемблерный код начальной загрузки
│   └── makefile.mak     # Makefile для сборки загрузчика
├── kernel/              # Исходники ядра ОС
│   ├── entry.S          # Точка входа ядра
│   ├── init.c           # Инициализация ядра
│   └── makefile.mak     # Makefile для сборки ядра
├── scripts/
│   └── build.sh         # Скрипт автоматической сборки
├── LICENSE              # Лицензия проекта
└── README.md            # Документация

🚀 Сборка и запуск

Требования:

  • Компилятор riscv64-unknown-elf-gcc
  • Утилита make
  • Эмулятор QEMU (riscv64-softmmu) или отладочная плата RISC-V

Сборка:

cd scripts
bash build.sh

Запуск в QEMU:

qemu-system-riscv64 -machine virt -kernel kernel/kernel.elf -nographic

🔒 Основные особенности

  • 🧩 Минимальное ядро — только базовые механизмы инициализации
  • ⚙️ Ручная сборка — прозрачная структура makefile'ов
  • 🧠 Безопасная архитектура — изоляция уровня загрузки и ядра
  • 💬 Легко расширяемо — можно добавить драйверы, файловую систему, системные вызовы

🧩 Архитектура

[ Bootloader (boot.S) ] → [ Kernel Entry (entry.S) ] → [ Kernel Init (init.c) ]
  • Bootloader инициализирует систему, готовит стек и передаёт управление ядру.
  • Kernel Entry подготавливает окружение, регистры и память.
  • Kernel Init выполняет инициализацию подсистем ОС.

💡 Идеи для развития

  • Добавить поддержку прерываний и системных вызовов
  • Реализовать базовый планировщик задач
  • Поддержка памяти и простейшей файловой системы
  • Встроить монитор отладки

🛠️ Используемые технологии

  • RISC-V Assembly
  • C (Bare-metal)
  • GNU Make
  • QEMU

📜 Лицензия

Проект распространяется под лицензией MIT — свободно используйте, модифицируйте и распространяйте.


💬 Автор

Создан энтузиастом низкоуровневого программирования
с целью обучения и демонстрации принципов безопасной архитектуры ОС для RISC-V.


⚡️ Резюме

Проект — отличная база для изучения RISC-V и разработки собственных bare-metal систем.
Пусть каждая строка кода приближает тебя к пониманию, как рождается ОС из ассемблера и Си 💻🔥

About

This project aims to develop a secure operating system for RISC-V architecture, focusing on robust security features and minimal attack surface.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published