2015-01-06 29 views
0

在某些时候,我读到操作系统是以某种方式创建的(即'微内核'),以抵抗错误,但是为了实际目的(例如速度)以另一种方式(即'单片')制造。虽然这是的问题,它确实带来了一个问题:操作系统结构是否存在根本性缺陷?

有任何基本的权衡是在计算机体系结构提出,已经从早期的理论体系,降低安全性?

我正在寻找在计算机科学领域被接受的答案,而不是对当前实现的意见。例如,如果程序全部建立在定制硬件上,程序可以运行得更快,但这是不切实际的,这就是为什么我们有通用计算机的原因。

+1

“微内核风格是使操作系统”正确“的方式” - Linus,是你吗? :-) – paxdiablo

+0

究竟是什么问题? – lockstock

+0

@ paxdiablo-似乎在Linus Torvalds和另一个人之间发生了战斗。哈哈哈。 SIR,你今天真的让我的一天有两个这样的职位。 –

回答

0

任何人都说微内核是“正确的方式”是错误的。没有“正确的方式”。没有客观的最佳安全措施。

问题是安全性不是计算的基础。这在很多方面都是一个社会学问题,它只存在于人类的存在 - 不像计算,它是一种文字科学。

也就是说,安全性的主体已经成立并被纳入硬件和软件,如最小特权的主体。操作系统中的硬件上的内核运行在比用户级进程更高的特权级别上。这就是为什么你的程序不能真正与硬件交互,并且必须使用系统调用来实现这一点。

也存在复杂性和各种复杂度测量的问题。随着我们需求的增长,程序会变得越来越复杂 - 而不是一场基本的乒乓游戏,我们现在在一张巨大的地图上拥有1,000个AI单元。复杂性增加了,我们对程序推理的能力可能会下降,从而为漏洞打开漏洞。

对于你的问题没有真正的答案,但是这 - 如果有一个客观的安全方法,我们还没有发现它。

0

安全性不是内核性质的函数。

内核的类型与操作系统的安全无关。虽然我会同意操作系统的效率取决于它的本质。

单片内核是一个完全在单个地址空间中运行的大型进程。它是一个单一的静态二进制文件。而在Microkernels中,内核被分解成单独的进程,即服务器。一些服务器在内核空间运行,一些在用户空间运行。所有服务器都保持独立并运行在不同的地址空间中。微内核中的通信通过消息传递完成。

开发人员似乎更喜欢微内核,因为它提供了灵活性,而且更容易使用不同的用户空间。单片机的性质有点复杂,对于轻量级系统是有益的。

他们的一些根本上有缺陷的方式我们的电脑结构 ,允许找到所有的安全漏洞?我的意思是, 是有时候有合适的理论方法来做计算机科学的事情 满足我们的所有要求,并且是健壮的, 等。

他们就像protection-ringcapability based security和所有的某些概念,但是,在最后这取决于系统的要求。为了更加清晰,请务必访问提供的链接。下面强调一些小的想法。

能力 - based_security: -虽然大多数操作系统实现的设施它类似于功能,它们通常不提供足够的支持,允许的能力可能互相不信任的实体之间的交流是给予和分配的主要手段整个系统的访问权限。

Protection_ring: -计算机操作系统提供不同级别的资源访问。保护环是计算机系统体系结构内的两个或更多层级或特权层中的一个。这通常由一些CPU体系结构硬件实施,这些体系结构在硬件或微代码级别提供不同的CPU模式。环从最高特权(最可信,通常编号为零)到最低特权(最不可信,通常具有最高环编号)的层次结构中排列。