In [1]:
from mosaic import *
OS2023(18)
18. 操作系统实验生存指南¶
Changelog & 反馈
- 更新了 os.h 和 common.h 的描述
- common.h 是操作系统的必要定义
- os.h 是操作系统内部 API
- (这个设计有点瑕疵,但我也没空改了 😂)
背景回顾:我们已经进入了平稳的 “学期中间”,而操作系统实验也进入了困难的部分——除了应对大量的示例代码,还有不太好对付的实验。我们可以理解,“放弃” 是面对困难时的本能行为,我们也在过去的过程中看到了许多中途放弃的同学。而大学教育的根本目不仅是通过外力 “逼迫” 大家成长,更重要的是教大家如何在面对困难时使用正确的思路解决。
本讲内容:
- 编程中的一些细节
- 调试工具的正确使用方法
In [2]:
slideshow('18.1')
In [3]:
demo('dsu', 'v/dsu')
In [4]:
demo('calc', 'i/calc.c')
In [5]:
slideshow('18.2')
In [6]:
demo('thread-os', 'c/thread-os-singlecpu')
Take-away Messages¶
“编程” 是我们和计算机交流的途径。通过在自然语言和形式语言 (编程语言) 达到一种微妙的平衡,我们写出 “好” 的代码,即便于人类理解 (不言自明),也利于静态和运行时校验 (不言自证)。
在开发代码的过程中,我们利用计算机系统公理的第三条,总是回顾自己工作的流程,使自己做得更好。