Guangdong University of Technology Panyu Campus-next ฉันต้องการชมเกม
ระบบปฏิบัติการของเราส่วนใหญ่หมายถึงหนังสือ "RISC-V Architecture Programming and Practice Programming" ที่เขียนโดย Ben Shu
ข้อมูลอ้างอิงอื่น ๆ :
"การออกแบบและการใช้งานระบบปฏิบัติการ 64 บิต"-Tian Yu
RISCV-XV6
ทำทั้งหมด: รวบรวม
ทำให้วิ่ง: เริ่ม qemu
ทำความสะอาด: ล้างไฟล์ที่สร้างขึ้นทั้งหมด
ทำดีบัก: เริ่ม QEMU และ GDB ดีบัก
เนื่องจากข้อ จำกัด ด้านเวลาระบบปฏิบัติการของเราใช้การประมวลผลขัดจังหวะอย่างง่ายการจัดการหน่วยความจำฟังก์ชั่นการกำหนดเวลากระบวนการส่วนเล็ก ๆ ของระบบไฟล์และการโทรระบบไม่กี่ เนื่องจากข้อผิดพลาดไม่ได้รับการแก้ไขในที่สุดไดรเวอร์ Virtio ของเรายังคงมีปัญหาและไม่สามารถใช้งานได้ ระบบไฟล์ยังไม่เสร็จสมบูรณ์ ดังนั้นระบบไฟล์จึงไม่ได้ระบุเอกสาร โปรดยกโทษให้ฉัน
เราแก้ไขข้อผิดพลาดของไดรเวอร์ Virtio เสร็จระบบไฟล์พื้นฐานและรองรับไฟล์ Loaders ELF ที่รองรับ Linkers แบบคงที่และรองรับคำสั่ง syscall และ shell จำนวนเล็กน้อย
การจัดการข้อยกเว้นและการขัดจังหวะ
การจัดการหน่วยความจำและการแมปตารางหน้า
การจัดการกระบวนการและการกำหนดเวลา
ระบบไฟล์เสมือน VFS
ตัวโหลดเอลฟ์
Qu Weikai รับผิดชอบการพัฒนารหัส Liang Sijun และเขา Chang รับผิดชอบการดีบักของข้อบกพร่องและการเขียนเอกสาร
.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 Debugging ซึ่งปรับปรุงประสิทธิภาพของการดีบักของเราอย่างมาก แม้ว่ามันจะน่าเศร้ามากที่เราล้มเหลวในการกรอกและทดสอบระบบปฏิบัติการของเราความรู้ที่เราได้เรียนรู้เนื่องจากการแข่งขันได้รับประโยชน์มากมายซึ่งได้บรรลุเป้าหมายของเราในการเข้าร่วมการแข่งขัน