Инфо IT 24

IT блог, IT мышление

Физическая память

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

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

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

Статью опубликовал: i24TbloG

Метки:

Из каталога:

Программирование Linux Part E

Предыдущая статья:

Следующая статья: