Организация виртуальной памяти 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Организация виртуальной памяти



Виртуальная память организуется обычно f на основе аппаратно-программных принципов и превышает размеры реальной памяти.

Определение виртуальной памяти. Успехи технологии приводят к тому, что размер реальной основной памяти вычислительных машин непрерывно увеличивается. Однако потребность в расширении основной памяти растет еще быстрее. Это объясняется ростом производительности процессоров, которая должна быть сбалансирована с размером реальной основной памяти, а также с ростом требований к размерам памяти в современных программных системах.

Ограниченность реальной памяти может привести к снижению эффективности использования вычислительной системы.

Разработка программных проектов с поставленными заранее условиями ограниченности памяти приводит к увеличению стоимости разработки и может быть оправдана только для специальных применений. Выполнение программ в условиях ограниченности основной памяти приводит к увеличению времени выполнения. Поэтому весьма желательно предоставить программисту практически неограниченный объем основной памяти на логическом уровне.

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

Основная память, моделируемая на внешней памяти (на магнитных дисках), называется виртуальной (в отличие от реальной). Объем виртуальной памяти может значительно превышать объем реальной памяти и ограничивается только размером адреса. Так, для 24-разрядного адреса можно обеспечить пространство виртуальной памяти до 16 М байт. В вычислительной системе может существовать либо одно виртуальное адресное пространство для системы и всех пользователей, либо много виртуальных адресных пространств.

Виртуальное адресное пространство располагается в страничном наборе данных на одном или нескольких томах магнитных дисков. Для выполнения программ необходимо обеспечить перемещение программ и данных между виртуальной и реальной памятью. Единицей памяти, используемой для перемещения, является страница. Размер страницы фиксирован, например, 2 К либо 4 К. Процесс перемещения страниц между реальной и виртуальной памятью называется страничным обменом (см. рис. 14).

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

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

Процесс преобразования для 24-разрядного адреса показан на рис. 3.14. Динамическое преобразование адресов выполняется с помощью таблиц сегментов и таблиц страниц, находящихся в основной -памяти.

Логический адрес основной памяти состоит из трех частей: старшие разряды определяют индекс сегмента, следующие — индекс страницы, младшие — индекс байта. Размеры индексов зависят от размера страницы, сегмента и общего размера пространства виртуальной памяти. Так, при размере страницы в 2 К байт индекс байта, являющийся адресом байта внутри страницы, требует 11 разрядов; при размере сегмента в 64 К байт индекс страницы, являющийся номером страницы в сегменте, требует 5 разрядов; при общем размере адресного пространства в 16 М байт (т. е. при 24-разрядном адресе) индекс сегмента, являющийся номером сегмента в виртуальном пространстве, требует 8 разрядов.

Индекс сегмента используется для выбора строки таблицы сегментов, длина и адрес начала которой указаны в управляющем регистре. Эта строка определяет

Рис. 3.14. Динамическое преобразование 24-разрядного адреса Размер сегмента равен 64 К байт; размер страницы, равный 4 К байт, обозначается кружком; размер страницы равный 2 К байт, обозначается квадрвгаМ I — биты доступности сегмента или страницы.

гП'МН

таблицу страниц, которую следует использовать. И н-декс страницы используется для выбора строки таблицы страниц. Эта строка содержит старшие биты реального адреса, соответствующего исходному логическому адресу. Индекс байтов используется без изменения в качестве младшей части реального адреса.

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

Супервизор страниц. Буфер быстрой переадресации представляет собой быструю память, построенную по ассоциативному признаку. Объем этой памяти зависит от вычислительной мощности ЭВМ.

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

При обращении к странице, отсутствующей в реальной памяти, возникает прерывание (бит доступности в строке таблицы страниц установлен в 1). Это программное прерывание обрабатывается супервизором страниц, организующим в данном случае страничный обмен, в результате которого по определенному алгоритму вытесняется одна из страниц реальной памяти и на ее место загружается требуемая страница.

В результате обработки прерывания по отсутствию страницы требуемая страница загружается из виртуальной памяти в реальную. При этом бит доступности страницы устанавливается в 0. Выполнение прерванной программы продолжается с повторения прерванной команды.

Управление данными

Управление данными — важнейший компонент операционной системы, так как осуществляет связь вычислительной системы с «окружающей средой:»: реализует запросы на ввод-вывод, исходящие как от программы пользователя, так и от программы операционной системы.

Основные функции управления данными. Управление данными предназначено для выполнения следующих функций:

— централизованного осуществления операций ввода-вывода (операций обмена) с использованием внешних (периферийных) устройств;

— обеспечения хранения данных на устройствах внешней памяти;

— обеспечения различных способов организации и идентификации данных;

— каталогизации данных, позволяющей осуществлять их поиск используя лишь символическое имя без указания местонахождения;

— автоматического распределения памяти на томах прямого доступа;

— автоматического поиска данных по их символическому имени;

— обеспечения независимости программ от характеристик данных, которые они обрабатывают, и типов используемых внешних устройств;

— обеспечения различных методов доступа к данным в зависимости от их организации и логического уровня способа доступа.

Централизованное выполнение операций ввода-вывода создает возможности для организации мультипрограммной обработки данных и оптимизации операций обмена с внешними устройствами. Это позволяет сократить продолжительность простоев центрального процессора и время выполнения заданий, увеличить эффективность использования внешних устройств. Автоматизация процессов обмена информацией позволяет свести до минимума потребность в ручном вмешательстве оператора и в значительной степени упростить процесс разработки и отладки программ.

Все функции управления данными, перечисленные выше, можно разделить на два вида:

1) управление процессами ввода-вывода в вычисли- т тельной системе; S

2) организация данных, хранимых в вычислительной системе. Эта функция имеет отношение только к данным, хранимым на внешних запоминающих устройствах (НМД и НМЛ).

Оба вида функций реализуются через операции вво-

да-вывода, поэтому организация ввода-вывода является основой управления данными.

Архитектура современных ЭВМ рассчитана на аппаратно-программную организацию операций ввода-вывода, которая предполагает функционирование аппаратных средств ввода-вывода под управлением управляющей программы. Аппаратная часть организации ввода-вывода основана на реализации этих операций в специализированных устройствах, называемых каналами ввода-вывода, либо в специализированных ЭВМ (в зависимости от объема функций, выполняемых этими устройствами).

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

Запуск устройств ввода-вывода осуществляется по специальным командам, выдаваемым управляющей программой центрального процессора. При завершении операции ввода-вывода устройства выдают управляющей программе центрального процессора сигнал прерывания. В процессе функционирования устройство ввода-вывода действует в соответствии с собственной программой.



Поделиться:


Последнее изменение этой страницы: 2016-06-26; просмотров: 279; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.221.43.88 (0.021 с.)