Блокировка разделяемой памяти - PullRequest
0 голосов
/ 07 декабря 2010

Есть ли возможность перенести в память весь образ другого процесса? Через пару недель наш ИТ-персонал заменит все «основные» сетевые коммутаторы. Это обрушит сеть. Это будет сделано после обычных рабочих часов. В течение этого времени несколько пользователей все еще будут использовать программу, которую я написал. Это будет кошмаром для установки локальных копий моей программы на компьютере каждого пользователя. Программа обычно запускается с сетевого ресурса. Единственный раз, когда программа получит доступ к сети, это когда программа выполнит свой исполняемый код (образ). Как я могу заставить диспетчер памяти Windows загрузить весь образ в память и удерживать его там «заблокированным» до тех пор, пока сеть снова не подключится?

Ответы [ 3 ]

3 голосов
/ 09 декабря 2010

Вы можете связать свою программу с параметром / swaprun: net:

http://msdn.microsoft.com/en-us/library/w0628bwh.aspx

1 голос
/ 07 декабря 2010

Вы можете написать его так, чтобы он копировал себя локально во временный каталог, а затем запустил эту копию как отдельный процесс, а затем уничтожил себя (первую копию). Я уже делал это маленькое жонглирование, но это зависит от того, как работает ваша программа, будет ли она запускаться из временного каталога.

1 голос
/ 07 декабря 2010

Это не сработает.

Windows не обязательно загружает «статическую» копию исполняемого файла в память, она может свободно перетасовывать куски и вставлять и выводить части страниц.Часто он загружает ресурсы (изображения, строки и т. Д.) Из исполняемого файла после запуска программы.Он также часто загружает внешние библиотеки динамически.

Отредактировано, чтобы добавить:

Не существует такой вещи как "весь образ процесса".Каждый поток, например, получает свое собственное распределение.

Может быть, вы должны объяснить, почему запуск из другого местоположения (то есть локальной копии двоичного файла) не будет работать для вас.

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