Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Виртуальная память54. Преобразование виртуального адреса в физический при сегментно-страничной организации памяти. Виртуальная память является наиболее эффективным способом управления памятью. Виртуальная память использует дисковую память для временного хранения не помещающихся в оперативную память данных и кодов выполняемых программ. Необходимым условием для того, чтобы программа могла выполняться, является ее нахождение в оперативной памяти. Только в этом случае процессор может извлекать команды из памяти и интерпретировать их, выполняя заданные действия. Виртуализация оперативной памяти осуществляется совокупностью программных модулей ОС и аппаратных схем процессора и включает решение следующих задач: 1. размещение данных в ЗУ разного типа, например, часть кодов программы в оперативной памяти, а часть – на диске, 2. выбор программ или их частей для перемещения из оперативной памяти на диск и обратно, 3. преобразование виртуальных адресов в физические. В настоящее время все множество реализаций виртуальной памяти может быть представлено тремя классами; o страничная виртуальная память организует перемещение данных между памятью и диском страницами – частями виртуального адресного пространства, фиксированного и сравнительно небольшого размера, o сегментная виртуальная память предусматривает перемещение данных сегментами - частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных, o сегментно - страничная виртуальная память использует двухуровневое деление: адресное пространство делится на сегменты, а затем сегменты делятся на страницы. Единицей перемещения данных здесь является страница. При страничной организации виртуальное адресное пространство делится на страницы механически, без учета смыслового значения данных. В одной странице могут оказаться и коды команд, и переменные, и массив исходных данных программы. Размер сегмента определяется с учетом смыслового значения содержащейся в них информации. Отдельный сегмент может представлять собой подпрограмму, массив данных и т. д. Максимальный размер сегмента определяется разрядностью виртуального адреса. Например, при 32-разрядной организации процессора он равен 4 Гбайт. Сегменты не упорядочиваются относительно друг друга. Виртуальный адрес задается номером сегмента и линейным виртуальным адресом внутри сегмента. При загрузке программы в оперативную память помещается только часть ее сегментов. Полная копия виртуального адресного пространства находится в дисковой памяти. Для каждого загружаемого сегмента ОС подыскивает непрерывный участок свободной памяти достаточного размера. Смежные в виртуальной памяти сегменты одной программы могут занимать в оперативной памяти несмежные участки. Если во время выполнения программы происходит обращение по виртуальному адресу, относящемуся к сегменту, который в данный момент отсутствует в памяти, то ОС организует загрузку нужного сегмента с диска. При отсутствии в памяти места, необходимого для загрузки сегмента, ОС выбирает сегмент на выгрузку. Недостатки сегментного распределения:
Преимущества сегментного распределения над страничным: возможность задания прав доступа к сегменту («только чтение», «чтение и запись» и т. д.) Сегментно - страничное распределение представляет собой комбинацию и объединяет достоинства обоих методов. Виртуальное адресное пространство разделено на сегменты, что позволяет определять разные права доступа к разным частям кодов и данных программы. Перемещение данных между памятью и диском осуществляется не сегментами, а страницами. Для этого каждый виртуальный сегмент и физическая память делятся на страницы равного размера, что позволяет более эффективно использовать память. Преобразование виртуального адреса в физический происходит в 2 этапа: 1. сегментное преобразование, 2. страничное преобразование. Рисунок – Преобразование виртуального адреса в физический при сегментно – страничной организации памяти
Дата добавления: 2014-08-04; просмотров: 507; Нарушение авторских прав Мы поможем в написании ваших работ! |