В. Столлингс - Операционные системы (1114679), страница 79
Текст из файла (страница 79)
Если и этот проход окажется неудачным, все страницы помечаются как давно не использованные, и выполняется третий проход. Такой алгоритм использован в схеме виртуальной памяти Мас1п$оеЬ ~С~ЖЭ891, представленной на рис. 8.18. Положительный момент этого алгоритма состо стоит. в отличие от простого часового алгоритма, в преимуществе замены не изменявшихся страниц по сравнению с заменой модифицированных страниц. ВуФеризация страниц Хотя алгоритмы дольше всех неиспользовавшегося и часовой и превосходят т алгоритм "первым вошел — первым вышел", они оба сложны и имеют высокие ' кие накладные расходы по сравнению с последним.
Кроме того, следует учитыват звать, -что стоимость замещения модифицированной страницы выше ~~димости сти замещения немодифицированной, которую не надо записывать во вт оричную память. Есть е ть еще одна интересная стратегия, которая может повысить производительность сть страничной организации при использовании простейшего алгоритма заме щения.
Это — оуферизация страниц, использованная в 7ЛХ ЧМБ. В качесталго алгоритма замещения страниц используется простейший алгоритм "первым Часть 3. ' РЛ лава 8- Виртуальная память Переий недр 6 гфере ддрое яеляющмхся кендндмемн для земещення "~. "яе 3 Последняя эемещеннея Часть 3. ':: ава 8. Виртуальная память первым вышел'*. Для повып|ения его производительности заме ща и а не теряется, а вносится в один из двух списков: в список сво щ, ес.
*, если страница не модифицировалась, или в список модифициро ''-" Заметнм, что физически страница не перемещается — вместо , удаляется из таблицы страниц и переносится в список свободных ~ированных страниц. 6 5 Рис. 8.18. Часоеои алгоритм замещения страниц /СО1Ю80~ .писок свободных страниц представляет собой список кадров страниц, дя чтения. Ъ'МЯ пытается постоянно поддерживать некоторое небо з свободных кадров.
Когда страница считывается в кадр, используе ложенный в начале списка; при этом стратпща, находившаяся в ием 'ожается. При замещении немодифицированной страницы она остается ., ее кадр добавляется к концу списка свободных страниц; аналогично, ~анная страница добавляется к списку модифицированных странип,.
Важным аспектом этих перемещений является то, что замещаемые -'таются в памяти. Следовательно, если процесс обращается к такой на возвращается в резидентное множество процесса без значитель,,„ В действительности, списки свободных и модифицированных стра зт в качестве кэша страниц. Список модифицированных страниц и . :ывать их не по одной, а кластерами, что существенно снижает кол я нций ввода-вывода, а следовательно, и время обращения к диску. Простейшая версия буферизации страниц реализована в операцио МасЬ 1ВАяН881.
В этой операционной системе не делается различий',„, фицированными и немодифицированными страницами. Стратегия замещения и размер кзша Как отмечалось ранее, размер основной памяти со временем становится все больше, как, впрочем, и размер приложений. Утешением может служить то, что Размеры „кэшей также увеличиваются.
Большие — до нескольких мегабайтов— , зши в настоящее время вполне возможны 1ВОВО901. Прп использовании кашей большого размера замещение страниц виртуальной памяти может влиять на производительность. Если кадр страницы, выбранный для замещения, располагается в кэше, то вместе с потерей страницы из блока кэша теряется весь блок. В системах с использованием буферизации того или иного вида производиельность каша можно увеличить путем добавления к стратегии замещения стратегию размещения страниц в буфере.
Большинство операционных систем Размещают страницы в буфере в произвольных кадрах, как правило, с использованием алгоритма "первым вошел — первым вышел'* Исследования в 1КЕЯЯ921 доказали, что правильный выбор стратегии размещения может привести к уменьшению неуспешных поисков в кэше на 10 — 20%. В 1КЕЯЯ92~ описаны исследования ряда алгоритмов размещения в зависимости от структуры кэша и используемых стратегий. Суть этих стратегий состоит в Размещении последовательных страниц в основной памяти таким образом, чтобы минимизировать количество кадров страниц, отображаемых в одни и те же слоты каша.
Управление резидентным множеством Размер резидентного мномсества При использовании страничной виртуальной памяти для подготовки процесса к выполнению нет необходимости размещать в основной памяти все его страницы. Следовательно, операционная система должна принять решение о том, какое количество страниц следуег загрузить, т.е. какое количество памяти выделяется конкретному процессу, Здесь играют роль ряд факторов.
° Чем меньше памяти выделяется првцессу, тем большее количество процессов может одновременно находиться в основной памяти. Это увеличивает вероятность того, что операционная система в любой момент времени найдет как минимум один готовый к выполнению процесс и, следовательно, снижает затраты времени на свопинг процессов. При относительно небольшом количестве страниц процесса, размещенных в основной памяти, несмотря на принцип локализации частота возникновения прерываний из-за отсутствия страницы будет достаточно велика (см.
Рис. 8.11,б). Посл 1осле определенного предела дополнительное выделение основной памяти некоторому процессу в соответствии с принципом локализации не будет и нво. Р гводить к сколь-нибудь значительному снижению частоты возникновения прерываний из-за отсутствия страницы. С чет учетом этих факторов в современных операционных системах использу~отся дв д а типа стратегий.
Стратегия фиксированного распределения выделяет у Р тксированное количество кадров основной памяти, в пределах котоРоцесс с ~ го он вь выполняется. Это количество определяется в момент начальной загрузки зздании * ии процесса) и может быть определено на основании типа и -" зктивный, пакетный и т.п.) либо на основании указаний прогр затемно много администратора. При использовании стратегии фиксиро деления ия прерывание из-за отсутствия страницы приводит к зам май страницей одной из страниц процесса. трате г~ гия переменного распределения позволяет количеству вакф рацессу , су кадров страниц изменяться во время работы процесса.
В,'. Й~ >цессу, который страдает от большого количества прерываний из ' ' ия страницы, выделяются дополнительные кадры страниц; и нанче,"': . 1есса, при рабате которого таких прерываний относительно мало, и' изьяты кадры в расчете на то, что это не намного увеличит ч~е""' кновения прерываний. Использование стратегии переменного рас ". связана с концепцией области видимости замещения, речь о ко' т в следующем подразделе. тратег атегия переменного распределения представляется более мощной,," дности данного подхода состоят в том, что операционная система ирв ~а отслеживать поведение процессов. Это приводит к очень высок ым расходам, зависящим от возможностей аппаратного обеспечения'У зй платформы. ~4':.
)бласть видимости замещения .-.."с )бласть видимости стратегии замещения можно классифицирова ' :ьную или глобальную. Стратегии обоих типов активируются п обращения к странице при отсутствии свободных кадров. Ловца егия замещения выбирает страницу только среди резидентных с'ф процесса, который стал причиной прерывания. Глобальная стра' цения рассматривает в качестве кандидатов на замещение все не ~анные страницы в основной памяти, независимо от принадле зетной страницы тому или иному процессу.
Хотя локальная стра, е для анализа, нет убедительных доказательств того, что она да. результаты по сравнению с глобальной стратегией, которая при простотой реализации и минимальными накладными рас. В84, МАЕК871. , Ф'" тмеется связь между областью видимости замещения и размера юго множества (табл. 8.4). Фиксированное резидентное множест,, ' ~ к локальной стратегии замещения — для поддержания фикси амера резидентного множества удаляемая из основной памяти т;, ти ст.
на быть замещена другой страницей того же процесса. Стратеги,,:::„ атегйФд,. ого распределения, естественно, совместима с глобальным зам заме за страницы одного процесса в основной памяти страницей друго ... ~п риводит к перераспределению размеров содержащихся в осн основав . частей процессов. Мы также узнаем, что переменное рас Р д, -. асп еде., .*т работать и с локальным замещением. А теперь рассмотри т им Вй,,'' ожных сочетания в отдельности.
Часть 3-' Габлица 8.4. Управление резидентным множеством Локальное замещение Глобальное замещение ° Количество кадров процесса фиксировало ° Страница для заме~пения выбирается среди выделенных процессу кадров ° Невозможна фиксированное ,аспределеиие ° Кол ячество выделенных процессу кадров может время от времени изменяться ° Страница для замес~ения выбирается среди всех доступных кадров в основной памяти; зто приводит к измевеввто размера резидентного множества процесса переменное распределение ° Страница для замещения выбирается бредя выделенпжх процессу кадров Фиксированное распределение, локальная область видимости Имеется работающий процесс, количество кадров основной памяти которого фиксировано.