Н. К. Токжигитова а ционные системы


регистра  адреса  таблицы  страниц),  номера  виртуальной  страницы



Pdf көрінісі
бет39/79
Дата31.01.2022
өлшемі3,3 Mb.
#116517
түріУчебное пособие
1   ...   35   36   37   38   39   40   41   42   ...   79
Байланысты:
book 0846

регистра  адреса  таблицы  страниц),  номера  виртуальной  страницы

 

(старшие  разряды  виртуального  адреса)  и  длины  записи  в  таблице

 

страниц  (системная  константа)  определяется  адрес  нужной  записи  в

 

таблице;

- из этой записи  извлекается номер физической страницы;

- к  номеру  физической  страницы  присоединяется  смещение

 

(младшие разряды  виртуального адреса).

44



На  производительность  системы  со  страничной  организацией

 

памяти 



влияют 

временные  затраты, 

связанные  с 

обработкой

 

страничных  прерываний  и  преобразованием  виртуального  адреса  в

 

физический.  При  часто  возникающих  страничных  прерываниях

 

система  может  тратить  большую  часть  времени  впустую,  на  свопинг

 

страниц. 

Чтобы 

уменьшить 

частоту 

страничных 

прерываний,

 

следовало  бы  увеличивать  размер  страницы.  Кроме  того,  увеличение

 

размера  страницы  уменьшает  размер  таблицы  страниц,  а  значит

 

уменьшает  затраты  памяти.  С  другой  стороны,  если  страница  велика,

 

значит велика и фиктивная область в последней  виртуальной странице

 

каждой  программы.  В  среднем  на  каждой  программе  теряется

 

половина объема страницы,  что  в сумме  при большой  странице может

 

составить 



существенную 

величину. 

Время 

преобразования

 

виртуального 



адреса 

в 

физический 

в 

значительной 

степени

 

определяется  временем  доступа  к  таблице  страниц.  В  связи  с  этим

 

таблицу  страниц  стремятся  размещать  в  «быстрых»  запоминающих

 

устройствах.  Это  может  быть,  например,  набор  специальных

 

регистров  или  память,  использующая  для  уменьшения  времени

 

доступа ассоциативный поиск и кэширование данных.



Страничное  распределение  памяти  может  быть  реализовано  в

 

упрощенном  варианте,  без  выгрузки  страниц  на  диск.  В  этом  случае

 

все  виртуальные  страницы  всех  процессов  постоянно  находятся  в

 

оперативной  памяти.  Такой  вариант  страничной  организации  хотя  и

 

не  предоставляет  пользователю  виртуальной  памяти,  но  почти

 

исключает  фрагментацию  за  счет  того,  что  программа  может

 

загружаться  в  несмежные  области,  а  также  того,  что  при  загрузке

 

виртуальных страниц никогда не образуется остатков.



5.7 Сегментное распределение

При страничной организации виртуальное  адресное  пространство

 

процесса  делится  механически  на  равные  части.  Это  не  позволяет

 

дифференцировать  способы  доступа  к  разным  частям  программы

 

(сегментам),  а  это  свойство  часто  бывает  очень  полезным.  Например,

 

можно запретить обращаться с операциями записи и чтения  в кодовый

 

сегмент  программы,  а для  сегмента данных  разрешить только  чтение.

 

Кроме  того,  разбиение  программы  на  «осмысленные»  части  делает

 

принципиально  возможным  разделение  одного  сегмента  несколькими

 

процессами.  Например,  если  два  процесса  используют  одну  и  ту  же

 

математическую  подпрограмму, то  в оперативную  память может быть

 

загружена только одна копия этой  подпрограммы.

45



Рассмотрим,  каким  образом  сегментное  распределение  памяти

 

реализует  эти  возможности  (рисунок  16).  Виртуальное  адресное

 

пространство  процесса  делится  на  сегменты,  размер  которых

 

определяется 



программистом 

с 

учетом 

смыслового 

значения

 

содержащейся  в  них  информации.  Отдельный  сегмент  может

 

представлять  собой  подпрограмму,  массив  данных  и  т.п.  Иногда

 

сегментация программы выполняется по умолчанию компилятором.



При 

загрузке 

процесса 



Достарыңызбен бөлісу:
1   ...   35   36   37   38   39   40   41   42   ...   79




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет