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