Организация виртуальной памяти.pptx
- Количество слайдов: 10
ОРГАНИЗАЦИЯ ВИРТУАЛЬНОЙ ПАМЯТИ
•
Для того, чтобы обеспечить это технически в ЭВМ встраиваются специальные программные и технические средства, которые и обеспечивают автоматический свопинг. Эти средства должны обеспечить выполнение двух действий: • преобразование виртуальных адресов в физические, т. е. либо в адреса ячеек ОП, либо, если это ВП, в адреса ВЗУ и номера блоков на носителе информации, по которым и производится обращение к памяти; • если адресуемая информация в момент обращения находится не в ОП, а во ВП, то передачу её (вместе с блоком информации) из ВП в ОП на заранее освобожденное место (свопинг).
Технически наиболее просто указанные действия реализуются при страничной организации памяти. В этом случае для адресации ячеек виртуальной памяти используются длинные виртуальные адреса (ВА) следующего формата: где m=k+n - длина ВА, Р – номер виртуальной страницы, D – номер ячейки в странице. Физический адрес имеет аналогичную структуру: только старшие разряды - поле S - указывают адрес (номер) физической страницы.
Понятие “виртуальная страница” связывается с той информацией, которая хранится в этой странице, а не с местом её хранения. А вот понятие “физическая страница” связано с местом хранения виртуальной страницы с номером Р. Таким образом, виртуальные страницы подвижны, а физические – неподвижны. Это означает, что одна и та же виртуальная страница в разные моменты времени может находиться в различных физических страницах памяти: то в ОП, то в ВП, то опять в ОП. Т. е. информация в процессе функционирования ЭВМ перемещается внутри физической памяти.
За процессом перемещения виртуальных страниц необходимо следить. С этой целью текущее состояние виртуальной памяти отображается в виде таблицы страниц. В таблице страниц каждой виртуальной странице с номером Р ставится в соответствие одна строка. В этой строке и указывается, в каком конкретно месте физической памяти расположены виртуальные страницы в данный момент времени, т. е. в этой строке указывается номер физической страницы S. Кроме того, здесь же указывается и признак доступности страницы ЦП dp, если dp=0 - страница P находится во ВП (Р∉ОП), если dp=1 – страница Р находится в ОП (Р ∈ОП), доступна ЦП. В случае d. P=1 преобразование BA в физический ФА производится следующим образом.
Преобразование ВА в ФА
Физический адрес формируется конкатенацией поля S из таблицы страниц и поля D из ВА: ФА=S. D. В IBM PC физический адрес формируется суммированием этих полей: ФА=S+D, где S интерпретируется как базовый адрес, а поле D – как смещение. В случае если dp =0 – т. е. страница недоступна ЦП, происходит прерывание текущей команды и управление передаётся средствам перемещения страниц, т. е. средствам, обеспечивающим свопинг. Эти средства обеспечивают перемещение виртуальной страницы Р из ВП в ОП, предварительно удалив страницу из ОП в свободное место (в свободную физическую страницу) ВП. Порядок использования таблицы страниц можно проиллюстрировать следующим рисунком.
Порядок использования таблицы страниц
Хранить таблицы страниц проще всего в ОП. Но при этом при каждом обращении по ВА будет производиться два физических обращения к ОП: сначала к таблице страниц, а затем к ячейке ОП по ФА. Ясно, что такая организация памяти снижает быстродействие памяти вдвое. Необходимо хранить таблицы страниц не в ОП, а в СОП (в КЭШ, например). Это дороже, но быстрее.