Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ ВСЕ.docx
Скачиваний:
31
Добавлен:
16.04.2019
Размер:
1.69 Mб
Скачать

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

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

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

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

Формат виртуального адреса

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

z/OS управляет адресными пространствами, используя единицы различного размера, в частности:

Страница. Адресные пространства разделяются на 4-килобайтовые блоки виртуальной памяти, называемые страницами.

Сегмент. Адресные пространства разделяются на 1-мегабайтовые блоки, называемые сегментами. Сегмент представляет собой блок последовательных виртуальных адресов, охватывающий мегабайт, начиная с 1-мегабайтового предела; 2-гигабайтовое адресное пространство, например, содержит 2 048 сегментов.

Регион Адресные пространства разделяются на блоки размером от 2 до 8 Гб, называемые регионами. Регион представляет собой блок последовательных виртуальных адресов, охватывающий 2-8 Гб, начиная с 2-гигабайтового предела; 4-терабайтовое адресное пространство, например, содержит 2 048 регионов.

Виртуальный адрес соответственно имеет четыре основных поля: разряды 0–32 называются индексом региона (region index, RX), разряды 33–43 называются индексом сегмента (segment index, SX), разряды 44–51 называются индексом страницы (page index, PX), и разряды 52–63 называются индексом байта (byte index, BX).

Виртуальный адрес имеет следующий формат:

В зависимости от значения управляющего элемента адресного пространства (address- space-control element), виртуальное адресное пространство может представлять собой как 2-гигабайтовое пространство, содержащее один регион, так и 16-экзабайтовое пространство. Компонент RX виртуального адреса для 2-гигабайтового адресного пространства должен содержать одни нули; в противном случае возникает исключение.

Компонент RX виртуального адреса разделен на три поля. Разряды 0–10 называются первым индексом региона (region first index, RFX), разряды 11–21 называются вторым индексом региона (region second index, RSX), и разряды 22–32 называются третьим индексом региона (region third index, RTX). Разряды 0–32 виртуального адреса имеют следующий формат:

Виртуальный адрес, в котором самым старшим компонентом является RTX (42-разрядный адрес), может выполнять адресацию 4 Тб (2 048 регионов); виртуальный адрес, в котором самым старшим компонентом является RSX (53-разрядный адрес), может выполнять адресацию 8 Пб (4 миллиона регионов), и виртуальный адрес, в котором самым старшим компонентом является RFX (64-разрядный адрес), может выполнять адресацию 16 Эб (8 миллиардов регионов).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]