《操作系统导论》学习小结

感谢 cxuan 送的书,重温了操作系统~

引用了微信公众号的图片,还是直接看公众号内容吧:

https://mp.weixin.qq.com/s/8Aa194tdDOqP6Ps3w2JF6Q

书籍推荐

源由

事情的起因是这样的:

大家也知道,很多号主会与出版社合作,将一些高质量的书作为福利抽奖送给各位爱学习的好同学,于是旋总让我从上次抽奖活动中选择一本 喜欢 的书送给我。

从九宫格当中,一眼就相中了 《操作系统导论》,于是开开心心的收到快递。

可以,这很惊奇,在拿快递的时候,前台小姐姐还再三跟我确认,这个快递是不是我的 (゚Д゚)

不过,这本书当然不是随便选择的,大二也有一门《操作系统》的课,当时使用的是汤小丹版本的教材,同时也是班主任的课程,不过有心无力,当时的脑袋瓜子般的知识储备量,不足以让我理解 操作系统宇宙玄奥的原理

于是从感兴趣的几本书中,选择了最感兴趣的 《操作系统导论》


书籍评价

豆瓣评分

本书在豆瓣参与讨论的人很多,所以评价有一定的参考性。

听说之前该书的评分 一路飙升到 9.7 分,英文原版的难度也不是特别难,现在中文翻译版也已经出来,可以中英文结合一起看,慢慢理解和吸收。

排版

排版也比较有意思,有些章节是以对话开始,教授和学生的讨论引出接下来要学习的内容,当然,作为吉祥物,”桃子“🍑代表的含义有点多,很多章节都能看到这个比喻( ̄3 ̄)a

难度也是层层推进,一开始介绍简单的概念,而且配有很多图片辅助说明,在空间地址章节,介绍了如何从虚拟地址(提取虚拟页号 VPN, Virtual Page Numbner) 转换到物理地址,从静态重定位到动态重定位,动态重定位的演进、优化,让我重新理解了原理,吊打当年只会对着公式计算物理地址的本渣 😖

还有本书有 50 个章节,每个章节控制在 5-10 页,知识密度高的同时,也不会让人感觉到挫败感,一章一章看下来,能阶段性的获得成就感

内容

本书核心有三大部分

  • 虚拟化
  • 并发
  • 持久化

其实还有一个 隐藏的第四部分:分布式

作者的功力很强,能将复杂的大块知识拆散、揉碎,分析问题鞭辟入里,在看的时候很容易引起共鸣。

例如进程、线程、并发原语、锁、缓存一致性、文件持久性、故障、崩溃恢复等相关知识,看的时候就觉得这些实际问题十分值得研究和掌握合适方法去解决。

读后感

之前一般喜欢只在书上做做笔记,然后写博客来总结知识点,但有时知识点很多,看了一遍后,在写总结时,需要重新再翻一遍书本才能完整回忆起详细内容。

在了解过一些学习方法后,喜欢上边看边做知识图谱的习惯,于是将知识点整理成脑图

之后回顾的时候,查看脑图就能记起大部分内容,也能更方便地明确每个知识点的掌握程度,有针对性的去查漏补缺,在写总结的时候,也可以起到大纲的作用,总之选择合适自己的读书方式,来达到更好的学习效果


深层感悟

其中感悟比较深的有三点:

  • 操作系统很有趣

    现代每个人或多多少都会有机会接触到智能设备,尤其是程序员,基本每天都在使用计算机,可能有时候会重复的写胶水代码(摔,这不是在说本渣嘛T^T

    重新看操作系统,学习底层原理,了解我们写的代码运行在什么环境中,操作系统中的 CPU、内存和磁盘起了什么作用,了解操作系统的原理后,写代码也更有趣啦~

  • 通过增加一层来解决问题

    有句名言:「计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决.」

    例如磁盘读取速度慢,就增加了一个缓存层,来提升数据读取和操作时间,想到了写代码时,会增加代理层,架构设计上也有分层设计,专注解决某一类型的问题、明确职责

  • 思想是互相借鉴,不断演进,不断优化

    在看文件系统的时候,这个感受更深。磁盘矩阵 RAID, Redundant Array of Independent Disks ,从 0 到 10 级,每个版本的功能逐渐增强,可靠性更好,还有 NFS, Network File System ,网络文件系统,每一个版本都在之前的版本上做了优化,同时也借鉴了 AFS 的设计,让 NFS 的功能更加强大,

    这跟项目迭代一模一样,方案设计和实现,都是不断借鉴思想,还有不断优化,站在伟人的肩膀上,看得更远,既然思想是共通的,那么多看看底层原理,融汇贯通,有时候就能更好地设计方案和解决问题

配套资源

本书的作者信奉的是免费教材才是最好的,所以他们将学习资料开源出来,放到了网站上,可以点击查看线上电子书和课后作业(快去白嫖

英文电子书地址:(点击目录就能查看免费的电子书)

http://pages.cs.wisc.edu/~remzi/OSTEP/

课后作业代码:(Python)

http://pages.cs.wisc.edu/~remzi/OSTEP/Homework/homework.html

正题

推荐另一份资料

其实我这次写读后感,最重要的原因是想推荐一下 cxuan 总结的操作系统知识点。

今年上半年,他将时间都花在操作系统的写作总结上,整理了一份 306 页的 PDF 文件,而且配图更加清晰,对黑皮书翻译有误的地方也进行勘误,这份毅力和细心真的不是一般人能坚持下来。

每一个章节都整理了一份知识脑图,放几张让大家康康:

  • 操作系统概述

  • 进程与线程

  • 勘误

如果当年的自己有这份觉悟,能够沉下心去学习操作系统,看多基本书和认真整理资料,也不至于期末只考了 76 分,低分飘过(叹了口气)。

所以劝各位要考操作系统的同学,快去白嫖 cxuan 的电子书,加强学习效果!!!

去他公众号回复 os 获取电子书

但行好事

写这篇水文的原因有两点

  • 第一点: 已经说了,因为旋总给我送书,也是看得有价值的一本书,值得去推荐;

  • 第二点: 敬佩旋总,每次聊天,他基本都是在肝文章,学习学习再学习。

试想一下,戒掉了大多数娱乐活动,将时间都花在学习上,写文章,高频率更新,熬夜肝文章,早起肝文章,换做是我,肯定是不可能的,cxuan 做到了。

认识以来,就感觉他没有多少娱乐时间,业余时间还是在「工作」,这种认真刻苦的态度值得我去学习,也不想他的努力浪费,想让能让更多人看到他,有动力继续写下去!

前几天 cxuan 生日,恰好也将这本书看完,于是写下这篇文章,祝福他越来越好,继续加油(^o^)/

最后「惊奇」送他一句:

「愿你编码半生,归来仍是少年」


各位可以去加它微信,拿更多学习资料哈哈哈哈

参考资料

1、豆瓣评分 9.7,等了好久的《操作系统导论》Operating Systems 终于来了

2、cxuan 写的操作系统 PDF 问世了。