Guangdong University of Technology Panyu campus-next Je veux louer un jeu
Notre système d'exploitation se réfère principalement au livre "RISC-V Architecture Programming and Practice" écrit par Ben Shu.
Autres références:
"Conception et mise en œuvre d'un système d'exploitation 64 bits" - Tian Yu
RISCV-XV6
faire tout: compilé
faire courir: démarrer Qemu
Rendre Clean: Effacer tous les fichiers générés
faire du débogage: démarrer le débogage Qemu et GDB
En raison des limites de temps, notre système d'exploitation implémente uniquement le traitement d'interruption simple, la gestion de la mémoire, les fonctions de planification de processus, une petite partie du système de fichiers et quelques appels système. Étant donné que le bogue n'a pas été corrigé avec succès à la fin, notre pilote Virtio a toujours des problèmes et ne peut pas être utilisé. Le système de fichiers n'est pas entièrement terminé. Par conséquent, le système de fichiers n'a pas donné de documentation. S'il te plaît, pardonne-moi.
Nous avons corrigé le bogue du pilote Virtio, terminé un système de fichiers de base et pris en charge uniquement les chargeurs de fichiers ELF qui exécutaient des lieurs statiques, et pris en charge un petit nombre de commandes syscall et shell
Gestion des exceptions et interruptions
Gestion de la mémoire et cartographie du tableau des pages
Gestion et planification des processus
Système de fichiers virtuel VFS
Chargeur elfe
Qu Weikai est responsable du développement du code, Liang Sijun et He Chang sont responsables du débogage des bogues et de la rédaction de documents.
.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模式相关En raison des limites de temps et de notre niveau limité, nous n'avons pas terminé les travaux dans le délai spécifié. Cependant, nous avons également beaucoup appris au cours de cette période. La classe du système d'exploitation de l'école se concentre sur la théorie, et la concurrence nous a permis de mieux comprendre le système d'exploitation du niveau pratique. Lors de la rédaction du travail, nous avons également appris de nombreuses façons d'améliorer l'efficacité du développement, comme depuis le début de l'utilisation de la ligne de commande GDB débogage à l'apprentissage ultérieur à utiliser VSCODE pour se connecter au débogage de GDB, ce qui a considérablement amélioré l'efficacité de notre débogage. Bien qu'il soit très regrettable que nous n'ayons pas réussi à terminer et à tester notre système d'exploitation, les connaissances que nous avons apprises depuis que la compétition a beaucoup profité, ce qui a également atteint notre objectif de participer à la compétition.