在某些时候,我读到操作系统意图以某种方式创建(即“微内核”)以抵抗故障,但是以另一种方式制造(即'单片' 39;)用于实际目的,如速度。虽然这个问题不,但它确实提出了一个问题:
计算机体系结构中是否有任何基本的权衡取舍,这些权衡会降低早期理论体系的安全性?
我正在寻找计算机科学领域所接受的答案,而不是对当前实施的意见。例如,程序可以运行得更快,如果它们都是在自定义硬件上构建的,这是已知的,但这是不切实际的,这就是我们拥有通用计算机的原因。
答案 0 :(得分:0)
安全不是内核性质的功能。
内核类型与操作系统的安全性无关。虽然我同意操作系统的效率确实取决于它的性质。
单片内核是完全在单个地址空间中运行的单个大型进程。它是一个静态二进制文件。然而,在Microkernels中,内核被分解为单独的进程,称为服务器。一些服务器在内核空间中运行,一些服务器在用户空间中运行。所有服务器都是分开的,并在不同的地址空间中运行。微内核中的通信是通过消息传递完成的。
开发人员似乎更喜欢微内核,因为它提供了灵活性,并且更容易使用不同的用户空间。单片在本质上有点复杂,对轻量级系统也有好处。
他们的计算机结构存在一些根本性的缺陷 允许找到所有安全漏洞?我的意思是, 是有时候有适当的理论方法来做事 在计算机科学中,满足我们的所有要求,并且很强大, 等,。
他们是某些概念,如protection-ring和capability based security等等,但最终这取决于系统的要求。为了更加清晰,请务必访问提供的链接。以下突出显示了一些小的想法。
基于能力的安全: - 虽然大多数操作系统都实现了类似功能的设施,但它们通常无法提供足够的支持以允许可能相互不信任的实体之间的能力交换成为主要手段在整个系统中授予和分配访问权限。
Protection_ring: - 计算机操作系统提供不同级别的资源访问权限。保护环是计算机系统的体系结构内的两个或更多个层级或特权层之一。这通常由某些CPU架构硬件强制执行,这些架构在硬件或微代码级别提供不同的CPU模式。环从最大特权(最受信任,通常编号为零)到最低特权(最不受信任,通常具有最高响铃号)的层次结构排列。
答案 1 :(得分:0)
任何人都说微内核是正确的方式"是错的。没有"正确的方式"。没有客观的最佳安全方法。
问题是安全性不是计算的基础。它在很多方面都是一个社会学问题,它只存在,因为人类存在 - 与计算不同,这是一种文学科学。
也就是说,有一些安全原则已经成立,并被纳入硬件和软件,就像最小特权的原则一样。操作系统中的内核在硬件上运行的权限级别高于用户区域进程。这就是为什么您的程序实际上无法与硬件交互,并且必须使用系统调用来执行此操作的原因。
还存在复杂性和复杂性的各种测量问题。随着我们的需求增长,程序往往变得更加复杂 - 而不是基本的乒乓球游戏,我们现在在巨型地图上拥有1,000个AI单位。复杂性上升,我们推理该计划的能力可能会下降,为漏洞开辟漏洞。
您的问题没有真正的答案,但是 - 如果有一种客观的安全方法,我们还没有发现它。