политика и механизм - PullRequest
10 голосов
/ 24 января 2011

Я просматривал учебник по операционным системам и наткнулся на концепцию «разделения механизма и политики». Я не был уверен в том, что это значит, поэтому я проверил Википедию, которая, я должен признать, также не сильно помогла.

Разделение механизма и политика [1] является принципом проектирования в Информатика. Это заявляет, что механизмы (эти части системы реализация, которая контролирует разрешение операций и тому распределение ресурсов) не должно диктовать (или чрезмерно ограничивать) политика, в соответствии с которой решения сделаны о том, какие операции для авторизовать и какие ресурсы выделить.

Может ли кто-нибудь смягчить это и объяснить, если возможно, несколькими примерами того, что означает separation of mechanism and policy в контексте операционных систем?

Ответы [ 2 ]

13 голосов
/ 24 января 2011

Вот что это означает для системы X-Windows.

X-Windows, на самом базовом уровне, предоставляет способ манипулирования областями экрана, называемыми «окнами». Он также позволяет получать события, происходящие внутри окон.

Но X-Windows ничего не говорит о заголовках, меню, полосах прокрутки или о чем-то подобном. В нем также ничего не говорится о правилах, по которым конкретное приложение может заставить свое окно занимать весь экран, или когда окно должно быть перемещено за пределы экрана. Он предоставляет способ для одного приложения заставить другие приложения запрашивать разрешение, прежде чем делать что-либо с окнами верхнего уровня, но не предоставляет такое приложение как часть базового сервера.

X-Windows - это механизм, а не политика.

Политика предоставляется инструментарием виджетов, оконным менеджером и другими вещами, добавленными в систему позже. Например, многие наборы инструментов виджетов используют набор перекрывающихся подокнов для полос прокрутки и запрашивают события мыши для этих подокон, чтобы они могли обнаружить операции щелчка и перетаскивания и заставить подокна реагировать соответствующим образом.

Вот почему, например, GNOME и KDE могут уживаться на одном экране, и почему действительно старые программы X-Windows, которые ничего не знают о панелях или рабочих столах, все еще прекрасно работают в современных системах.

4 голосов
/ 24 января 2011

Что касается * nix операционных систем, общая идея заключается в том, что система безопасности реализована ядром, а система авторизации - пользовательским пространством.

Всемогущие двоичные файлы root и suid, которые таклюди высмеивают (справедливо или иным образом) необходимы для эффективного разделения.Можно полностью поменять механизм аутентификации, оставив безопасность без изменений (это делает ssh, поэтому в Windows используются недокументированные API).

...