Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Виртуальная память

Читайте также:
  1. Виртуализация оперативной памяти. Свопинг и виртуальная память.
  2. Виртуальная реальность как социокультурный феномен информационного общества
  3. Виртуальная реальность. 3D-технологии.
  4. Лекция 2 Память. Внимание.
  5. Обмен данными через проекцию файлов в память.
  6. Организация и управление оперативной памятью. Реальная память.
  7. Память. Виды и процессы памяти
  8. Переводческая память.
  9. Создание файлов, проецируемых в память.

54. Преобразование виртуального адреса в физический при сегментно-страничной организации памяти.

Виртуальная память является наиболее эффективным способом управления памятью. Виртуальная память использует дисковую память для временного хранения не помещающихся в оперативную память данных и кодов выполняемых программ.

Необходимым условием для того, чтобы программа могла выполняться, является ее нахождение в оперативной памяти. Только в этом случае процессор может извлекать команды из памяти и интерпретировать их, выполняя заданные действия.

Виртуализация оперативной памяти осуществляется совокупностью программных модулей ОС и аппаратных схем процессора и включает решение следующих задач:

1. размещение данных в ЗУ разного типа, например, часть кодов программы в оперативной памяти, а часть – на диске,

2. выбор программ или их частей для перемещения из оперативной памяти на диск и обратно,

3. преобразование виртуальных адресов в физические.

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

o страничная виртуальная память организует перемещение данных между памятью и диском страницами – частями виртуального адресного пространства, фиксированного и сравнительно небольшого размера,

o сегментная виртуальная память предусматривает перемещение данных сегментами - частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных,

o сегментно - страничная виртуальная память использует двухуровневое деление: адресное пространство делится на сегменты, а затем сегменты делятся на страницы. Единицей перемещения данных здесь является страница.

При страничной организации виртуальное адресное пространство делится на страницы механически, без учета смыслового значения данных. В одной странице могут оказаться и коды команд, и переменные, и массив исходных данных программы.

Размер сегмента определяется с учетом смыслового значения содержащейся в них информации. Отдельный сегмент может представлять собой подпрограмму, массив данных и т. д.

Максимальный размер сегмента определяется разрядностью виртуального адреса. Например, при 32-разрядной организации процессора он равен 4 Гбайт. Сегменты не упорядочиваются относительно друг друга. Виртуальный адрес задается номером сегмента и линейным виртуальным адресом внутри сегмента.

При загрузке программы в оперативную память помещается только часть ее сегментов. Полная копия виртуального адресного пространства находится в дисковой памяти. Для каждого загружаемого сегмента ОС подыскивает непрерывный участок свободной памяти достаточного размера. Смежные в виртуальной памяти сегменты одной программы могут занимать в оперативной памяти несмежные участки. Если во время выполнения программы происходит обращение по виртуальному адресу, относящемуся к сегменту, который в данный момент отсутствует в памяти, то ОС организует загрузку нужного сегмента с диска. При отсутствии в памяти места, необходимого для загрузки сегмента, ОС выбирает сегмент на выгрузку.

Недостатки сегментного распределения:

    1. при сегментной организации единицей передачи между памятью и диском является сегмент, имеющий большой объем (по сравнению со страницей). Однако, во многих случаях для работы программы не требуется загружать весь сегмент целиком, достаточно лишь несколько страниц. Аналогично, при отсутствии свободного места в памяти не стоит выгружать целый сегмент, когда можно обойтись выгрузкой нескольких страниц.
    2. неэффективное использование пространства памяти. В процессе работы в памяти могут образоваться небольшие участки, в которые не может быть загружен ни один сегмент.

Преимущества сегментного распределения над страничным: возможность задания прав доступа к сегменту («только чтение», «чтение и запись» и т. д.)

Сегментно - страничное распределение представляет собой комбинацию и объединяет достоинства обоих методов. Виртуальное адресное пространство разделено на сегменты, что позволяет определять разные права доступа к разным частям кодов и данных программы. Перемещение данных между памятью и диском осуществляется не сегментами, а страницами. Для этого каждый виртуальный сегмент и физическая память делятся на страницы равного размера, что позволяет более эффективно использовать память.

Преобразование виртуального адреса в физический происходит в 2 этапа:

1. сегментное преобразование,

2. страничное преобразование.

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


<== предыдущая страница | следующая страница ==>
Преобразование адресов в защищенном режиме: страничная организация памяти | Общие сведения и технические характеристики арифметического сопроцессора. Система команд арифметического сопроцессора

Дата добавления: 2014-08-04; просмотров: 507; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.005 сек.