В. Столлингс - Операционные системы (1114679), страница 75
Текст из файла (страница 75)
Прямой и ассоциативный поиск записи таблицы. страниц ( наконец, механизм виртуальной памяти должен взаимодействоват ": кэшем основной памяти, не ТЬВ). Это взаимодействие продемонстри, 'с. 8.10. Виртуальный адрес, вообще говоря, представляет собой'-, р страницы — смещение". Сначала происходит обращение к ТЬВ зя, имеется ли в нем соответствующая запись таблицы страниц 'ельном результате путем объединения номера кадра и смещения ге сальный (физический) адрес (если требуемой записи в ТЬВ нет, ее 3 таблицы страниц). После того как сгенерирован реальный .
еавляющий собой дескриптора и остальную часть адреса, выполня . См. рис. 1.17. Обычно дескриптор представляет собой несколько крайн . реального адреса. Более детпально о кэшировании можно узнать в [ВТАБ Ращение к кэшу для выяснения, не содержится ли в нем блок с интересующим нас словом. Если ответ положительный, то требуемое значение передается про- цессору; в противном случае происходит выборка слова из основной памяти.
Рис. 8.10. Взаимодействие нэша основной памяти и Т1.В Читатель должен оценить слоттсность аппаратного обеспечения процессора, вовлеченного в единственное обращение к памяти, когда виртуальный адрес преобразуется в Реальный.,Это приводит к обращению к записи таблицы странтщ, которая может оказаться в ТЬВ, в основной памяти или на диске.
Само слово, к которому ос уществляется обращение, тоже может оказаться в разных местах — в кэше, в основной памяти или на диске. В последнем случае соответствующая страница должна бытт,, ыть загружена в основную память, а блок, содержащий слово. — в кэш. Кроме того должна быть обновлена запись для данной страницы в таблице страниц. ~'азмер страницы В~с~ма важным вопросом при разработке является выбор размера страниц — здесь следует учесть сразу несколько факторов.
Один из них — внутренаяя ф фрагментация. Понятно, что внутренняя фрагментация, которую желательно у,„ ум~ньшить для оптимизации использования основной памяти, находится в прямой * ой зависимости от размера страницы, С другой стороны, чем меньше размер ~трави, :. цы ст "иц, тем больше их требуется для процесса, что означает увеличение табли~~раниц.
для больших программ в загруженной многозадачной среде это з сз. и н в Д Я5 Й~, д> Х ЯД Ю а Ф~~ б) Количество выделенных кадров а) размер страницы р — размер процесса тт' — размер рабочего множества И вЂ” общее количество страниц процесса рис. 8.11. Типичное поведение стпраничноа организации Следует учитывать также влияние количества кадров, распределеннЫ!~ ~. На рис. 8.11.6 показано, что для фиксированного размера стран возникновения прерываний из-за отсутствия страницы уменьшается .:: числа страниц, находящихся в основной памяти. Таким образом, 3 з Параметр Ът' предстпавллет размер рабочего множества, которое расс . в разделе 8.2.
г означать, что часть таблиц страниц активных процессов будет нахтэ-"" туальной памяти и при обращении к памяти будет возникать двойн -", тие из-за отсутствия страницы: сперва при получении требуемой цы страниц, а затем — при обращении к странице процесса. Еще >ром который следует учесть, являются физические характеристик~ .'': ' >ром, тва устройств вторичной памяти, приводящие и тому, что передач,,'т блоков осушествляется более эффективно. Зопрос усложняется еще и тем, что на частоту возникновения прер отсутствия страницы в основной памяти влияет размер стран 1,11,а показано обычное поведение частоты возникновения прерывай))" „-утствия страницы с учетом принципа локализации. Если размер , мал, то в памяти размещается относительно большое количество с" е .сса. Через некоторое время страницы в памяти будут содержать часиках , сосредоточенные вблизи последних обращений, и частота возникио"""'" ввания из-за отсутствия страницы должна быть невелика.
По мере >азмера страницы каждая отдельная страница будет содержать д а располагаются все дальше и дальше от последних выполненных к памяти. Соответственно, действие принципа локализации ослаб одается рост количества прерываний из-за отсутствия страницы. Б: " ов, когда размер страницы начинает становиться сравнимым с р асса (точка Р на графике), прерывания из-за отсутствия страницы с е реже, а по достижении размера этого процесса прекращаются вовсе. -.
' граммную стратегию (объем памяти, выделяемой процессу) влияет аппаратное ,ешение (размер страницы). В табл. 8.2 приведены размеры страниц на разных машинах. Размер страницы Коатпьютер Ат)вв )зовет че11-Мц)Псе 18М 370„.'ХА и 370у"ЕВА Семейство Ъ'АХ 18М АБт400 ВЕС А)р)та М1РБ ()11табРАВС Реп11ц тп РотчегРС И наконец, решение об йспользуемом размере страниц связано с размером физической основной памяти и размером программы. Ведь растет не только объем основной памяти в компьютерах, но и адресное пространство, используемое приложениями. Эта тенденция наиболее заметна в персональных компьютерах и рабочих станциях, где особенно резко проявляется увеличение размеров и возрастание сложности используемых приложений. Кроме того, современные технологии программирования, используемые в больших программах, приводят к снижению локализации ссылок процесса 1НБСК931.
В качестве примеров можно привести следующие. ° Объектно-ориентированные технологии, стимулирующие использование множества мелких модулей кода' и данных с обращениями к большому количеству объектов за относительно короткое время. Многопоточные приложения, приводящие к внезапным изменениям в потоке команд и.обращениям к памяти, разбросанным по разным адресам. Результативность поиска в Т1-В определенного размера с ростом размера процессов и уменьшением локализации снижается. При таком положении дел Т1.В моитет ~тать узким местом, ог15аничивающим производительность 1СНЕХ921.
Один из способов повышения производительности Т1. — использование больш льшого Т1-В с большим количеством записей. Однако увеличение размера Т1 В свнаа~ "а"но с другими аспектами аппаратного решения вопросов обращения к памяти — такими, как размер каша основной памяти и количество обратцений к паатят,т " при выполнении одной команды [ТА) 1.921, что заставляет сделать вывод о "евозм можностн роста размера Т).В такими же темпами, как и увеличение разме- 1'а основ новной памяти. Альтернативой может быть использование больших размеРов ст трзннц, с тем чтобы каждая запись в Т1.В ссылалась на большой блок патеят~т кто ткет - Однако мы уже видели, что использование больших размеров страниц 'кет привести к потере производительности.
Таблица 8.2. Примеры размеров страниц 512 48-битовых слов 1024 Зб-битовых слова 4 Кбайт 512 байте 512 байт 8 Кбайт от 4 Кбайт до 16 Мбайт от 8 Кбайт до 4 Мбайт от 4 Кбайт до 4 Мбайт 4 Кбайт Часть 3. ана 8- Виртуальная память читывая обстоятельства, рассмотренные нами ранее, ряд разра ~и к использованию множественных размеров страниц (ТА(.Ь92, 1торые из микропроцессоров, такие, как М1РБ В4000, А)РЬа, Ифг йоп1, поддерживают эту методику. Множественные размеры страни ".' пот необходимую для эффективного использования ТЕВ гибкость. рывные области адресного пространства процесса, например про яогут отображаться с использованием небольшого количества ~ц, в то время как стеки потоков могут использовать для отобр щы малого размера.
Однако большинство коммерческих операций~" ~ все еще поддерживают только один размер страниц, независимо а: ти аппаратного обеспечения работать со страницами разного ра ' :на этого отставания в том, что с размером страниц связано больщоа;.'- раэнообразных аспектов операционных систем, и переход на мно замер страниц оказывается очень сложным (ОАХА98).
ентация начеиие аиртуальиой памяти егментация позволяет программисту рассматривать память как щую из множества адресных пространств, или сегментов. Сегменты,' разные (фактически динамические) размеры. Обращения к п ~ют адреса, представляющие собой пары (номер сегмента, смещени4,,' акая организация имеет ряд преимуществ по сравнению с несегма' м адресным пространством. прощается обработка растущих структур данных. Если програ'" ~ранее не известен размер структур данных, с которыми предс этать, и есть возможность использовать сегментацию, структур~. ых может быть назначен ее собственный сегмент, размер которо"., ационная система будет увеличивать или уменьшать по мере не ости, Если сегмент, размер которого следует увеличить, нахо, сновной памяти и для его увеличения нет свободного места, о, иная система может переместить его в большую область или выг .