Форум: "WinAPI";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
ВнизВыделение физической памяти Найти похожие ветки
← →
Ishmael (2005-09-25 23:30) [0]Надо выделить область ФИЗИЧЕСКОЙ памяти с конкретного адреса и конкретного размера, причём так, чтобы ни одно приложение (и система) более не имело доступа к этой области. Пример (может и неудачный, но смысл такой): выделил я себе 384 из 512Mb оперативки - комп тормозит так же, будто у него вовсе 128.
Каким образом это можно реализовать?
← →
Eraser © (2005-09-26 00:39) [1]
> Ishmael (25.09.05 23:30)
Без драйвера ядра тут никак, да и с драйвером конкретные адреса может оказаться получить проблематично.
Драйвер ядра надо писать на MS VC++ и MS DDK, а не на делфи.
← →
Ishmael (2005-09-26 08:42) [2]По сравнению с WinAPI NativeAPI я вообще не знаю. Что именно в нём использовать?
← →
alpet © (2005-09-26 10:45) [3]Тебе нужно прикупить достаточно памяти. Если обращения к выделенному региону памяти (хоть 1Гб) будут достаточно частыми, он не будет выгружаться на диск. В дополнение рекомендую ознакомится с функцией SetProcessWorkingSetSize(Ex). А так требования у тебя поставлены практически несовместимые с системой, такое разве что в DOS можно реализовать, но в этом случае Delphi тебе не помощник.
← →
miek © (2005-09-26 11:22) [4]Выдели сколько надо памяти и залочь ее. По идее, все должно лежать в физ.памяти.
← →
Ishmael (2005-09-27 18:45) [5]Дело не в количестве памяти, а в необходимости ещё выделения и залочивания.
VirtalAlloc - выделяет. Хорошо выделят: GlobalAlloc её не перешибает, но (!!!) два экземпляра одного приложения с VirtualAlloc прекрасно уживаются, только своп растёт. SetProcessWorkingSetSize(Ex) - знаю, без неё на основе VirtalAlloc проги не работают. Дошёл до AllocateUserPhysicalPages, но прототипов в Delphi нет. Кажется, самый простой случай, это VirtualAlloc с флагом MEM_PHYSIC, но его не ни в одном дельфийском хидере, а численное значение не упоминается и в одном доступном мне источнике. :(
← →
Игорь Шевченко © (2005-09-27 18:47) [6]
> Дошёл до AllocateUserPhysicalPages, но прототипов в Delphi
> нет
http://www.delphi-jedi.org
> Кажется, самый простой случай, это VirtualAlloc с флагом
> MEM_PHYSIC, но его не ни в одном дельфийском хидере, а численное
> значение не упоминается и в одном доступном мне источнике
const MEM_PHYSICAL = $400000;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c