BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

MINIX 3承诺比Windows或Linux更安全

| 作者 Abel Avram 关注 10 他的粉丝 ,译者 郭晓刚 关注 0 他的粉丝 发布于 2009年5月11日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

阿姆斯特丹Vrije大学的计算机科学教授Andrew S. Tanenbaum正领导着一个开发MINIX 3操作系统的项目,MINIX 3的目标是比Windows或Linux更安全。

在他那份获得欧盟研究委员会(European Research Council)5年250万欧元资助的研究计划书里,Tanenbaum解释了为何他认为现有的操作系统不安全:

最严重的可靠性及安全问题是与操作系统相关的那些。核心问题在于现有操作系统都不符合POLA——最低授权原则(Principle Of Least Authority)。POLA说的是系统划分组件的方式,应当使必然存在于某个组件中的缺陷,不至于波及其他组件。每个组件仅应该得到完成它本身工作所需的权限,不多不少。具体来说,它应该无权读写属于其他组件的数据,无权读取它自身地址空间之外的任何计算机内存,无权执行与它无关的敏感操作指令,无权访问不该访问的I/O设备,诸如此类。现有操作系统完全违反以上原则,结果就是造成众多可靠性及安全问题。

Tanenbaum认为设备驱动程序是主要的肇事者:

典型的操作系统代码中大约有70%属于设备驱动代码。我们知道设备驱动部分的每行缺陷数量是其他部分的3到7倍。有据可查63%到85%的Windows XP崩溃根源是驱动错误,Linux的情况也没什么理由会不一样。

MINIX的操作系统架构稍有不同:

image

Tanenbaum指出其中的主要区别是令设备驱动运行在用户态能提高安全性:

设备驱动处于内核之上,运行在用户态。每个驱动都作为单独的进程运行,受到内存管理硬件的严格约束,只能访问自己拥有的内存。设备驱动需要执行I/O操作的时候向微内核发出调用以获得服务(比如向物理设备发出指令)。微内核在执行任何调用之前,首先会检查该调用是否被许可。因此从声音驱动发出控制声卡的调用会被接受,而从声音驱动发出控制硬盘的调用会被拒绝。

总体目标是:

……将操作系统的结构重新组织为一个运行于内核态的微内核,外加若干用户进程去完成真正的操作系统任务。尽管一个微内核离完整的操作系统还很远,但这样的设计达到了我们的主要目标。我们的目标是将大部分操作系统代码移出到用户空间,这样我们就能将之划分成进程并阻止它们执行“危险”(控制)指令,内存管理硬件也能防止进程访问自身所属以外的内存。

目前MINIX 3的版本是3.1.3a版,它的主要特性包括:

  • 符合POSIX
  • TCP/IP网络
  • X Window系统
  • 语言支持包括cc、gcc、g++、perl、python等等
  • 超过650个UNIX程序
  • 完全支持多用户和multiprogramming多任务
  • 设备驱动作为用户进程运行
  • 高度容错
  • 提供完整的C源代码。

由于MINIX实现了POSIX标准,大多数UNIX程序只要细微修改或无需修改就能在上面运行。该项目进入了Google’s Summer of Code 2008,还设立了相应的MINIX讨论组

查看英文原文:MINIX 3 Promises to Be More Secure Than Windows or Linux

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

不知道中国有没有这样高度的教授 by 波达 江

期待国人知识分子早日从经济化大潮中退身出来,做一些更有内涵的事情,例如像文章中这位牛人一样写操作系统而不是抄袭论文混职称等。

Re: 不知道中国有没有这样高度的教授 by sen yang

钱谁给啊?

不知道这样的系统性能怎么样 by 谢 邵虎

不知道这样的系统性能怎么样

Tanenbaum教授你后悔了吧 by 昆 杨

如果你早点儿允许你的minix自由修改分发的话,哪里会有今天的linux,甚至windows都被挤下去了。

不过您的每本书都是好书,受益匪浅

Re: 不知道中国有没有这样高度的教授 by 戴 晶晶

都是不见兔子不撒鹰,对未来担忧啊

Mach/Hurd内核? by Tan Benjamin

怎么看起来和GNU Mach/Hurd内核很像,似乎Mach没有什么进展嘛。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

6 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT