![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Объем оперативной памяти существенно сказывается на характере протекания вы-
числительного процесса, так как он ограничивает число одновременно выполняющихся
программ, т. е. уровень мультипрограммирования.
Очевидно, что имеет смысл временно выгружать неактивные процессы, находящиеся в ожидании каких-либо ресурсов, в том числе очередного кванта времени центрального процессора. К моменту, когда пройдет очередь выполнения выгруженного процесса, его образ возвращается с диска в оперативную память. Если при этом обнаруживается, что свободного места в оперативной памяти не хватает, то на диск выгружается другой процесс.
Такая подмена (виртуализация) оперативной памяти дисковой памятью позволяет повысить уровень мультипрограммирования, поскольку объем оперативной памяти теперь не столь жестко ограничивает число одновременно выполняемых процессов. При этом суммарный объем оперативной памяти, занимаемой образами процессов, может существенно превосходить имеющийся объем оперативной памяти.
В данном случае в распоряжение прикладного программиста предоставляется виртуальная оперативная память, размер которой намного превосходит реальную память системы и ограничивается только возможностями адресации используемого процесса (в ПК на базе Pentium 23 2= 4 Гбайт). Вообще виртуальным (кажущимся) называется ресурс, обладающий свойствами (в данном случае большой объем ОП), которых в действительности у него нет.
Виртуализация оперативной памяти осуществляется совокупностью аппаратных и программных средств вычислительной системы (схемами процессора и операционной системой) автоматически без участия программиста и не сказывается на логике работы приложения.
Виртуализация памяти возможна на основе двух возможных подходов:
свопинг (swapping) - образы процессов выгружаются на диск и возвращаются в оперативную память целиком; виртуальная память (virtual memory) - между оперативной памятью и диском перемещаются части образов (сегменты, страницы, блоки и т. п.) процессов.
Недостатки свопинга:
· избыточность перемещаемых данных и отсюда замедление работы системы и неэффективное использование памяти;
· невозможность загрузить процесс, виртуальное пространство которого превышает имеющуюся в наличие свободную память.
Достоинство свопинга по сравнению с виртуальной памятью - меньшие затраты времени на преобразование адресов в кодах программ, поскольку оно делается один раз при загрузке с диска в память (однако это преимущество может быть незначительным, т. к. выполняется при очередной загрузке только часть кода и полностью преобразовывать код может быть и не надо).
Виртуальная память не имеет указанных недостатков, но ее ключевой проблемой является преобразование виртуальных адресов в физические (почему это проблема, будет ясно дальше, а пока можно отметить существенные затраты времени на этот процесс, если не принять специальных мер).
Дата публикования: 2014-11-04; Прочитано: 429 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!