Учебное пособие Санкт-Петербург Издательство спбгэту «лэти» 2006
Вид материала | Учебное пособие |
Содержание3.6. Организация виртуальной памяти |
- Учебное пособие Санкт-Петербург Издательство спбгэту «лэти» 2006, 648.91kb.
- Учебное пособие Санкт-Петербург Издательство спбгэту «лэти» 2004, 1302.72kb.
- Лэти» радиотехнические цепи и сигналы лабораторный практикум санкт-Петербург Издательство, 1341.05kb.
- Учебное пособие Издательство спбгпу санкт-Петербург, 1380.47kb.
- Учебное пособие Санкт-Петербург Издательство спбгпу 2003, 5418.74kb.
- Учебное пособие Санкт-Петербург 2011 удк 621. 38. 049. 77(075) Поляков, 643.33kb.
- СПбгэту центр по работе с одаренной молодежью информационное письмо санкт-Петербургский, 63.77kb.
- 1. Обязательно ознакомиться с пакетом заранее. Все вопросы можно обсудить с редакторами, 215.48kb.
- Пособие для студентов IV-VI курсов, интернов и клинических ординаторов Санкт-Петербург, 494.12kb.
- Новые поступления за январь 2011 Физико-математические науки, 226.57kb.
3.6. Организация виртуальной памятиВиртуальная память – система основной и дисковой памяти, организуемая для расширения адресного пространства, доступного программам пользователей. При использовании виртуальной памяти различают:
Очевидно, что емкость ВАП должна значительно превышать емкость ФАП. Для обеспечения доступа к ВАП из программ пользователей необходимо установить строгое соответствие между данными, размещаемыми в ОП, и данными, размещенными на диске, отражаемое в специальных таблицах соответствия адресов. Для сокращения длины таблицы соответствия адресов информация, хранящаяся в основной памяти и на диске, должна быть разбита на одинаковые (в обоих видах памяти) блоки, для которых и устанавливается соответствие. Разбиение происходит по двум принципам:
При первом вся память (основная и дисковая) разбивается на одинаковые по размерам блоки, называемые страницами; разбиение происходит независимо от типа и характера размещаемых данных. Говорят, что страничное разбиение ориентируется на физическую память. При втором разбиение оперативной памяти и дисков происходит на логические сегменты, как правило, соответствующие логически завершенным объектам задач (программа, массив данных и т.д.); вследствие этого длина каждого сегмента может быть произвольной. Говорят, что сегментное разбиение имеет логическую ориентацию. Первый способ имеет более простые организацию и стратегию подгрузки и замещения страниц в основной памяти. Для второго способа достоинством является удобство организации защиты информации и коллективного доступа к данным. С Виртуальный (логический) адрес (ВА) Базовый адрес Номер Смещение в Регистр Таблицы страниц страницы странице адреса (в регистре) + p d Диск P m / d р’ Замещение Удаление страниц страниц Таблица соответствия адресов (таблица страниц) d Основная память (ФА) Основная память (ФА) траничную организацию памяти можно пояснить с помощью схемы, показанной на рис. 3.5. Рис. 3.5 Здесь признак m/d задает «бит присутствия»: 1 – страница есть в ОП, 0 – страница имеется только на диске. Сущность преобразования адресов: ВА p.d --> ФА p’.d , где операция ‘.’ означает конкатенацию. При замещении страниц в основной памяти используются следующие стратегии:
Основная проблема: выбор оптимальных размера и количества страниц. Наиболее часто используются размеры от 4 кб до 512 кб. Приведенная выше схема соответствует принципу прямого соответствия адресов, при котором для любого логического адреса есть свой физический адрес. Для сокращения длины таблицы страниц и времени доступа к ней используется принцип ассоциативного отображения страниц. В этом случае для хранения адресов наиболее часто используемых страниц используется память типа кеш и обращение к ней происходит по следующей схеме (рис. 3.6) BA pi d p1 p1I p2 p2I piI + ФА pk pkI Рис. 3.6 Такая структура называется буфер – страничной трансляции (БСТ). Сегментная организация виртуальной памяти При сегментной организации ВП строка таблицы сегментов должна содержать специальные атрибуты, задающие не только факт присутствия сегмента в ОП, но также его длину и способ доступа к сегменту. S Сущность преобразования адресов: Атрибуты S’ ВА S.d --> ФА S’.d, где операция ‘.’ означает конкатенацию Формат строки таблицы сегментов m/d L R W E АВП Здесь признак m/d – «бит присутствия 1 nI 1 1 1 nII L – длина сегмента; R,W,E – доступность по чтению, записи, выполнению; АВП – адрес во внешней памяти. Одной из проблем виртуальной памяти является фрагментация виртуальной памяти. Фрагментацию обычно различают внутреннюю и внешнюю.Внутренняя возникает от недоиспользованния полного размера страницы сегмента. Это приводит к образованию участков памяти, доступ к которым затруднен). Внешняя возникает только при сегментной организации виртуальной памяти из-за того, что удаляемый и размещаемый на его место сегменты имеют разные размеры. Для преодоления проблем фрагментации операционная система запускает процедуру, называемую «сборка мусора», которая объединяет свободные участки памяти в сплошные блоки. Для сегментной организации ВП дефрагментатор нужно запускать чаще, чем для страничной организации. Для решения проблем внешней фрагментации и сокращения длины таблицы страниц обычно применяется смешанная сегментно-страничная организация (рис. 3.7) S P d Номер Номер Смещение сегмента страницы в странице + ФА1 БА Сегмента 1 Таблица. стр. 1 + БА Сегмента i + i ФАi + Таблица сегментов Таблица стр. i Рис. 3.7 Сегмент рассматривается не как целый, а разбивается на страницы, именно части страниц будут теряться при фрагментации. Таблицу сегментов также не рассматривают как указатель на сплошное адресное пространство, а как совокупность указателей на различные, не обязательно смежные страницы. Для различных задач могут быть разные таблицы сегментов и разные связи с таблицами страниц. В результате обеспечивается на логическом уровне – сегментная организация, а на физическом – страничная. |