忆梦|不容错过!私藏的几个学操作系统好东西

作者:轩辕之风 来源: 编程技术宇宙
大家可能读过不少的操作系统的文章 , 不过这其中很多都是大谈操作系统的理论技术 , 鲜有探讨现代操作系统实际的实现 。
忆梦|不容错过!私藏的几个学操作系统好东西

  • 你可能知道线程的几个状态和状态的变化 , 但你知道Linux中是如何进行线程调度的吗?
  • 你可能知道线程的栈是怎么进进出出 , 但你知道Linux的线程栈如何分配管理 , 栈的最下面藏了什么秘密吗?
  • 你可能对TCP/IP协议了然于胸 , 但你知道Linux中是如何实现TCP协议吗 , 跟RFC规范又有哪些不同?
  • 你可能知道Signal机制 , 但你知道内核是如何派发信号和执行信号处理函数的吗?
  • 你可能知道操作系统内存管理技术 , 但你知道Linux和Windows同样在x86架构下的实现有哪些区别吗?
  • ······
学一项技术 , 不能只是纸上谈兵 , 知其然还能知其所以然 , 还能知如何以然 , 方达至高境界 。
阅读操作系统源代码 , 是学习操作系统的不二法门 。 下面就最常见的Linux和Windows系统分别介绍一下 。
LinuxLinux属于开源系统 , 想获取源码轻而易举 , 不过这里轩辕推荐一个我私藏的网站 , 不需要你科学上网 , 不需要你下载源码 , 在线阅读 , 哪里有电脑哪里就能看 。
网址:
忆梦|不容错过!私藏的几个学操作系统好东西这个网站有几个好处:
  • 在线阅读 , 免下载 , 随处可看
  • 左边列表集成了Linux自发布以来所有版本的代码 , 可随意切换至你想要查看的版本 。 这对于想了解某个技术细节在不同版本中的实现变化非常好用 。
  • 支持函数、结构体、变量搜索 。 源代码中出现的这些这些信息 , 都可直接点击链接 , 后台将自动在当前版本的Linux代码中搜索到相关定义、引用 。 速度也非常快 。

忆梦|不容错过!私藏的几个学操作系统好东西
忆梦|不容错过!私藏的几个学操作系统好东西除了Linux , 这个网站还能支持包括glibc、qemu、dpdk等很多其他项目代码的阅读:
忆梦|不容错过!私藏的几个学操作系统好东西用这个网站阅读源码 , 比在GitHub上的体验有过之而无不及 。
Windows什么?Windows也能看源码?没错是的 。
在程序员中有一条鄙视链 , 用Linux的时常鄙视用Windows的 , 鄙视Windows系统不如Linux 。 我不太清楚这种鄙视是何时何因而起 , 但你若看过Windows操作系统源代码后 , 也一定会折服于微软工程师的编码能力和设计智慧 。 阅读这些优秀工程师的C代码宛如欣赏一件艺术作品般让人享受 。 这其中有太多的宝藏值得我们学习 。
虽然 , Windows操作系统属于微软商业产品 , 但这么多年以来 , 还是有非常多的人想一窥其内核的秘密 , 这其中就出现了源码泄露、逆向工程、官方发布等多个不同的版本 。 虽然有些版本已经发布多年 , 但底层很多实现却是一直沿用至今 。
Windows NT 4.0 & Windows 20002004年2月 , 发生了一起Windows内核源码泄露事件 , 泄露的是Windows NT 4.0/Windows 2000源码 。 随后便迅速扩散 , 在GitHub上也多年提供下载 , 不过后来受到微软施压 , GitHub去掉了相关的链接 。


推荐阅读