Страницы — до 30 мин

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

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

В мультипрограммном режиме помимо активного процесса, то есть процесса, коды которого в настоящий момент интерпретируются процессором, имеются приостановленные процессы, находящиеся в ожидании завершения ввода-выво­да или освобождения ресурсов, а также процессы в состоянии готовности, стоя­щие в очереди к процессору. Образы таких неактивных процессов могут быть временно, до следующего цикла активности, выгружены на диск. Несмотря на то что коды и данные процесса отсутствуют в оперативной памяти, ОС «знает» о его существовании и в полной мере учитывает это при распределении процессорно­го времени и других системных ресурсов. К моменту, когда подходит очередь выполнения выгруженного процесса, его образ возвращается с диска в оператив­ную память. Если при этом обнаруживается, что свободного места в оперативной памяти не хватает, то на диск выгружается другой процесс.

Такая подмена (виртуализация) оперативной памяти дисковой памятью позво­ляет повысить уровень мультипрограммирования — объем оперативной памяти компьютера теперь не столь жестко ограничивает количество одновременно вы­полняемых процессов, поскольку суммарный объем памяти, занимаемой образа­ми этих процессов, может существенно превосходить имеющийся объем опера­тивной памяти. Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которы­ми он в действительности не обладает. В данном случае в распоряжение приклад­ного программиста предоставляется виртуальная оперативная память, размер которой намного превосходит всю имеющуюся в системе реальную оперативную память. Пользователь пишет программу, а транслятор, используя виртуальные адреса, переводит ее в машинные коды так, как будто в распоряжении програм­мы имеется однородная оперативная память большого объема. В действитель­ности же все коды и данные, используемые программой, хранятся на дисках и только при необходимости загружаются в реальную оперативную память. По­нятно, однако, что работа такой «оперативной памяти» происходит значительно медленнее.

Виртуализация оперативной памяти осуществляется совокупностью программ­ных модулей ОС и аппаратных схем процессора и включает решение следующих задач:

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

выбор образов процессов или их частей для перемещения из оперативной па­мяти на диск и обратно;

перемещение по мере необходимости данных между памятью и диском;

преобразование виртуальных адресов в физические.

Вся оперативная память машины также делится на части такого же размера, на­зываемые физическими страницами (или блоками, или кадрами).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: