本文档旨在记录我在完成 华中科技大学 操作系统课程设计(Gitee),基于 课程源代码仓库(Github) 学习时,所遇到的困难及其解决方案,特别是在开发基于RISC-V代理内核(Proxy Kernel)的操作系统过程中积累的具体经验。文档内容不仅包括对原文档的补充,还针对具体问题提供了详细的解决方案,旨在为后续同学的学习提供帮助和参考。
开源精神是本项目的核心,借助社区智慧和实践探索,希望能为开源事业贡献微薄之力。文档中的参考资料由ChatGPT/Deepseek自动基于网上现有的资源整合生成,经过作者审阅编写,其中可能存在不准确或不完善之处,欢迎读者提出宝贵意见,改进这个项目。
本课程项目旨在基于 RISC-V 工具链 设计并实现一个代理内核(Proxy Kernel,PKE)操作系统(相当于虚拟机),旨在通过一系列实验任务,帮助学生深入理解操作系统原理及其与硬件的协同工作。通过实现一个简化的代理内核,学生将聚焦于操作系统核心功能的实现,如内存管理、进程调度和中断处理,避免过多的硬件相关问题,从而集中精力掌握系统的核心概念和技术。
本实验采用的代理内核架构,区别于传统的宏内核和微内核,重点在于通过简化的设计满足给定应用的需求,系统规模随着应用需求的变化而变化。这种方法不仅极大降低了实验的复杂性,也保留了操作系统设计的完整性,既能管理处理器和内存,又能通过与主机的通信来完成硬件功能,从而为后续的软硬协同设计打下基础。
在完成操作系统部分的实验后,系统能力培养部分将引导学生在 FPGA 开发板上部署 RISC-V 软核,并扩展代理内核以实现设备管理和文件访问等更复杂功能。整个实验流程循序渐进,从基础实验到挑战实验,旨在帮助学生深入理解操作系统和计算机系统的整体架构,并为开发和验证现代计算机系统提供实践经验。
docker pull crpi-x7y7w4q8rsfacqq9.cn-shanghai.personal.cr.aliyuncs.com/cubelander-images/x86-pke:latest