История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Для управления памятью, прикладным программам предоставляются различные интерфейсы: (первые 3 применимы в наст.время):
· VirtualMemoryAPI – набор ф-ий, позволяющих приложению работать с вирт. адресным пространством: назначать физические страницы блоку адресов и освобождать их, устанавливать атрибуты защиты.
· MemoryMappedFileAPI – наборф-ий, позволяющих работать с файлами, отображаемыми в память; новый механизм, предоставляемый Win32API для работы с файлами и взаимодействия процессов;
· HeapMemoryAPI – набор ф-ий, позволяющих работать с динамически распределяемыми областями памяти (кучами).
· Local, GlobalMemoryAPI – набор ф-ий для работы с памятью, совместимых с х16 Windows (уже не используются).
· CRTMemoryAPI – ф-ии стандартной библиотеки языка С периода исполнения (runtime).
Интерфейс Virtual Memory.
VirtualMemoryAPI – набор ф-ий, позволяющих приложению работать с вирт. адресным пространством: назначать физические страницы блоку адресов и освобождать их, устанавливать атрибуты защиты.
Блок адресов адресного пространства процесса может нах-ся в одном из состояний:
-выделен (commited) – блоку адресов назначена физическая память, либо часть файла подкачки
-зарезервирован (reserved) – блок адресов помечен как занятый, но физическая память не распределена
-свободен (free) – блок адресов не выделен и не зарезервирован
При выделении память обнуляется.
Память сначала резервируется, потом выделяется.
VirtualAlloc () – выделяет память. Его параметры определяют: размер выделяемой памяти (не более 1 Гб), где в адресном пр-ве расположить выделенный фрагмент, надо ли закреплять физическую память, вид устанавливаемой защиты. Резервирует память фрагментами 64 кб, а закрепляет ее фрагментами объемом 1 страницу (4 кб).
VirtualProtect() –позволяет изменять атрибуты защиты в адресном пространстве текущего процесса.
VirtualProtectEx() –позволяет изменять атрибуты защиты в адресном пространстве произвольного процесса.
VirualQuery() – заполняет поля структуры информацией о заданном блоке памяти.
GlobalMemoryStatus() – определяет размер и свободный объем физической памяти, страничного файла и текущего адресного пространства.
GetSystemInfo() – возвращает размер системной физической страницы.
Страницы можно блокировать в памяти (запрет на их вытеснение в файл подкачки) VirtualLock(), VirtualUnlock().
По завершении процесса ОС отменяет блокировку, освобождает использованную им память.
VirtualFree() – отменяет закрепление набора страниц, оставляя их адреса зарезервированными или освобождает память занимаемую этими страницами(даже заблокированные страницы).
Интерфейс Memory mapped file.
MemoryMappedFileAPI – набор ф-ий позволяющих работать с файлами, отображаемыми в память; новый механизм, предоставляемый Win32APIдля работы с файлами и взаимодействия процессов.
1. Исп-ся для запуска.exeи.dll.
VMMприменяется для:
-создания адресного простр-ва (размером 4 Гб)
-резервирование региона
-из ехефайластраницызагружаются в регион
-отображение в регион необходимыхdll.
2. Для работы с файлами.
-создается объект ядра «файл». CreateFile()
-создается объект ядра «проецируемый файл» CreateFileMapping(). Возвращает Handle.
-проецирование файла в вирт.память MapViewOfFile().
-убрать проецирование в память: UnmapViewFile().
Уничтожение объектов «файл», «проецируемый файл» - CloseHandle().
3. Для одновременного использования одной области данных несколькими процессами.
2 процесса могут использовать совместно, объект «проецируемый файл». При помощи MapViewOfFile() каждый процесс проецирует этот объект на свое адресное пространство и использует эту часть адресного пространства как разделяемую область данных.

Интерфейс Heap Memory.
HeapMemoryAPI – набор ф-ий, позволяющих работать с динамически распределяемыми областями памяти (кучами).
Куча – блок памяти, из которого прога при необходимости выделяет себе более мелкие фрагменты.
Причины группировки выделенных блоков:
-позволяет отделить и защитить группу связанных блоков.
-если все узлы связного списка находятся в одной куче, а узлы двоичного дерева – в другой, то ошибка одного алгоритма в меньшей степени скажется на работе другого алгоритма.
-объекты памяти, работающие совместно могут быть сгруппированы => подкачка страниц сводится к минимуму.
GetProcessHeap() – получить дескриптор стандартной кучи (по умолчанию) памяти.
HeapCreate() – создает кучу. В параметрах указывается начальный размер кучи и максимальный размер кучи (если он =0, то размер кучи ограничивается объемом доступной памяти).
HeapAlloc() – выделение блоков памяти из кучи.
HeapReAlloc() – повторное выделение…(изменение размера блока, после его выделения).
HeapFree() – освобождение блоков памяти.
HeapSize() –узнать точный размер любого блока.
HeapDestroy() – уничтожение «кучи».
|
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!