Читать онлайн «Виртуальная память : лаборатор. практикум по курсу «Систем. программирование» для студентов специальности I-40 02 02 «Электр. вычисл. средства» днев. формы обучения»

Автор Д. Д. Соколов

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