政策和机制

时间:2011-01-24 16:37:14

标签: linux operating-system minix

我正在阅读我的操作系统教科书,并且我遇到了“分离机制和政策”的概念。我不确定这是什么意思所以我检查了维基百科,我必须承认,这也没有多大帮助。

  

分离机制和   政策[1]是一个设计原则   计算机科学。它说明了这一点   机制(系统的那些部分)   控制的实现   经营授权和   不应该分配资源   指令(或过度限制)   政策根据哪些决定   是关于哪些操作   授权,以及哪些资源   分配

有人可以对此进行调整,并通过一些示例解释一下separation of mechanism and policy在操作系统环境中的含义吗?

4 个答案:

答案 0 :(得分:13)

这对于X-Windows系统来说意味着什么。

X-Windows在最基层,提供了一种操作称为“窗口”的屏幕区域的方法。它还提供了一种接收窗口内发生的事件的方法。

但X-Windows对标题栏,菜单,滚动条或其他任何内容都没有说明。它也没有说明特定应用程序使窗口占据整个屏幕的规则,或者必须将窗口移出屏幕的规则。它确实为一个应用程序提供了一种方法,可以在使用顶级窗口之前强制其他应用程序向其请求权限,但不会将任何此类应用程序作为基本服务器的一部分提供。

X-Windows完全是关于机制,而不是政策。

策略由窗口小部件工具包,窗口管理器以及稍后添加到系统的其他内容提供。例如,许多小部件工具包使用一组重叠的子窗口用于滚动条,并为这些子窗口请求鼠标事件,以便它们可以检测单击和拖动操作并使子窗口做出适当的响应。

这就是为什么,例如,GNOME和KDE可以在同一个显示器上相处,以及为什么对于面板或桌面一无所知的旧X-Windows程序在现代系统上仍能正常工作。

答案 1 :(得分:4)

关于* nix操作系统,一般的想法是安全系统由内核实现,授权系统由用户空间实现。

许多人嘲笑(无论是公正还是其他方面)的全能的根和suid二进制文件对于有效的分离是必要的。可以完全交换身份验证机制,同时保持安全性不变(ssh执行此操作,这就是它在Windows上使用未记录的API的原因)。

答案 2 :(得分:0)

尽管这是一个非常老的问题,但我仍然想分享我的观点。

之所以如此混乱,是因为有两个词“机制”和“政策”。在软件工程的背景下,我认为将“机制”替换为“接口”,将“策略”替换为“实现”总是可以的。

关于接口和实现的分离,如果您使用Java编程,那么您必须非常熟悉这两个概念。这样,我们可以将“做什么”与“怎么做”隔离开来,这有助于我们实现系统解耦。

为什么要去耦?去耦提高了代码的可扩展性和可维护性,这意味着当需求改变时,我们可以编写更少的代码:)

从“ GoF设计模式”中了解有关解耦的更多技术。

答案 3 :(得分:0)

机制与政策之间的差异 机制决定如何做某事,政策决定要做什么。

政策与机制的分离是非常重要的原则,如果以后要更改政策决策,它可以提供最大的灵活性。