Показать сообщение отдельно
Непрочитано 29.08.2016, 12:27   #136
Пользователь

По умолчанию Re: C++ перехват пакетов

Цитата:
Сообщение от flopix Посмотреть сообщение
Это чисто торговый бот для офф серверов, не для фарма. Только для себя и не для распространения.

Меня давно интересует один вопрос.

Если несколько процессов загружают один и тот же модуль dll в память, эта dll в памяти располагается в единственном экземпляре или для каждого процесса свой экземпляр?
Я понимаю что у каждого процесса свое виртуальное адресное пространство, интересует реально как оно располагается в ОЗУ.
Цитата:
Сообщение от Akumu Посмотреть сообщение
У каждого своя копия
На самом деле не копия. Пока у проекции только R (read) права доступа, ты работаешь с оригиналом модуля. Но как только ты попробуешь туда что то записать, сработает #PF, и система создаст специально для тебя копию страницы, в которую ты внес изменения. Называется этот механизм COW.
Собственно, так работают все ОС, если бы каждому в АП процесса копировали отдельную копию каждой либы, никакой памяти бы не хватило.

На картинках ниже, думаю все понятно:





Цитата:
Сообщение от Akumu Посмотреть сообщение
это я бот мейкерам подсказывал? фу-фу-фу
Думаю, что бот мейкеры, которые задают такие вопросы, это не ЦА вашего продукта)
f1redark вне форума Ответить с цитированием
Сказали спасибо: