操作系统实战 45 讲
彭东
网名 LMOS,Intel 傲腾项目关键开发者
65203 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 60 讲
尝尝鲜:从一个Hello到另一个Hello (2讲)
特别放送 (1讲)
操作系统实战 45 讲
15
15
1.0x
00:00/00:00
登录|注册

04 | 震撼的Linux全景图:业界成熟的内核架构长什么样?

内核执行体
小内核
HAL层
BSD层
Mach层
复杂结构
性能稳定
NT内核
微软
Darwin内核
苹果公司
Linux内核
Linus Torvalds
Windows NT
Darwin-XNU
Linux
计算机黑客与操作系统内核架构

该思维导图由 AI 生成,仅供参考

你好,我是 LMOS。
什么?你想成为计算机黑客?
梦想坐在计算机前敲敲键盘,银行账号里的数字就会自己往上涨。拜托,估计明天你就该被警察逮捕了。真正的黑客是对计算机技术有近乎极致的追求,而不是干坏事。
下面我就带你认识这样一个计算机黑客,看看他是怎样创造出影响世界的 Linux,然后进一步了解一下 Linux 的内部结构。
同时,我也会带你看看 Windows NT 和 Darwin 的内部结构,三者形成对比,你能更好地了解它们之间的差异和共同点,这对我们后面写操作系统会很有帮助。

关于 Linus

Linus Benedict Torvalds,这个名字很长,下面简称 Linus,他 1969 年 12 月 28 日出生在芬兰的赫尔辛基市,并不是美国人。Linus 在赫尔辛基大学学的就是计算机,妻子还是空手道高手,一个“码林高手”和一个“武林高手”真的是绝配啊。
Linus 在小时候就对各种事情充满好奇,这点非常具有黑客精神,后来有了自己的计算机更是痴迷其中,开始自己控制计算机做一些事情,并深挖其背后的原理。就是这种黑客精神促使他后来写出了颠覆世界的软件——Linux,也因此登上了美国《时代》周刊。
你是否对很多垃圾软件感到愤慨,但自己又无法改变。Linus 就不一样,他为了方便访问大学服务器中的资源 ,而在自己的机器上写了一个文件系统和硬盘驱动,这样就可以把自己需要的资源下载到自己的机器中。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Linux内核由计算机黑客Linus Torvalds创造,是一套免费使用和自由传播的操作系统,支持类UNIX、POSIX标准接口,也支持多用户、多进程、多线程,可以在多CPU的机器上运行。Linux内核结构庞大,由五大重要组件组成,每个组件又分成许多模块,模块之间的通信主要是函数调用,没有一定的层次关系,也没有左右边界的限定。文章还对比了Linux、Windows和macOS的内核架构,帮助读者更好地了解它们之间的差异和共同点。 Darwin-XNU内核是苹果公司在2000年开发的一个开放源代码的操作系统,它采用了微内核(Mach)和相应的固件来支持不同的处理器平台,并提供操作系统原始的基础服务,上层的功能性系统服务和工具则是整合了BSD系统所提供的。Darwin-XNU内核层也成为了多内核架构的代表。 Windows NT内核是微软于1993年推出的面向工作站、网络服务器和大型计算机的网络操作系统,也可做PC操作系统。它是一款全新从零开始开发的新操作系统,并应用了现代硬件的所有特性,“NT”所指的便是“新技术”(New Technology)。NT内核中各层次分明,各个执行体互相独立,这种“高内聚、低偶合”的特性,正是检验一个软件工程是否优秀的重要标准。 总的来说,Linux内核性能良好,结构异常复杂,不利于问题的排查和功能的扩展;Darwin-XNU和Windows结构良好,层面分明,利于功能扩展,不容易产生问题且性能稳定。这些内核的特点和架构差异为读者提供了深入了解和比较的视角。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《操作系统实战 45 讲》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(75)

  • 最新
  • 精选
  • pedro
    置顶
    NT是混合内核,内核相较于linux来说小,但是仍有一些模块在内核,也有相当多的模块在用户态。 架构额外清晰,也难怪几十年迭代都未曾大改大变

    作者回复: 是的,你说的对

    2021-05-17
    5
    67
  • Ilovek8s
    置顶
    NT内核是微内核,但是是混合内核结构,原因如老师讲的,NT内核里还有内核,内核之上是执行体,说明各内核上的系统组件都是以进程方式运行起来,并且通过消息传递来实现各系统组件的功能协作

    作者回复: 你好,NT执行体之间不是消息传递

    2021-05-17
    6
    10
  • 超级励辰
    确实有点颠覆自己的认知,一直以为Linux的内核时及其优秀且优雅的,然而并不是。反而一直觉得不稳定的Windows的内核时那么优雅。

    作者回复: 保持中立 务实求真 对比之下 方见真章

    2021-05-21
    7
    47
  • Geek_e2256b
    看完这两节有些概念不清楚,想问问老师: 所以宏内核相当于所有的功能都耦合在一起,放在内核内 微内核是把大多数功能解耦出来,放在用户态,使用IPC在用户态调用服务进程 混合结构其实与微内核相似,只不过解耦出来的这些功能依然放在内核里,不通过IPC调用 想问一下老师这样理解是正确的吗?

    作者回复: 对的,内核模块是可以动态加载和卸载的

    2021-06-12
    44
  • os
    高清全景图来源 https://makelinux.github.io/kernel/map/ ,在线可缩放,点击进源码

    编辑回复: 感谢分享~

    2021-05-18
    4
    39
  • Feen
    突然有点想笑,觉得很有意思,最近几年很火在linux上跑的微服务架构,本质对应在宏内核的架构上运行着微内核模式的微服务架构,好有意思。

    作者回复: 是啊,哈哈

    2021-06-04
    4
    27
  • fw~繁闻
    一直以为linux的内核应该是最简单优雅的,window内核应该是极其复杂的,看了东哥的文章真是颠覆了我的认知。

    作者回复: 看待事物要客观理性 而不是人云亦云

    2021-08-02
    21
  • zhanyd
    这么说来Linux的内核架构相比较而言是最糟糕的咯?

    作者回复: 是的,但性能强劲

    2021-05-17
    5
    19
  • Stony.修行僧
    从just for fun读到:就像Linus自己说:没有篮球,没有暑假,没有约会。当然也与他的启蒙人密不可分,外公是大学的数学教授。 从用户体验来讲: 1. macOS流畅又稳定,已经10年的mbp 没有死机崩溃过, 2. Linux server也是超级稳定,虽然GUI偶尔无响应,但是在ALT+F1 到F7 下无敌。 3. 除了蓝屏还是蓝屏,或者C盘xx 文件不存在. 话糙理不糙:NT内核再优雅连花瓶都不如。既不中看又不中用。

    作者回复: 为什么大部分的Windows都没蓝屏 别拿Win9.x 说事 ,那不是NT内核 ,也不要用国内那些“优化过的”盗版Windows说事, 那是流氓软件的聚集地,请理性看待一个产品

    2021-07-30
    6
    13
  • 陈宇鸣
    既然Linux是宏内核,宏内核中模块耦合性很高,那Linux是如何保证系统稳定性的呢?

    作者回复: 尽量保证 代码的正确性

    2021-07-21
    13
收起评论
显示
设置
留言
75
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部