Гуандонский университет технологического университета Panyu в кампусе-н.э. Я хочу похвалить игру
Наша ОС в основном относится к книге «Программирование и практику архитектуры RISC-V, написанная Беном Шу.
Другие ссылки:
«Разработка и реализация 64-битной операционной системы»-Tian Yu
RISCV-XV6
Сделайте все: скомпилировано
Сделать бег: запустить Qemu
Сделайте чисто: очистить все сгенерированные файлы
Сделать отладь: начинать отладку QEMU и GDB
Из -за ограничений по времени наша ОС реализует только простую обработку прерываний, управление памятью, функции планирования процессов, небольшая часть файловой системы и несколько системных вызовов. Поскольку ошибка не была успешно исправлена в конце, у нашего драйвера Virtio все еще есть проблемы и не может быть использован. Файловая система не полностью завершена. Поэтому файловая система не дала документации. Пожалуйста, прости меня.
Мы исправили ошибку драйвера Virtio, заполнили базовую файловую систему и поддерживаемые только эльфийские файловые погрузчики, которые запускали статические линкеры, и поддерживали небольшое количество команд Syscall и Shell
Обработка исключений и прерывания
Управление памятью и картирование таблиц страниц
Управление процессами и планирование
Виртуальная файловая система VFS
Эльфийский погрузчик
Qu Wekai отвечает за разработку кода, Лян Сиджун и он Чанг несет ответственность за отладку ошибок и написание документов.
.vscode:vscode相关
bootloader:opensbi生成的sbi固件,由于使用了QEMU默认的sbi固件,因此该文件夹内的opensbi固件未使用
doc:文档说明
include:头文件
LinkList.h:链表操作
buf.h:与文件系统相关,用于读写虚拟磁盘的缓冲区
csr.h:控制寄存器相关
fs.h:与文件系统相关,由于未完成,目前内容仅有超级块的定义
io.h:与读取写入相关
log.h:文件系统相关,磁盘日志
memory.h:mmu和内存管理相关
page_table.h:页表相关的宏定义
plic.h:plic相关
process.h:进程管理相关
pt_offset.h:与上下文现场保存相关
sbi.h:S模式下系统调用opensbi固件接口
scheduler.h:进程调度相关
sleeplock.h:睡眠锁
syscall.h:系统调用
timer.h:定时器
trap.h:中断和异常
uart.h:16550串口控制器
virtio.h:virtio设备驱动
VFS.h:虚拟文件系统相关
fat32.h:fat32文件系统相关
elf.h:elf格式定义
elf_loader.h:elf加载器
sysflags.h:系统调用使用标志
kernel:内核文件夹
driver:virtio驱动,存在问题
fs:文件系统相关
memeory:内存管理和mmu映射
process:进程管理
trap:中断和异常
boot.S:opensbi引导到跳转至内核
entry.S:汇编相关定义
linker.ld:链接脚本
main.c:内核主函数在内
lib:通用库,包含输出和基本函数
usr:与U模式相关Из -за ограничений по времени и нашего ограниченного уровня мы не завершили работу в течение указанного времени. Тем не менее, мы также многому научились в течение этого периода. Класс операционной системы школы фокусируется на теории, и конкуренция дала нам более глубокое понимание операционной системы с практического уровня. Во время написания работы мы также узнали множество способов повысить эффективность развития, например, с самого начала использования командной строки отладки GDB до более позднего обучения для использования VSCODE для подключения к отладке GDB, что значительно повысило эффективность нашей отладки. Хотя очень прискорбно, что мы не смогли завершить и проверить нашу ОС, знания, которые мы узнали с тех пор, как конкуренция очень принесла пользу, что также достигло нашей цели участия в конкурсе.