0%

感谢老师和助教们贡献了这么好的课程。回顾一下这段时间的学习历程,首先是感谢课程提供的良好的资源,推荐的资料阅读大有脾益,比如那本risv手册易懂又不失深刻。课程的lab结构是一点点增加模块拓展而来的,上手难度平缓,对简易操作系统实现的核心思想有了更进一步的了解。

之前上杨力祥老师的操作系统课程,杨老师给我影响最深刻的一句话是要能够把系统结构画图花出来。 在阅读文档和代码过程中,感觉能把代码结构中的类之间的关联与作用机制、结构和内存磁盘等设备的作用原理搞清楚,能在脑袋里面建立一个大致的相互作用图景,对于理解操作系统非常有益。

Read more »

不同操作系统内核可重用的Rust Crate设计与实现

Rust 是一种“多范式安全系统编程语言”,在开源领域呈现出滚雪球般的势头不断壮大。当前已经出现了多种基于Rust的实验型操作系统项目,而且也已经出现在主流的操作系统中。2022年12月12日,Linux 6.1 正式发布。Linux 6.1 的一个主要升级是把已经开发近一年多的Rust for Linux子系统加入主线,这是对 Rust 在Linux内核上的重要突破。今后将可以使用Rust开发操作系统内核模块,并用于不同操作系统中,而Rust化的实时优化Linux内核和Rust RTOS将成为重要新技术方向。

本课程计划定期讨论和研究 “不同操作系统内核可重用的Rust Crate设计与实现” ,并基于Linux内核和Rust RTOS,着重开展以下三个研究子方向的技术工作:

Read more »

整体感受

这是我第一次参加这样的开源课程,也是我第一次深入的学习操作系统的相关知识
(之前学过 nand2tetris 不过学的比较浅)。整体的课程体验非常的好,这是我
第一次见到使用 GitHub Classroom 做为教学平台的国内课程。

除此之外,整个实践过程非常符合开源软件的开发方式,
这让我这种习惯了开源软件开发流程的人感到十分的舒适:

  • 所有资料都公开在 GitHub 上
  • 实验代码在提交之后有 CI 自动完成评测和分数上报
  • 学生可以给仓库发 PR 来为课程做改善(感觉合PR 的频率稍微有点低,后来我就直接给 rCore Tutorial 提 PR 了,rCore 这边合的很快)
  • 直接使用 GitHub Issues 做问答(虽然回复的人比较少)
  • 甚至用上了当时还在预览中的 Codespaces

此外,课程的直播网站设计的也很棒,甚至在校园网的条件下比企鹅会议流畅。

学习记录和各章节报告的 repo: https://github.com/kxxt-sduwh/rust-os-learning-record

Read more »

2022 开源操作系统训练营第二阶段总结

笔记仓库 https://github.com/yfblock/OS-Tranining-Camp
第二阶段rcore-N 仓库 https://github.com/yfblock/rCore-N

rcoreN学习总结

所谓用户态中断就是在用户态发生的中断,在发生中断时不需要进入内核态,不需要切换特权级。最开始是应用在当前进程中,因此在发生一些中断时不必频繁的切换上下文,一部分中断可以直接在用户态进行处理,减少相关的性能损耗。在fork中也能对数据进行处理,在发生进程间通信时,可以不仅如此内核态而在用户态直接处理,同样也可以减少性能的损失。

Read more »

2022 开源操作系统训练营第二阶段总结

2022.09 朱懿

在第一阶段学习了rust和操作系统实验的基础上,第二阶段我基于我的兴趣,选择了虚拟机的方向,经过前期的调查了解研究,发现,在夏令营第二阶段设计的虚拟化的几个方向中,对于偏向硬件的虚拟机方向,已经有人做出了实现。然而我注意到,目前为止,所有的工作仍然没有人注意到操作系统级的虚拟化的方向,也就是容器化的方向。因此,在自己感兴趣的前提下,第二阶段我选择了容器化的这个虚拟机的方向进行学习和研究。

(当然,也因为没有前人在这方面的相关工作,我在这方面的学习研究,不能说举步维艰吧,只能说从0到1)

因此,尽管最后在zcore上面的改造不算成功,但我会尽量详尽的结合我在项目里面的log记录,省却大量无用的吐槽,希望为后来者提供一些可行的资料和设计思路。

Read more »

操作系统第二阶段结营

选题方向总体设想

通过一种实现模块的方式,对于各个不同的章节进行实现,在对于其他章节的学习的时候,尽可能的尝试不对于其他章节进行修改,以尽可能的保证在不同章节中的学习中,各个章节中的内容可以尽可能的进行复用,不至于在对于某个章节中的内容进行修改之后,需要对于其他模块(不同章节中实现的内容)进行大幅度的修改

Read more »