0%

os-camp-arsnshsj

Rustlings

  • Rust 的编译器异常严格,尤其在内存安全、生命周期、借用检查等方面。Rustlings 的每个练习都会在编译时给出详细的错误信息,这些错误信息通常带有很强的提示性,帮助理解如何管理内存、如何使用所有权、如何避免数据竞争等
  • Rust 的内存管理系统(所有权、借用、生命周期)对比其他语言来说非常独特。特别是在多线程编程中,Rust 提供的无垃圾回收的内存管理方式可以有效避免潜在的并发问题,这使得它非常适合高并发、性能要求高的场景
  • 在 Rustlings 中,经常使用到 ResultOptionmatch,不仅提供了对错误的显式处理,还强制我们处理所有可能的异常情况,避免遗漏潜在的错误分支
  • Rustlings有很多智能指针,感觉之前没有接触过类似的东西,各种特性让我理解了很多操作

rCore

  • 在 rCore 实验中,我深入理解了操作系统的各个核心部分:进程管理、内存管理、文件系统、系统调用等。每个实验模块都涉及到这些基本概念的实现,通过动手实践,我加深了对操作系统内部机制的理解
  • 在内核代码的开发过程中,Rust 强制管理内存的方式迫使我时刻注意内存分配、释放的问题,这大大降低了由于内存问题引发的 BUG 的出现几率
  • rCore 的实验涉及到进程调度、线程切换等并发编程内容,这让我更好地理解了操作系统是如何管理和调度多个进程或线程的
  • Rust 的多线程编程模型使得并发的实现变得更容易。通过使用 ArcMutex,我能够有效地管理共享数据,避免了传统的并发编程中容易出现的数据竞争问题
  • 在 rCore 的实验过程中,调试是一个非常重要的部分。在操作系统内核层面,调试不像应用程序那样可以直接运行调试工具,而是需要通过打印日志、手动检查内存、模拟调试等方式进行
  • rCore 是一个操作系统内核,涉及到硬件编程的部分,比如中断处理、IO 设备控制、虚拟内存等。这些部分让我更加理解了操作系统如何与硬件交互