Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы мк 2.doc
Скачиваний:
3
Добавлен:
16.09.2019
Размер:
142.85 Кб
Скачать

32. Выбор замещаемой страницы. Алгоритм “fifo”.

При выталкивании страниц по принципу FIFO каждой странице в момент поступления в основную память присваивается временная метка. Когда появляется необходимость удалять из основной памяти какую-нибудь страницу, выбирается та, которая находилась в памяти дольше других. Интуитивно у данной страницы уже были возможности быть задействованной, и пора дать подобные возможности и другой странице. К сожалению, стратегия FIFO с достаточно большой вероятностью будет приводить к замещению активно используемых страниц, поскольку тот факт, что страница находится в основной памяти в течение длительного времени, вполне может означать, что она постоянно в работе. Алгоритм FIFO производит выбор сегмента по времени, прошедшем с момента размещения сегмента в оперативной памяти, но не учитывает фактическое использование сегментов. Это может привести к ситуации, когда только выгруженный сегмент снова потребуется программе. Поэтому, более оптимальными являются дисциплины LRU и LFU.

33. Выбор замещаемой страницы. Алгоритм «Часы». Чтобы избежать перемещения страниц по списку, можно использовать указатель, который перемещается по списку.

Алгоритм "часы"

34. Выбор замещаемой страницы. Алгоритм «Старение». Алгоритм старения. Предположим, что после первого прерывания от таймера бит R для страниц от 0 до 5 имеет, соответственно, значения 1, 0, 1, 0, 1 и 1 (для страницы 0 оно равно 1, для страницы 1 — 0, для страницы 2 — 1, и т. д.). Иными словами, между прерываниями от таймера, соответствующими тактам 0 и 1, было обращение к страницам 0, 2,4 и 5, в результате которого их биты R были установлены в 1, а у остальных страниц их значение осталось равным 0. После того как были смещены значения шести соответствующих счетчиков и слева было вставлено значение бита #, они приобрели значения, показанные на рис. 3.17, а. В четырех оставшихся столбцах показаны состояния шести счетчиков после следующих четырех прерываний от таймера. При возникновении ошибки отсутствия страницы удаляется та страница, чей счетчик имеет наименьшее значение. Очевидно, что у страницы, к которой не было обращений за, скажем, четыре прерывания от таймера, в ее счетчике будет четыре ведущих нуля, и поэтому значение ее счетчика будет меньшим, чем у счетчика страницы, к которой не было обращений в течение трех прерываний от таймера.

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