跳转到内容

操作系统设计/内核架构

来自维基教科书,开放书籍,为开放世界
单内核、微内核和混合内核的结构。

内核是操作系统的核心。它是负责运行程序并提供对机器硬件的安全访问的软件。由于存在许多程序,而资源有限,内核还决定程序何时运行以及运行多长时间。这称为调度。直接访问硬件可能非常复杂,因为同一类型组件的硬件设计多种多样。内核通常实现一定程度的硬件抽象(一组对所有特定类型设备通用的指令)以隐藏底层复杂性,并为应用程序提供简洁统一的接口。这有助于应用程序程序员开发程序,而无需了解如何为特定设备编程。内核依赖于软件驱动程序,这些驱动程序将通用命令转换为特定于该设备的指令。

运行计算机并不严格需要操作系统内核。程序可以直接加载并执行在“裸机”机器上,前提是这些程序的作者愿意放弃任何硬件抽象或操作系统支持。这是许多早期计算机的正常运行方式,它们在运行不同的程序之间重置和重新加载。最终,诸如程序加载器和调试器之类的较小的辅助程序通常在运行之间留在内存中,或者从只读内存加载。随着这些程序的开发,它们构成了早期操作系统内核的基础。“裸机”方法在当今的许多视频游戏机和嵌入式系统中仍然使用,但总的来说,较新的系统使用内核和操作系统。

四类内核

  • 单内核 提供对底层硬件的丰富而强大的抽象。
  • 微内核 提供一组简单的硬件抽象,并使用称为服务器的应用程序来提供更多功能。
  • 外内核 提供最小的抽象,允许低级硬件访问。在外内核系统中,库操作系统提供通常存在于单内核中的抽象。
  • 混合修改后的微内核)与纯微内核非常相似,只是它们在内核空间中包含了一些额外的代码以提高性能。
华夏公益教科书