![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Сегодня для компьютеров универсального назначения типична ситуация, когда объем виртуального адресного пространства превышает доступный объем оперативной памяти. Это достигается за счет отображения виртуального адресного пространства на физическую память посредством использования механизма виртуальной памяти.
Виртуальная память - картина памяти, формируемая операционной системой для процесса (вспомним, что одна из функций ОС - предоставление виртуальной машины; естественно предположить, что память такой машины тоже должна быть виртуальной). Деятельность ОС по созданию такой картины правомерно назвать виртуализацией памяти.
Например, для процессов (потоков) в Windows NT память представляется плоской (линейной) и имеет объем 4 Гб.
Реально ОС имеет в своем распоряжении некоторый объем физической оперативной памяти в виде установленных модулей (этот объем может варьироваться до 4 Гб) плюс объем, который ей разрешено использовать на диске (от 2 Мб, сверху ограничивается администратором). Эта память распределяется между всеми процессами, включая системные, отдельными фрагментами (например, страницами, см. далее). Страницы отдельного процесса располагаются частью в оперативной памяти, частью на диске в порядке, устанавливаемом ОС и в общем случае отличном от их последовательности в самом процессе (его виртуальном адресном пространстве). Эффект увеличения объема памяти достигается за счет вытеснения неактивных страниц на диск.
Таким образом, 4Гб оперативной памяти, с которой работает процесс, - фикция, создаваемая для него операционной системой.
Поскольку виртуальная память - механизм управления памятью, а не предоставляемое ее пространство, корректнее говорить о памяти, предоставляемой процессу посредством этого механизма. Ее объем складывается из доступного объема оперативной памяти и объема разрешенной к использованию дисковой памяти. Тогда справедливо утверждение: объем памяти, предоставляемой процессу механизмом виртуальной памяти, потенциально позволяет адресовать все виртуальное адресное пространство данного процесса. Реально на взаимодействие процессов накладывается целый ряд различных ограничений, в силу которых процессы должны вести себя корректно друг по отношению к другу, и ни один процесс не должен претендовать на всю доступную память. На сегодня «правила хорошего тона» предписывают использовать не более 200 - 500 Мб памяти, самостоятельно организуя программным путем обмен с диском в случае наличия более громоздких структур данных (как, например, это делает Adobe Photoshop).
Дата публикования: 2015-10-09; Прочитано: 709 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!