「ds」Monolithic && Microkernel区别

Monolithic && Microkernel区别

单核

  • 整个操作系统都放置在内核中
  • 它作为一个大过程运行
  • 由于所有服务都放置在内核中,因此它们只有一个地址空间
  • 更大
  • 易于实现/编码
  • 性能高(因为内核可以将所有内容放入内核,因此可以直接调用任何函数)
  • 安全性降低(如果一项服务失败,则整个系统崩溃)

微内核

  • 内核中仅放置了最少的代码(仅基本内存管理和进程间通信代码)
  • 在这里,内核被分解为称为服务器的进程
  • 由于服务(服务器提供服务)是分开的,因此它们具有不同的地址空间
  • 尺寸更小
  • 很难实现/编码
  • 性能低下(由于服务器是分开的,因此要从其他服务器调用服务,需要IPC(进程间通信),这需要内核的许可,从而增加了访问时间并降低了性能)
  • 更安全(即使一项服务崩溃,其他服务也可以由于分离而正常运行)

 

图中很清楚的看到二者的区别:

参考:https://www.quora.com/What-is-the-difference-between-a-monolithic-kernel-and-microkernel#:~:text=Monolithic%20kernel%20is%20a%20single%20large%20process%20running%20entirely%20in,a%20single%20static%20binary%20file.&text=Examples%20of%20monolithic%20kernel%20based%20OSs%3A%20Unix%2C%20Linux.,separate%20processes%2C%20known%20as%20servers.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章