免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: wuqixuan
打印 上一主题 下一主题

微内核相对于单内核优势之我见,欢迎探讨 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-07-14 08:17 |只看该作者
回复 10# wuqixuan


    微内核是怎么提出来的了?是为了将内核最小化,也就是将内核能剥离出来的功能都剥离出来当做外部进程存在,因此内核干的事情越小,它的权限也就越小

论坛徽章:
0
12 [报告]
发表于 2011-07-14 09:36 |只看该作者
一下这段是我翻译自Tanebaum发表在06年IEEE computer杂志上的论文can we make  operating systems reliable and secure? 这里是论文的第一段。
=========================
目前的操作系统有两个特性导致了他们的不稳定和不安全:操作系统太大和少的可怜的错误隔离机制。Linux内核有超过250万行代码,而windows xp甚至有Linux 内核的两倍大。一项关于系统稳定性的研究表明,每1000行代码就有6到16个bug【1】。另一项研究则显示,取决于模块的大小,每千行的代码bug密度从2个一直到75个【7】。让我们采用保守的估计,那就是每千行代码6个bug,那么linux kernel就有差不多大概15000个bug,当然windows的bug数量至少就要翻倍了。
        更糟的事情来了。70%具有代表性的操作系统中都包含设备驱动,而设备驱动代码中的bug率要比上文提到的普通代码bug率要高3到7倍【2】,所以上文提到的15000个bug的数量肯定是大大的被低估了。明显的,找到并且改正这些bug是显然不可行的,而且修正bug经常会引入新的bug。
        目前操作系统的庞大代码量,意味着没有人可以理解这整个操作系统。没人真正懂这个系统,当然系统不会工作的很好。这就带给了我们第二个问题:错误隔离机制。让我们换一个例子,没有人对整个现代飞行器的所有方面了如指掌。但飞行器的子系统被很好的隔离开。一个阻塞的马桶并不会影响到导弹发射系统。
        遗憾的是,操作系统的组件间并没有被这样的隔离开。一个典型的现代操作系统包含了成百上千个连接在一起的程序,而他们做为一个整体的二进制程序运行在内核。这几百万行中的每一行代码都可以溢出并覆盖另一个毫不相关组件的关键数据。这当然会引起系统崩溃,并且很难检查出来。另外,如果一个病毒或者蠕虫程序想要感染内核进程,操作系统并没有方法掌控全局并阻止它快速的复制传播。让我们再举一个类似的船舶的例子。现代船舶的船体下都有隔间,这样即使一个隔间进水,也只有这一个会被损坏,而不是整体的船体。现代的操作系统就像防水隔间被发明前的船舶一样:一处漏水,全船完蛋

论坛徽章:
0
13
发表于 2011-07-14 10:13
上次你这个话题我回复过一下,结果不知道怎么的给ChinaUnix吃了。。。
这个话题1992年和2006年,Tanenbaum和Linus关于操作系统内核的设计思想有过两次公开的探讨(Linux的Monolithic内核设计与Minix的Microkernel内核设计思想)。上面提到的论文就是Tamenbaum在2006年开启这场口水仗的第一篇论文。原文在这里

这里还有一篇国内的人翻译的有关他们1992年口水仗的介绍,点这里

论坛徽章:
0
14 [报告]
发表于 2011-07-14 11:14 |只看该作者
怎么又有一段给ChinaUnix吃了,不写了,nnd

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
15 [报告]
发表于 2011-07-14 13:24 |只看该作者
怎么又有一段给ChinaUnix吃了,不写了,nnd
azzurris 发表于 2011-07-14 11:14



    老兄,什么情况,被吃了?

论坛徽章:
0
16 [报告]
发表于 2011-07-14 14:41 |只看该作者
老兄,什么情况,被吃了?
send_linux 发表于 2011-07-14 13:24



    两次了,回的帖子都莫名其妙没了,其实也没什么内容,就是介绍一下Tananbaum和Linus之间对这个主题的两次辩论,大家有兴趣的可以搜一下。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
17 [报告]
发表于 2011-07-14 15:13 |只看该作者
两次了,回的帖子都莫名其妙没了,其实也没什么内容,就是介绍一下Tananbaum和Linus之间对这个主 ...
azzurris 发表于 2011-07-14 14:41



    全文怎么就可以完整的贴过来了,真实诡异啊

论坛徽章:
0
18 [报告]
发表于 2011-07-14 17:56 |只看该作者
。。。收获不少。今天才知道类unix和windows之外的操作系统。
看了看wiki上的内容。觉得宏内核和微内核都有点走极端了。
混合内核就比较符合中庸之道
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP