КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Алгоритм замещения страниц в ОС UNIX. (3-2)
Этот алгоритм выполняется страничным демоном. Раз в 250 мс он просыпается, чтобы сравнить количество свободных страниц с системным параметром lost free, равным, как правило, 1/4 объема оперативной памяти. В BSD это 2 параметра – min (1/4) и max (1/2). Если число свободных страниц меньше lost free (min), страничный демон начинает переносить страницы из памяти на диск, пока количество свободных страниц не станет равным lost free (max). Страничный демон использует модифицированный алгоритм часов. Основной алгоритм часов работает, сканируя страницы, как если бы они лежали на окружности циферблата. 1. На первом проходе, когда стрелка часов указывает на страницу, сбрасывается её флаг использования из карты памяти. 2. На втором проходе у каждой страницы, к которой не обращались с момента первого прохода, флаг использования остаётся сброшенным и эта страница будет помещена в список свободных страниц. Страница в списке свободных страниц сохраняет своё содержание, что позволяет восстановить её, если она потребуется, прежде чем будет перезаписана. Модифицированный алгоритм часов использует 2 стрелки. В этом алгоритме страничный демон поддерживает 2 указателя на карту памяти. При работе он сначала сбрасывает флаг использования передней стрелкой, а затем проверяет этот флаг задней стрелкой. При каждом запуске страничного демона стрелки проходят не полный оборот, а столько, сколько необходимо, чтобы количество страниц в списке свободных страниц было не меньше lost free (max). Если ОС обнаруживает, что частота подкачки страниц слишком высока, а количество свободных страниц всё время, ниже lost free (max), swapper начинает удалять из памяти один или несколько процессов. Сначала swapper проверяет, есть ли процесс, который бездействовал в течение 20 и более секунд. Если такие процессы есть, то из них выбирается с максимальным временем бездействия и выгружается на диск. Если таких процессов нет, то изучаются 4 самых больших процесса, из которых выбирается тот, который находится в памяти дольше всех, и выгружается на диск. И так до тех пор, пока не освободится достаточное количество памяти. Каждые несколько секунд swapper проверяет, есть ли на диске готовые процессы, и выбирает процесс с наивысшим приоритетом. Загрузка выбранного процесса производится только при наличии достаточного количеств страниц, чтобы, когда случится неизбежное страничное прерывание, для него нашлись, свободны страничные блоки. Swapper загружает в память только контекст процесса и таблицу страниц. Страницы процедурного сегмента, сегмента данных и динамического сегмента подгружаются при помощи обычной страничной подкачки. У каждого сегмента каждого активного процесса есть место на диске, где он располагается, когда его страницу удаляются из памяти. Сегмент данных динамически сохраняется в виде копий в области свопинга. Процедурный сегмент подгружается из самого исполняемого двоичного файла.
Дата добавления: 2014-01-20; Просмотров: 1100; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |