Использование виртуальной памяти

Программа Virtual Memory Allocator для применения механизма виртуальной памяти для управления массивом структур. Процесс загрузки и выполнения exe- и dll-файлов, проецирования на адресное пространство процесса и файла данных. Работа с файлом подкачки.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 20.05.2015
Размер файла 754,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Лабораторная работа №15

Тема: «Использование виртуальной памяти»

Рассматриваемые вопросы

1. Использование виртуальной памяти

2. Проецируемые в память файлы

3. Изменение размера файла подкачки

Ход работы

Запустили программу VMAlloc, демонстрирующую применение механизма виртуальной памяти для управления массивом структур.

Изначально для массива не резервируется никакого региона, все адресное пространство свободно, что отображается на карте памяти белым цветом. При нажатии кнопки Reserve Region программа VMAlloc вызовет функцию VirtualAlloc для резервирования региона, что сразу отразится на карте памяти, которая окрасится серым цветом.

Становится активной кнопкой Use и поле, куда можно ввести Index. Ввели индексы 5, 15 и 41.

Теперь, занятые элементы можно освобождать кнопкой Clear. Очистили элемент с индексом 41. При нажатии Clear значение этого элемента просто принимает значение False, а физическая память не освобождается. Чтобы вернуть не используемую больше физическую память необходимо нажать на кнопку Garbage collect.

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

Проецируемые файлы применяются в следующих случаях:

· Загрузка и выполнение EXE- и DLL-файлов.

· Организация доступа к файлу данных, размещенному на диске

· Разделение данных между несколькими процессами

Процесс загрузки и выполнения EXE- и DLL-файлов (функция CreateProcess):

1. Отыскивается EXE-файл, указанный в вызове

2. Если файл найден, то создается новый объект ядра «процесс»

3. Создается адресное пространство нового процесса

4. Резервируется такой регион адресного пространства, чтобы в него поместился данный EXE-файл

5. Система отмечает, что физическая память, связанная с зарезервированным регионом, - EXE-файл на диске, а не страничный файл.

Каждый раз, когда для загрузки DLL вызывается LoadLibrary, операционная система выполняет действия описанные в п. 4 и 5

Если система по какой-либо причине не свяжет EXE-файл с необходимыми ему DLL, то на экране появится соответствующее сообщение, а адресное пространство процесса и объект «процесс» будут освобождены.

Для проецирования на адресное пространство процесса и файла данных нужно:

1. Создать или открыть объект ядра «файл», идентифицирующий дисковый файл, который предполагается использовать как проецируемый в память (CreateFile)

2. Создать объект ядра «проекция файла (CreateFileMapping)

3. Указать системе, как спроецировать адресное пространство процесса (MapViewOfFile)

Закончив работу с проецируемым в память файлом, следует выполнить 3 операции:

1. Сообщить системе об отмене проецирования (UnmapViewOfFile)

2. Закрыть объект «проекция файла»

3. Закрыть объект файла (CloseHandle)

Запустили программу MMShare, иллюстрирующую, как происодить обмен данным между двумя и более процессами. Для эксперемента необходимо запустить минимум две копии программы.

Программа вызовет функцию CreteFileMapping, чтобы создать объект «проекция файла». Ввели текст в поле Data одной программы и нажали Create mapping of Data.

Перешли в копию программы и нажали Open mapping and get Data, программа попыталась найти «проекцию файла» через функцию OpenFileMapping.

виртуальный память файл подкачка

Кнопка Close mapping of Data служит ля закрытия объекта «проекция файла».

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

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

1. Память может неожиданно оказаться исчерпанной из-за того, что приложение создало на жестком диске файл большого объема или операционная система без предупреждения увеличила потребности файла подкачки

2. Файл подкачки фрагментируется, что приводит к медленному чтению

3. Если система загружена не на самый быстрый из жестких дисков, то производительность падает

Открыли свойства системы и перешли на вкладку Дополнительно.

Далее, нажали на кнопку Параметры производительности и перешли на вкладку Дополнительно.

Видна кнопка «Изменить». Существует возможность вообще ликвидировать файл подкачки, выполнив определенную настройку реестра.

Вывод

Разобрались в принципе работы программы VMAlloc. Научились работать с файлом подкачки.

Размещено на Allbest.ru


Подобные документы

  • Архитектура компьютеров и возможности операционной системы по управлению памятью. Суть концепции виртуальной памяти. Аппаратно-независимые и аппаратно-зависимые средства управления виртуальной памятью. Сегментно-страничная организации виртуальной памяти.

    презентация [355,2 K], добавлен 27.12.2010

  • Распределение виртуальной памяти. Страничная и сегментная организации виртуальной памяти. Сегментно-страничная организация виртуальной памяти. Преобразование виртуального адреса в физический. Упрощение адресации памяти клиентским программным обеспечением.

    курсовая работа [440,7 K], добавлен 04.03.2014

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

    курсовая работа [43,5 K], добавлен 18.06.2009

  • Объем двухпортовой памяти, расположенной на кристалле, для хранения программ и данных в процессорах ADSP-2106x. Метод двойного доступа к памяти. Кэш-команды и конфликты при обращении к данным по шине памяти. Пространство памяти многопроцессорной системы.

    реферат [28,1 K], добавлен 13.11.2009

  • Средства создания динамических структур данных. Формат описания ссылочного типа. Структура памяти во время выполнения программы. Линейные списки, стек, очередь. Организация списков в динамической памяти. Пример создания списка в обратном порядке.

    лабораторная работа [788,2 K], добавлен 14.06.2009

  • Понятия файлов и каталогов. Область внешней памяти, группа файлов на одном носителе. Древовидная структура файлов на диске. Имя и местонахождение файла. Маршрут или путь по файловой системе. Запись имени файла в DOSе. Шаблоны. Структура каталога.

    лабораторная работа [15,2 K], добавлен 30.09.2008

  • Динамическое распределение памяти. Анализ виртуальной памяти, алгоритм ее обращения, общие принципы защиты. Страничная организация. Особенности переключения в мультизадачный режим. Режим системного управления. Расширение размера адресного пространства.

    презентация [1,3 M], добавлен 14.12.2013

  • Подключение периферийных устройств к ЭВМ. Синхронизация выполнения программы с внешними процессами. Прерывания. Реализация механизма прерывания в х86. Прямой доступ к памяти. Шины, магистраль PCI. Процесс загрузки компьютера. Клавиатура, системный таймер.

    презентация [7,1 M], добавлен 14.12.2013

  • Организация выполнения прикладных программ. Обеспечение надежной эффективной работы компьютера и вычислительной сети. Автоматизация разработки и создания новых программ. Функции операционной системы. Распределение и организация виртуальной памяти.

    презентация [261,9 K], добавлен 02.12.2013

  • Виды архиваторов. Использование программ, сжимающих один или несколько файлов в единый файл-архив. Размещение информации на носителях внешней памяти в более компактном виде. Создание самораспаковывающегося архива. Процесс сжатия текстовых файлов.

    презентация [492,6 K], добавлен 22.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.