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

Фреймы, страницы и слоты



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

Фрагменты программы, выполняющиеся в виртуальной памяти, необходимо перемещать между основной и вспомогательной памятью. Для этого z/OS при управлении хранением работает с блоками размером 4 Кб. Определены следующие блоки:

· блок в основной памяти называется фреймом (frame);

· блок в виртуальной памяти называется страницей (page);

· блок во вспомогательной памяти называется слотом (slot).

Страница, фрейм и слот имеют одинаковый размер – 4 Кб. Активная страница виртуальной памяти находится во фрейме основной памяти. Страница виртуальной памяти, которая становится неактивной, находится в слоте вспомогательной памяти (в страничном наборе данных).

На рис. 3.4 показано, каким образом z/OS выполняет загрузку страниц для программы, выполняющейся в виртуальной памяти. Квадраты, обозначенные буквами, представляют части программы. В этом упрощенном представлении части программы A, E, F и H активны и выполняются во фреймах основной памяти, тогда как части B, C, D и G неактивны и перемещены в слоты вспомогательной памяти. Тем не менее, все части программы находятся в виртуальной памяти и имеют виртуальные адреса.


7.10. Страничный обмен в z/OS. Изъятие страницы.

z/OS использует набор таблиц для того, чтобы определить, находится ли страница в основной или вспомогательной памяти и где именно. Чтобы найти страницу программы, z/OS ищет виртуальный адрес страницы в таблице, вместо того чтобы просматривать всю физическую память. Затем z/OS при необходимости передает страницу в основную память или во вспомогательную память. Такое перемещение страниц между слотами вспомогательной памяти и фреймами основной памяти называется страничным обменом (paging).

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

Как выполняется страничный обмен в z/OS

Помимо DAT-оборудования и таблиц сегментов и страниц, нужных для трансляции адресов, при страничном обмене используется множество системных компонентов для управления перемещением страниц, а также несколько дополнительных таблиц для определения наиболее актуальной версии каждой страницы. Для того чтобы понять принцип выполнения страничного обмена, рассмотрим ситуацию, когда DAT при трансляции адресов обнаруживает недопустимую запись в таблице страниц; это указывает на то, что необходима страница, не находящаяся во фрейме основной памяти. Чтобы разрешить ошибку отсутствия страницы, система должна перенести страницу из вспомогательной памяти. Однако прежде она должна найти свободный фрейм в основной памяти. Если такого фрейма нет, необходимо сохранить запрос и освободить выделенный фрейм. Для освобождения фрейма система копирует его содержимое во вспомогательную память и помечает соответствующую запись в таблице страниц как недействительную. Эта операция называется вытеснением страницы (page-out).

После нахождения фрейма для требуемой страницы содержимое страницы копируется из вспомогательной памяти в основную память и бит недействительности записи таблицы страниц сбрасывается. Эта операция называется подкачкой страницы (page-in).

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





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



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