第一阶段
参加训练营让我了解到有 rust 这门语言,以前写c/c++习惯了指针的自由操作,刚开始非常不适应,但随着之后的学习越来越爱。
Rust 兼顾安全与性能,Rust的所有权机制让内存管理变得十分高效且安全, 减少了很多的内存问题, Rust的所有权、借用和生命周期模型可以在编译期防止常见的内存错误(如悬空指针、双重释放等),无需依赖垃圾回收器。Rust 编程思维不同于传统的面向对象,我认为更像是面向数据。
第二阶段
训练营给了我交流与实践的平台,通过参加此次训练营我学到了很多关于操作系统的知识,也让我了解到了在操作系统领域最新的研究与技术。
从裸机运行到单道批处理系统,学习了如何通过操作系统将程序与硬件隔离,提高安全性和资源利用率。rCore通过硬件的运行特权级划分和系统调用来实现多程序批处理,将程序编译链接成bin文件,加载到内存中的约定地址执行。进一步地探索了进程调度的机制,理解了时间片和CPU利用率的关系,以及如何通过TCB(任务控制块)来维护程序的关键信息,实现程序的切换和调度。
在内存管理方面,学习了从物理地址到虚拟地址的转变,以及MMU(内存管理单元)的重要性。rCore采用SV39内存管理策略,通过页机制和多级页表提高了内存的灵活性和安全性。对外存的管理,我了解了文件系统如何抽象和管理系统资源,以及rCore如何通过文件描述符(fd)框架来统一管理文件和设备。
线程与进程的学习让我认识到了操作系统调度的复杂性。RCore通过线程的引入提高了响应速度和调度效率,同时使用信号量和互斥机制来解决线程间的冲突问题。
总的来说,RCore的学习不仅加深了我对操作系统的理解,也锻炼了我的系统编程能力。通过实践,我对操作系统的许多概念有了更实际的认识。