OS复盘

OS课设已经结课一段时间了,我也从其他课程中抽身出来,有了一段能够好好反思的时光。

说实话,完成OS课设的过程是很痛苦的,指导书蜻蜓点水、注释模棱两可、各种函数和文件调用杂乱无章。每次在完成的时候都是向auser的博客(目前已经失效了)和github学习,之前的lab2和lab3都还比较清醒,即便借鉴了github,但整个过程还是理得清楚;到了lab4之后,函数调用开始变得复杂,我开始难以理解整个工程的结构和每个细节。到现在为止上过的专业课中,计组和OO难度同OS相仿,但这两门课我能够知晓每一个细节,整个代码的运行尽在掌握。OS工程体量庞大,加上是底层代码,整个理解起来并不是那么容易,要掌握所有的细节也比较困难,当时还在上课期间,要能够抽出时间整个理解每一个lab对我来说是不太可能的。这也一直让我很难受。

后来陆续发布了竞争性实验和挑战性任务,我因为冯如杯而放弃了竞争性实验。那就好好做一做挑战任务吧,结果等我把各种琐碎的事忙完,已经是期末,没有时间完成挑战性任务了。虽然OS写的过程很痛苦,我也并不太喜爱这门课,但没有能够去申优也让我感到有些失落。

最终我觉得即便不喜欢这门课,没有能够取得申优资格,也还是要给自己一个交代。作为计算机专业最重要的专业课之一,我认为学好操作系统是很有必要的,此外在读代码、理解大工程的方面也有所帮助。因此,我决定要做一个OS的复盘,重新去读一读当时困扰自己的代码,理解整个操作系统的架构,这门课也没有白上,心里也会感觉好一些。经过几天的努力,参考了指导书和我自己写的代码,写下这6篇复盘,算是给自己的一个交代,也希望能帮助到后辈学习OS。如果有问题欢迎在评论区指出,帮助我改正错误,正确理解代码。

OS-lab1

OS-lab2

OS-lab3

OS-lab4

OS-lab5

OS-lab6

最新文章

  1. BZOJ 4408 主席数+找规律
  2. Beta版本冲刺——day5
  3. Daily Scrum 11.3
  4. ps中如何用抽出功能扣取头发
  5. C++学习笔记15:操作符重载的函数原型列表(推荐)
  6. JS禁止横竖屏切换,强制横竖屏显示
  7. JS 实现 startWith endWith函数
  8. android意图传递参数返回结果(六)
  9. 【ubuntu】-桌面假死的解决办法
  10. 2019/4/17 Linux学习
  11. python笔记---数据基础类型
  12. 计蒜客 X的平方根(二分法)
  13. vue中axios的封装
  14. apache ab 压力测试工具
  15. 今天设置apache二级域名ssl证书后出现问题
  16. [翻译]第二天 - Visual Studio 中的 .NET Core 模版一览
  17. Linux 安装GCC讲解(在线和无网离线)
  18. 高能福利 |"荐"者有份,有"福"同享
  19. [codeforces464D]World of Darkraft - 2 概率期望
  20. <续>调度算法补充

热门文章

  1. Syntax Error: Error: Cannot find module ‘node-sass‘
  2. .net core + vue + elementui 删除指定日期段、指定路径下的所有文件
  3. 学习Java Day13
  4. Elemen ui&表单 、CRUD、安装
  5. OWASP 靶机下载
  6. spark数据清洗
  7. 【Vue】Vue开源样式库 Vuex的使用 vuex的执行流程 Vue-router的使用 路由跳转 路由守卫
  8. 00-DLL劫持&C语言远程加载shellcode
  9. [NOIP2018 提高组] 保卫王国
  10. redis(10)事务和锁机制秒杀