03 | 内核结构与设计

黑盒中有什么

内核几大的功能:

  1. 管理CPU。进程管理
  2. 管理内存
  3. 管理硬盘。文件系统
  4. 管理显卡
  5. 管理网卡
  6. 管理各种I/O设备

宏内核

应用程序调用接口 => 处理器切换特权模式,开始运行内核代码 => 内核分配一块内存 => 把首地址返回给API => API返回,在这块内存,运行用户模式下的应用程序

微内核

把实际的进程管理、内存管理、设备管理、文件管理等服务功能,做成一个个服务进程。

采用消息通信。应用程序 => 微内核(让当前的进程停止运行) => 相应的服务进程(返回内存地址消息) => 微内核 => 应用程序

宏微内核的优缺点

宏内核的优点:性能好。
宏内核的缺点是:没有模块化,高度耦合。(可能有连锁反应、编译费时长)
微内核的优点:利于协作开发、移植性好
微内核的缺点:性能差(这也是商业级的系统很少采用它的主要原因)

分离硬件的相关性

抽象层。如进程包含两个机制:进程调度 + 进程切换。其实调度算法很少变,但是切换涉及到的上下文和具体的机器有关。所以可以把所有和硬件相关的代码抽离出来。

我们的选择

混合内核

三大层:

  1. 内核接口层
  2. 内核功能层(进程、内存、中断、设备)
  3. 内核硬件层(初始化、CPU控制、中断处理、物理内存管理、平台相关功能)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇