Постраничная подкачка
Физическое и виртуальное (логическое) адресное пространство каждого процесса разделено на страницы — «кванты» памяти, размер которых зависит от компьютера. Например, для компьютеров х86 размер страницы составляет 4 кб. Ядро может перемещать страницы памяти в страничный файл на диске (Pagefile.sys) и обратно: таким образом, управление памятью становится более гибким. Когда страница перемещается в физическую память, ядро обновляет таблицы страниц соответствующих процессов. Если ядру требуется место в физической памяти, оно вытесняет самые старые страницы физической памяти в страничный файл. Манипуляции ядра с физической памятью совершенно незаметны (прозрачны) для приложений, которые работают только со своими виртуальными адресными пространствами.
> Просмотр эффектов подкачки при помощи System Monitor
- В меню Start выберите пункты Programs, Microsoft Visual Basic 5.0, Visual Basic 5.0.
- Щелкните значок Existing и выберите проект Lab1.vbp в папке WA\Labs\Ch01. Щелкните кнопку Open.
- В ответ на запрос Add this project to Source Safe щелкните No.
- Откройте окно кода для события cmdUseRAM_Click и изучите его код.
Эта процедура заполняет большой массив символами пробела, используя значительный объем памяти.
- Откройте окно кода для события cmdFreeRAM_Click и изучите его код.
Оператор Erase используется для повторной инициализации массива HugeArray, который объявлен в разделе General Declaration.
- Запустите приложение.
Автоматически запустится System Monitor.
- В меню Options окна System Monitor выберите команду Chart.
- Задайте значение Update Interval, соответствующее быстрейшему обновлению, и щелкните ОК.
- В меню Edit выберите команду Add Item.
- В списке Category выберите пункт Memory Manager, а в списке Item — пункт Allocated Memory. Щелкните ОК.
- Повторите пункты 9—10 и выберите из списка Item пункт Swapfile in use.
- В меню View окна System Monitor щелкните команду Always on Top.
- В меню View выберите команду Bar Charts.
- Переместите окно System Monitor так, чтобы одновременно видеть приложе ние Visual Basic.
- В приложении Visual Basic щелкните кнопку Use RAM.
Обратите внимание на усиленное использование файла подкачки и памяти.
- При щелчке кнопки Free RAM ресурсы будут освобождены.
- Закройте приложение Visual Basic и System Monitor.
- Выйдите из Visual Basic.