diff --git a/docs/操作系统/NJUOS.md b/docs/操作系统/NJUOS.md index 5c5dc57f..048c908a 100644 --- a/docs/操作系统/NJUOS.md +++ b/docs/操作系统/NJUOS.md @@ -8,7 +8,7 @@ - 课程难度:🌟🌟🌟🌟 - 预计学时:150 小时 -之前一直听说南大的蒋炎岩老师开设的操作系统课程讲得很好,旧闻不如一见,这学期有幸在 B 站观看了蒋老师的课程视频,确实收获良多。蒋老师作为非常年轻的老师,有着丰富的一线代码的经验,因此课程讲授有着满满的 Hacker 风格,课上经常“一言不合”就在命令行里开始写代码,很多重要知识点也都配有生动直白的代码示例。让我印象最为深刻的就是老师为了让学生更好地理解动态链接库的设计思想,甚至专门实现了一个迷你的可执行文件与一系列的二进制工具,让很多困扰我多年的问题都得到了解答。 +之前一直听说南大的蒋炎岩老师开设的操作系统课程讲得很好,久闻不如一见,这学期有幸在 B 站观看了蒋老师的课程视频,确实收获良多。蒋老师作为非常年轻的老师,有着丰富的一线代码的经验,因此课程讲授有着满满的 Hacker 风格,课上经常“一言不合”就在命令行里开始写代码,很多重要知识点也都配有生动直白的代码示例。让我印象最为深刻的就是老师为了让学生更好地理解动态链接库的设计思想,甚至专门实现了一个迷你的可执行文件与一系列的二进制工具,让很多困扰我多年的问题都得到了解答。 这门课的讲授思路也非常有趣,蒋老师先从“程序就是状态机”这一视角入手,为“万恶之源”并发程序建立了状态机的转化模型,并在此基础上讲授了并发控制的常见手段以及并发bug的应对方法。接着蒋老师将操作系统看作一系列对象(进程/线程、地址空间、文件、设备等等)以及操作它们的 API (系统调用)并结合丰富的实际例子介绍了操作系统是如何利用这系列对象虚拟化硬件资源并给应用软件提供各类服务的。最后的可持久化部分,蒋老师从 1-bit 的存储介质讲起,一步步构建起各类存储设备,并通过设备驱动抽象出一组接口来方便地设计与实现文件系统。我之前虽然上过许多门操作系统的课程,但这种讲法确实独此一家,让我收获了很多独到的视角来看待系统软件。