<<
>>

Механизм и политика

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

Чтобы представить границу между механизмом и политикой отчетливее, рассмотрим два примера из реального мира. В качестве первого примера возьмем большую компанию, у которой есть отдел заработной платы, ответственный за выплату жалованья сотрудникам. У него есть компьютеры, программное обеспечение, бланки, договоренность с банками, а также другие механизмы, требующиеся для фактической выплаты зарплаты. Однако политика — принятие решений о том, кто и сколько получит, — полностью отделена и является прерогативой управления.

Отдел заработной платы просто выполняет порученную ему работу.

В качестве второго примера рассмотрим ресторан. Он обладает механизмом для обслуживания посетителей, включая столы, посуду, официантов, полную оборудования кухню, договоры с компаниями, продающими товары по кредитным карточкам, и т. д. Политика, то есть что будет в меню, определяется шеф-поваром. Если шеф-повар решит, что тофу кончился, а большие бифштексы остались, то новая политика может быть выполнена существующим механизмом.

Теперь рассмотрим некоторые примеры из области операционных систем. Прежде всего взглянем на планирование потоков. В ядре может располагаться приоритетный планировщик с k уровнями приоритетов. Этот механизм представляет собой массив, проиндексированный уровнем приоритета, как в UNIX и Windows 8.

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

Вторым примером является страничная подкачка. Механизм включает в себя управление блоком MMU, поддержку списка занятых и свободных страниц, а также программу для перемещения страниц с диска в память и обратно. Политика в данном случае заключается в принятии решения о выполняемых действиях при возникновении страничного прерывания. Политика может быть локальной или глобальной, основываться на алгоритме LRU, FIFO или каком-либо другом, но она может (и должна) быть полностью отделена от механики фактической работы со страницами.

Третий пример — возможность загрузки модулей в ядро. Механизм определяет то, как они устанавливаются в ядро, как связываются, к каким вызовам могут обращаться и какие вызовы могут сами предоставлять. Политика определяет список пользователей, которым разрешается загружать модуль в ядро, а также список модулей, которые разрешается загружать каждому пользователю. Возможно, только суперпользователь может загружать модули, но разрешение загружать модули может предоставляться любому пользователю, если у модуля есть цифровая подпись соответствующей авторитетной организации.

12.3.3.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Механизм и политика:

  1. Политика
  2. Телевидение и политика
  3. Политика в эпоху постмодерна
  4. § 3. Ювенальная политика
  5. Политики шутят
  6. ОТВРАЩЕНИЕ К ПОЛИТИКЕ
  7. 2.3.1. Сущность и цели социальной политики
  8. Глава 10 СЕМЕЙНАЯ ПОЛИТИКА
  9. 2.3.2. Социальная политика в реформируемой России
  10. § 5. Политико-территориальное устройство. Организация власти на местах
  11. Психология политики и апатия
  12. 8.2. Государственная политика в области формирования и использования информационных ресурсов
  13. Глава 12. Конституционное регулирование внешней политики зарубежных государств