即该文档,描述了目录、作者等整体性的内容。
OS设计过程中的思路和个人偏好等。
到目前阶段系统的整体框架结构。
qianpinyi开发前后的心得体会。
PeaceSheep开发前后的心得体会。
从开始写代码到撰写该文档中途的开发进度历程。
开发过程中遇到的一些瓶颈、问题以及其解决方案,有需要的同学或许可以从中获得启发。
一些调试的经验和经历的记录。
系统中尚不完善的内容、后续需要改进的地方,以及未来准备实现的内容。
系统启动相关实现文档,包括启动代码,初始化流程等。
中断与异常的相关实现文档,包括中断与异常的接收与分发、陷入时保存恢复现场等。
进程管理概览文档,介绍了整体性的设计思路和结构,描述了进程结构体(类)。
详细描述了进程对象的组成与设计的文档。
进程切换、执行、启动方面的实现文档。
自旋锁、信号量及其拓展功能的实现文档。
ELF格式文件解析并与本系统对接的实现文档。
内存管理概览文档,介绍了整体性的设计思路和结构。
物理内存分配器的设计与实现文档,包括空闲链表和类似伙伴系统两种实现。
虚拟内存管理实现文档,包括页表、页表项、虚拟内存空间、虚拟内存区域、缺页中断处理、内存拷贝等。
文件系统概览文档,介绍了整体性的设计思路和结构。
虚拟文件系统的设计文档,虚拟文件系统是对各类文件系统的抽象,便于隔离各个模块,屏蔽具体实现差异。此外,还介绍了虚拟文件系统管理器和文件结点的设计,虚拟文件系统管理器是全局的对虚拟文件系统进行管理的类,负责全局目录树的管理。
包括标准输入输出文件、管道文件、内存映射文件、内存文件等特殊类型文件的设计文档。
文件句柄的设计文档,文件句柄是进程操作文件的接口。
FAT32文件系统的具体实现文档。
系统调用整体结构上的设计实现。
比赛相关的具体每一个系统调用的设计实现文档。
介绍了设备管理相关的实现方案的文档。
开发过程中使用了很多开发应用、底层都会用到的基础设施库,以及一些共性的内容,进行相关描述的文档。
KOUT是类似于cout 的输出流类,并对其进行了各方面的强化,文档介绍使用方式以及实现方法。
C++模板实现的各类便利的工具。
字符串相关的工具。
本系统的实现参考和学习了包括XV6、XV6-K210、rCore、uCore等系统,非常感谢这些先驱者们提供的宝贵教程与文档。
对于本次比赛的指导老师,非常感谢来自南京航空航天大学的刘亮和朱小军老师,我们上了这两位老师的课程,并在比赛过程中获得了他们的指导和帮助。
另外,非常感谢我们计算机组成原理的冯爱民老师,她让我们了解到这个比赛,并且也在比赛过程中提供了关于Riscv等方面的指导和帮助。也非常感谢我们C++程序设计的皮德常老师,他给我们提供了最初写操作系统的想法方面的指导。
此外,非常感谢组委会提供了这样一个学习和展示自我的平台,感谢群内提供帮助的老师和同学们。
By:qianpinyi
2022.06.04