Модель рабочего множества
Если более глубоко проанализировать ситуацию с thrashing, то возникает вопрос, с какой целью используется страничная организация. При использовании локальной модели распределения фреймов, процесс мигрирует от одной локальной модели к другой. Однако локальные модели различных процессов могут пересекаться.
Выражаясь более простым языком, thrashing происходит, если сумма размеров локальных потребностей процессов в основной памяти больше общего размера памяти.
Для борьбы с подобными явлениями в операционных системах для распределения фреймов используется модель рабочего множества. Обозначим через
(рабочее множество) фиксированное число обращений к страницам.
Рассмотрим WSSi (рабочее множество процесса Pi ) - общее число обращений к страницам в самой недавней
(меняется в зависимости от времени).
Если
очень мало, не рассматриваем полную локальную потребность.
Если
слишком велико, рассматриваем несколько локальных потребностей.
Если
, рассматриваем всю программу.
Вычислим величину
- общий объем требований фреймов всех процессов. Пусть m – размер основной памяти.
Если D > m то Thrashing ( m - общий размер памяти).
Политика ОС по борьбе с thrashing’ом заключается в том, чтобы, если D> m, приостановить один из процессов.
Пример использования рабочего множества и вычисления WSSi приведен на рис. 16.

Рис.16.Пример использования рабочего множества.
Дата добавления: 2016-03-15; просмотров: 801;
