0%

2024a-rcore-1,2阶段总结-路人甲

前言

我是来自于海南大学密码科学与技术专业的本科生,对于计算机体系结构方向很感兴趣,但由于学校条件所限,不能满足个人学习需求,所以来参加这个课程

在之前,我一直对一些东西比较好奇

比如

  1. 盗版激活软件所说的模拟硬件激活
  2. 计算机取证中,DMA技术如何用来解密BitLocker的,DMA外挂是如何实现的(当然,这个漏洞已经被修复),(我觉得,作为一个本科生,不应该只知道表面,而是更深入的了解,正所谓,知其然,知其所以然)
  3. 内核的内存管理
  4. 并发
  5. 动态链接的一些细节

等问题.

所以, 我报名参加了这次的操作系统训练营.

第一阶段

我C写的比较多,而且习惯确实不太好,所以在这阶段,也是磕磕绊绊,尤其是在所有权机制上,给了我“不灵活”的印象,我觉得也不算坏事吧,通过尽可能多的约束,把不安全的代码存在的范围尽可能缩小,方便发现问题和解决。

此外 rust的cargo非常好用。

还有,教程使用的rustlings有点旧?我用着是有点不太方便的,貌似没法很好的调试,我依赖于rustings run name这种方式来debug,但是每次都要写那么多,显然有点麻烦

我通过把如下内容加入 .bashrc,简化了这个操作

alias check=’rustlings run’

alias hint=’rustlings hint’

这样,就可以通过check name的方式检查题目了

第二阶段

Lab 1

一个简单的多任务系统,我曾经参加过海南大学南海鲨战队的电控培训,看过ucosii的代码,所以这点对我来说还好

Lab 2

这个实验启用了分页机制, 在这次实验之前,看过xv6 内存管理部分的代码,所以还好(这在之前,逆向程序时的内存地址,让我有不少困惑)

Lab 3

进程: 在这地方,我觉得问题不大

Lab 4

文件系统: 这里问题挺多的,做的有点糊涂,不过不管怎么样,能用

Lab 5

多线程: 了解了线程与并发的相关知识,还有银行家算法

总结

通过这门课程我学习到了很多操作系统的基础知识, 这个学期补补计算机组成原理,算法。rust也不熟练,不优雅,还得多练,下个学期二战。

我在此感谢此训练营的组织者和助教们,你们为很多人打开了一个新的天地。