- daily study:每日学习心得(笔记)
- rust-exercise-play 写的一些rust小程序
- my rustlings:rust的练习和代码
目前处于第一阶段,第一环节学习Rust语言
七月
Mon | Tues | Wed | Thur | Fri | Sat | Sun |
---|---|---|---|---|---|---|
1 (D1) |
2 (D2) |
3 (D3) |
||||
4 (D4) |
5 (D5) |
6 (D6) |
7 (D7) |
8 (D8) |
9 (D9) |
10 (D10) |
11 (D11) |
12 (D12) |
13 (D13) |
14 (D14) |
15 (D15) |
16 (D16) |
17 (D17) |
18 (D18) |
19 (D19) |
20 (D20) |
21 (D21) |
22 (D22) |
23 (D23) |
24 (D24) |
25 (D25) |
26 (D26) |
27 (D27) |
28 (D28) |
29 (D29) |
30 (D30) |
31 (D31) |
前几天投的简历在今天早上就收到了回复。之前了解过rust语言的核心特点是安全性,即是指Safety,而非Security。本身对rCore实验就是比较感兴趣的,能将rust语言应用到操作系统的编写当然是一件要去参与的事情。
看了课程安排,需要学习的有RISC-V架构,Rust语言,操作系统课程,这对于我来说无疑是极好的,虽说本人是本科学材料学的,但是还是对计算机充满了热爱。
今天就开始学习了Rust,看了Rust 程序设计语言,(因为并不能看懂英文书,当然这在之后的时间里要加强对英语的学习与掌握)
通过观看推荐网课:
-
具体内容参考今日笔记文档Day1_rust
今天学习了操作系统的基本概念,大概了解了操作系统的需求和我们为什么要学习操作系统,后半段学习了操作系统的历史。十分风趣幽默,知识也是易于接受,了解到了我们要学习的东西,即kernel。 操作系统的核心特征就是并发性,这也是我们需要首要实现和解决的点,为后续实现功能打好基础,之后动手搭建环境,用的是github classroom,完成简单的程序员简单操作hello,world!。
继续了rust基础阶段的学习,认识了
-
所有权(引用借用,slice类型)
-
结构体相关知识
-
枚举和模式匹配
-
使用包
-
集合
-
错误处理
-
泛型、trait 和生命周期
-
具体内容参考今日笔记文档Day2
编程练习题 :
Small exercises to get you used to reading and writing Rust code!
完成了:
- variables
- if
- function
- primitive_types
- structs
- strings
- enums
- tests
- modules
- macros
- move_semantics
和附带的quiz
阅读了今年适用于2022训练营的新指导书rCore-Tutorial-Book 第三版
完成了lab0-test1,环境搭建,通过观看往届第一个实验是去除宏指令完成裸机运行输出Hello,World!看来今年只能通过观看代码解决了!
继续了学习Rust,学习的内容如下:
- 生命周期
- 函数式编程: 闭包、迭代器
- 深入类型
- 智能指针
- 循环引用与自引用
- 错误处理
做完了所有rustling-exercise,发现越往后做越难,一边hint,一边看圣经,一边debug,一边做。学了约等于没学,做起题来还是得从头看,尤其是错速处理部分。
观看了第二次课程,获益匪浅
-参考第三天总结day3
训练营强度还是很大的
虽说题目做的差不多完了,但是学习Rust的脚步还没有停止,学习Rust的数据结构。Rust最特殊的一个地方(所有权,无需free,很安全),Rust圣经里面关于这个的讲解太到位了!还有就是智能指针 这都是要加深理解的地方。
完成了第三次课的学习,在第二次课讲解实验环境和shell还有不同模式下不同功能下的OS,了解了这门课的学习目的,和要实现的东西。第三课要点在slide上面都有体现,主要为CSR寄存器和状态转换
开始尝试去阅读第二章ch2的批处理系统相关内容,尝试去读懂代码了解内核精髓!并思考课后题
-参考第四天总结day4
继续学习Rust语法,并尝试做第二部分习题,开始看源码
开始学习第四节课,开始了解任务(进程)相关知识
继续学习计算机组成软硬件接口第二章知识
开幕式顺利召开
-参考第三天总结day5
重新学习生命周期,开始做练习题32 Rust Quizes
完成第五节课的学习,准备开始看ch3的实验和代码。
学习Risc-v架构和计算机软硬件接口第三章知识
对照圣经反复学习,这门语言门槛还是相当高的,的反复与编译器做对抗
观看第六节课视频,了解了页表机制,和与计算机组成原理的只是衔接,也了解了虚拟内存技术,覆盖技术和交换机制
阅读Risc-v手册
学习rust语法做一些数据结构的题目
观看第八节课视频,了解了各种调度机制,了解了单处理机调度各种算法
继续看书ch3环节,准备做第一个实验
参考今日笔记day8
看是着手做第一个实验,观看了第九次课程视频
因为有事情较忙,所以进度暂停一天
又重新观看了一边实验一的视频,了解了多道程序与分时多任务实验机制。
又阅读了RISC-V操作手册
参考今日笔记day11
今天完成了rcore ch3的实验,了解了多道程序OS原理与实践
阅读rcore-tutorial的ch4-lab2的代码,并开始着手做实验。
并开始写rcore-tutorial的实验报告,完成于report-lab1
阅读了Risc-V的第十章,并梳理了特权架构的相关知识。
重新看了看Rust的编程相关知识。
完成对于rcore-tutorial的ch4的阅读
观看了lab2的实验讲解视频
rCore-tutorial中多级页表和超越物理内存的管理学习
完成了rocre-tutorial中ch4的内容和实验。
这几天看了助教的ch4相关视频加深了理解,开始着手做ch5的相关实验
完成了对rcore ch5的学习和实验
完成了对rcore ch6的学习和实验
完成了对rcore ch7的学习
完成了对ch8的学习和实验,大功告成! 至少这次训练营是没有什么遗憾了