Это
возможно только в том случае, если размер виртуального адресного
Би
пространства каждого процесса меньше объема физической памяти (т. е. весь
процесс можно загрузить в основную память, поэтому отпадает необходимость
в механизме виртуальной памяти). Содержимое назначенного процессу виртуального адресного пространства,
т. е. коды команд, исходные и промежуточные данные, а также результаты
вычислений, представляет собой образ процесса. Работу механизма виртуальной памяти можно кратко описать
следующим образом. В мультипрограммном режиме помимо активного
процесса, т. е. процесса, программный код которого в настоящий момент
5
обрабатывается процессором, имеются приостановленные процессы,
находящиеся в ожидании завершения ввода-вывода или освобождения
ресурсов, а также процессы в состоянии готовности, стоящие в очереди. Образы таких неактивных процессов могут быть одновременно до следующего
цикла активности выгружены на диск. Несмотря на то, что коды и данные
процесса отсутствуют в оперативной памяти, операционная система «знает» о
его существовании и в полной мере учитывает это при распределении
процессорного времени и других системных ресурсов. К моменту, когда
подходит очередь выполнения выгруженного процесса, его образ возвращается
с диска в оперативную память.
Если при этом обнаруживается, что свободного
места в оперативной памяти не хватает, то на диск выгружается другой
Р
процесс. Иными словами, создание нового процесса включает загрузку кодов и
данных исполняемой программы данного процесса с диска в оперативную
УИ
память. Для этого операционная система должна обнаружить местоположение
такой программы на диске, перераспределить оперативную память и выделить
память исполняемой программе нового процесса. Затем необходимо считать
программу в выделенные для нее участки памяти и, возможно, изменить
БГ
параметры программы в зависимости от особенностей её размещения в памяти. В системах с виртуальной памятью в начальный момент может загружаться
только часть кодов и данных процесса, остальное «подкачивается» по мере
необходимости. а
Таким образом, функции управления памятью принадлежат операционной
системе, действующей в тесной взаимосвязи с процессором. ек
Ключевой проблемой виртуальной памяти, возникающей в результате
многократного изменения местоположения в оперативной памяти образов
процессов или их частей, является преобразование виртуальных адресов в
т
физические. Решение этой проблемы, в свою очередь, зависит от того, какой способ
структуризации виртуального адресного пространства принят в данной системе
ио
управления памятью. Как уже отмечалось, виртуальная память – это механизм,
при котором между оперативной памятью и диском перемещаются части
(страницы, сегменты и т. п. ) образов процессов.