Universidad Tecnológica de Guangdong Panyu Campus-Next Quiero alabar un juego
Nuestro sistema operativo se refiere principalmente al libro "Programación y práctica de arquitectura RISC-V" escrita por Ben Shu.
Otras referencias:
"Diseño e implementación de un sistema operativo de 64 bits"-Tian Yu
riscv-xv6
hacer todo: compilado
hacer ejecución: inicio qemu
Hacer limpio: Borre todos los archivos generados
Hacer depuración: inicio de Qemu y GDB Depurging
Debido a las limitaciones de tiempo, nuestro solo sistema operativo implementa un procesamiento de interrupción simple, administración de memoria, funciones de programación de procesos, una pequeña parte del sistema de archivos y algunas llamadas al sistema. Dado que el error no se solucionó con éxito al final, nuestro controlador Virtio todavía tiene problemas y no se puede usar. El sistema de archivos no está completamente completado. Por lo tanto, el sistema de archivos no ha dado documentación. Por favor, perdóname.
Se solucionamos el error del controlador Virtio, completamos un sistema de archivos básico y solo admitimos cargadores de archivos ELF que ejecutaban enlazadores estáticos, y admitimos una pequeña cantidad de comandos SYSCall y Shell
Manejo e interrupciones de excepción
Gestión de memoria y mapeo de la tabla de páginas
Gestión y programación de procesos
Sistema de archivos virtuales de VFS
Cargador de elfos
Qu Weikai es responsable del desarrollo del código, Liang Sijun y He Chang son responsables de la depuración de errores y la escritura de documentos.
.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模式相关Debido a las limitaciones de tiempo y nuestro nivel limitado, no completamos el trabajo dentro del tiempo especificado. Sin embargo, también aprendimos mucho durante este período. La clase del sistema operativo de la escuela se centra en la teoría, y la competencia nos dio una comprensión más profunda del sistema operativo desde el nivel práctico. Durante la redacción del trabajo, también aprendimos muchas maneras de mejorar la eficiencia del desarrollo, como desde el comienzo del uso de la línea de depuración GDB de la línea de comando hasta el aprendizaje posterior para usar VScode para conectarse a la depuración de GDB, lo que mejoró en gran medida la eficiencia de nuestra depuración. Aunque es muy lamentable que no pudiéramos completar y probar nuestro sistema operativo, el conocimiento que aprendimos desde que la competencia se ha beneficiado mucho, lo que también ha logrado nuestro objetivo de participar en la competencia.