Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Динамическая трансляция адреса



Динамическая трансляция адреса (dynamic address translation, DAT) представляет собой процесс преобразования виртуального адреса при ссылке на участок памяти в соответствующий реальный адрес. Если виртуальный адрес уже ссылается на основную память, процесс динамической трансляции адреса может быть ускорен посредством использования буфера быстрого преобразования адреса (translation lookaside buffer). Если виртуальный адрес не ссылается на основную память, возникает прерывание по отсутствию страницы (page fault interrupt), после чего z/OS извлекает страницу из вспомогательной памяти.

При более внимательном рассмотрении этого процесса выясняется, что компьютер может обнаруживать ошибки типа, региона, сегмента или страницы, в зависимости от того, в каком месте структуры DAT обнаруживаются недопустимые записи. Ошибки повторяются в структуре DAT до тех пор, пока в конечном счете не выдается ошибка отсутствия страницы, после чего выполняется первоначальное выделение виртуальной страницы в основной памяти (если копия отсутствует во вспомогательной памяти) либо передача страницы из вспомогательной памяти.

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


7.8. Виртуальная память. Формат виртуального адреса.

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

Физическая память разделена на области одинакового размера, доступ к которым осуществляется по уникальному адресу. В основной памяти эти области называются фреймами; во вспомогательной памяти они называются слотами. Подобным образом операционная система может разделить программу на фрагменты размером с фрейм или слот и назначить каждому фрагменту уникальный адрес. Такое назначение позволяет операционной системе отслеживать эти фрагменты. В z/OS фрагменты программы называются страницами.

Для адресации страниц используются виртуальные, а не реальные адреса. С момента ввода программы в систему до завершения ее выполнения виртуальный адрес страницы остается неизменным, независимо от того, находится ли страница в основной или во вспомогательной памяти. Каждая страница состоит из отдельных элементов, называемых байтами, каждый из которых имеет уникальный виртуальный адрес.





Дата публикования: 2015-02-03; Прочитано: 519 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...