Re[3]: Можно ли сделать переключение контекста библиотеки в
От: a7d3  
Дата: 14.11.20 18:31
Оценка:
Здравствуйте, ononim, Вы писали:

A>>Нет, потому что MMU работает с контекстами виртуальных адресных пространств. Транслируя адреса из нескольких совершенно разных адресных пространств в одно пространство — реальные адреса физических страниц памяти.

A>>Выполняется это посредством ассоциативного кэша в виде TLB (который как правило ещё и двух-уровневый).
A>>Т.е. средства ОС не помогут в данном случае избежать необходимости ломать реализацию проблемной библиотеки — таки придётся её переделывать.
O>Строго говоря промапить файл в АП одного процесса дважды двумя вызовами MapViewOfFile в два отображения по разным адресам — не проблема. Проблема в том что LoadLibrary* так не умеют (в отличии от юниксового dlmopen, например).

Это если либа без рантайма и не использует глобальных переменных, создаваемых — инициализируемых и размещаемых этим самым рантаймом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.