操作系统实战45讲
彭东
网名 LMOS,Intel 傲腾项目关键开发者
新⼈⾸单¥59.9
4119 人已学习
课程目录
已更新 4 讲 / 共 45 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 为什么要学写一个操作系统?
免费
尝尝鲜:从一个Hello到另一个Hello (2讲)
01 | 程序的运行过程:从代码到机器运行
02 | 几行汇编几行C:实现一个最简单的内核
心有蓝图:设计 (1讲)
03 | 黑盒之中有什么:内核结构与设计
操作系统实战45讲
15
15
1.0x
00:00/00:00
登录|注册

03 | 黑盒之中有什么:内核结构与设计

LMOS 2021-05-14
你好,我是 LMOS。
在上节课中,我们写了一个极简的操作系统——Hello OS,并成功运行,直观地感受了一下自己控制计算机的乐趣,或许你正沉浸在这种乐趣之中,但我不得不提醒你赶快从这种快乐中走出来。
因为我们的 Hello OS 虽然能使计算机运行起来,但其实没有任何实际的功能。
什么?没有实际功能,我们往里增加功能不就好了吗?
你可能会这样想,但是这样想就草率了,开发操作系统内核(以下简称内核)就像建房子一样,房子要建得好,就先要设计。比如用什么结构,什么材料,房间怎么布局,电路、水路等,最后画出设计图纸,依据图纸按部就班地进行建造。
而一个内核的复杂程度要比房子的复杂程度高出几个数量级,所以在开发内核之前先要对其进行设计。
下面我们就先搞清楚内核之中有些什么东西,然后探讨一下怎么组织它们、用什么架构来组织、并对比成熟的架构,最后设计出我们想要的内核架构。

黑盒之中有什么

从用户和应用程序的角度来看,内核之中有什么并不重要,能提供什么服务才是重要的,所以内核在用户和上层应用眼里,就像一个大黑盒,至于黑盒里面有什么,怎么实现的,就不用管了。
不过,作为内核这个黑盒的开发者,我们要实现它,就必先设计它,而要设计它,就必先搞清楚内核中有什么。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《操作系统实战45讲》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥59.9
立即订阅
登录 后留言

精选留言(11)

  • AIK
    置顶
    之前感觉内核很神秘,真的就是个黑盒子,但是通过老师的讲解,觉得也可以透过现象看本质。内核设计的演进貌似和软件系统架构演进惊人的相似。宏内核和单体架构一致,微内核和SOA架构一致,而课程里面讲的第三种架构更像是微服务架构。从整体的架构演进来看,核心就是拆分,从all in one到垂直拆分,再到水平拆分,更面向用户操作和技术专注。
    2021-05-14
    1
  • Geek_9c3134
    混合架构还是接近于微内核架构
    2021-05-14
    2
  • BrightLoong
    看完之后还是不太明白,内核功能层和内核硬件层,可以理解为硬件层提供的是单纯操作硬件相关的功能,功能层是组合一些硬件操作形成具体的功能吗?
    2021-05-14
  • Kevin
    老师,您好,QNX是商用微内核吧?您提到的API我理解是系统调用,能举例说一两个吗,比如QNX系统中,谢谢
    2021-05-14
  • pedro
    第一次听说混合内核(hybrid kernel)还是在《操作系统导论》这本书上,这本书相当不错,当时一直没有深入理解。
    今天在整整一节的铺垫之后,我一下子就懂了,东哥对于操作系统的功力着实不一般,来龙去脉一目了然。
    另外,本文中的内核接口层想必也没什么神秘的,应该就是所谓的system call了。
    2021-05-14
  • 尼欧
    打卡

    编辑回复: 冲,继续往下学!

    2021-05-14
  • 🤡
    应该是混合内核吧,但是因为有点没弄清外核的概念,感觉又有点像外核。😂
    2021-05-14
  • 🤡
    混合内核吧
    2021-05-14
  • springXu
    混合内核(hybrid kernel)
    2021-05-14
  • Fan
    混合内核?
    2021-05-14
  • linker
    关于思考题,应该不是指外核吧?
    2021-05-14
收起评论
11
返回
顶部