一、引言
首先非常有幸参加了本次开源操作系统训练营,感谢诸位讲师的无私奉献和合作平台的支持,提供了一次深入探索操作系统内部机制与Rust编程语言应用的宝贵机会.在近期的学习中,我深入了解了Rust程序设计语言,主要参考了《Rust程序设计语言》和rust圣经以及训练营课程。
第一阶段学习目标
对rust语言初步了解,能使用rust语言完成rustlings练习
学习内容概述
Rust基础语法与特性:详细学习了Rust的基本语法结构,包括变量、数据类型、控制流、函数等。重点掌握了Rust的所有权系统、借用检查器和生命周期等核心特性,这些特性确保了Rust的内存安全性。
并发与异步编程:学习了如何使用线程、协程和异步I/O进行高效并发处理。深入了解了互斥锁、通道等如何用rust进行实现。
模块与包管理:了解了如何创建模块和包,对Cargo管理项目的依赖和构建过程有了初步的了解。
学习体会与收获
1.rust的所有权系统和借用检查器有效地避免了空指针解引用、数据竞争等常见的内存错误,和以往学过的c语言相比减少了因程序员的疏忽而导致的bug
2.rust采用多线程与 async/await 相结合,使用复杂度换取可控性和性能,通过对锁和atomic的了解,为接下来在操作系统中的lab实现打下了坚实基础
3.理解了rust的生命周期机制,有助于避免悬垂引用等内存安全问题,写出安全的代码
问题与不足
1.对理论知识只是粗浅的了解,写练习时仍需翻阅资料
2.知识遗忘速度过快,只是有了全体框架,具体内容往往停留纸上谈兵,无法学以致用
3.做练习只是听从编译器的指挥,无法自主解决问题
接下来的打算
1.在进行第二阶段的学习过程中不断复习学过的知识避免遗忘
2.根据oj题目,使用rust语言完成练习,加深对语言的印象
3.重写rustlings,不再是简单的通过,再完成的同时注释实现题目的思路。