MINIX 3

MINIX 3,一個自由軟體專案,目標在於創造一個小型的類UNIX作業系統,具備高度可靠性與功能性。為Minix系統第三版,它的主要開發者為安德鲁·斯图尔特·塔能鲍姆,使用BSD许可证授權釋出。採用微核心架構,它接續了先前MINIX 1與MINIX 2的發展成果,主要希望使用在小型嵌入式系統與教育之用。EDE在MINIX 3中作为可选包。

File:Minix3.png|MINIX 3.1.7 running X11 with the EDE

架构
如图所示,最底层是微内核,其代码规模约为4,000行(主要采用C编写,另有少量汇编语言代码)。它负责处理中断、进程调度以及消息传递,并提供约30个仅供获授权的服务器和驱动程序调用的应用程序接口(API)内核调用。用户程序不能直接调用这些内核调用,而是通过发起POSIX系统调用向服务器发送消息。内核调用主要执行设置中断、在不同地址空间之间复制数据等操作。

上一层是设备驱动程序,每个驱动程序都作为独立的用户空间进程运行。每个驱动程序负责控制一种输入/输出设备,例如磁盘或打印机。驱动程序不能直接访问I/O端口空间,也不能直接执行I/O指令,而必须通过内核调用提交需要写入的I/O端口列表及相应的数据。尽管这种机制会带来少量额外开销(通常约为500纳秒),但内核能够借此检查访问权限,例如防止音频驱动程序向磁盘写入数据。

再上一层是服务器,几乎所有操作系统功能都位于这一层。例如,用户进程通过向文件服务器发送消息来完成打开、关闭、读取和写入文件等操作;文件服务器再通过向磁盘驱动程序发送消息来完成磁盘I/O,而磁盘驱动程序则负责实际控制磁盘设备。

其中最关键的服务器之一是重生服务器。它的职责是定期轮询所有其他服务器和驱动程序,以检查它们是否正常运行。如果某个组件未能正确响应、异常退出或陷入无限循环,重生服务器(作为各服务器和驱动程序的父进程)便会终止该故障组件,并启动一个新的实例将其替换。因此,系统能够在不中断正在运行程序的情况下自动完成自我修复。

目前,重生服务器、进程服务器以及微内核共同构成了可信计算基。如果其中任何一个组件发生故障,整个系统都会崩溃。尽管如此,与 Linux 和 Windows 等系统通常拥有300万至500万行代码的可信计算基相比,将可信计算基缩减至约20,000行代码,可显著提高系统的可靠性。

吉祥物
Rocky Raccoon 是Minix 3的吉祥物

參見

  • MINIX文件系统
  • EDE - 轻量级和快速的桌面环境
  • Haiku – 开源桌面操作系统
  • FreeRTOS – 微内核,实时操作系统(RTOS)
  • Redox - Rust实现的微内核操作系统
  • QNX – 符合POSIX,微内核实时操作系统(RTOS)

*INTEGRITY – 微内核实时操作系统(RTOS)

  • L4微内核系列 – L4系列,小而快的开源微内核
  • 貝爾實驗室九號計畫 – 为了接替UNIX的分布式操作系统

参考资料
外部連結
*[http://www.minix3.org Minix3官方首頁] :
*[http://wiki.minix3.org 官方Wiki]

评论 (0)

  • 还没有评论,来抢沙发吧。