Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2011, 11:08   #1
goluzov
Форумчанин
 
Регистрация: 26.06.2010
Сообщений: 168
По умолчанию CopyOnWr

может ктонибудь обяснить что такое CopyOnWr

написано что страница в которую происходит запись копируется.... на жесткий копируется? и адрес доступа к данным меняется?
goluzov вне форума Ответить с цитированием
Старый 02.12.2011, 12:18   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

[telepat]
CopyOnWr - "копирование при записи", такая стратегия кеширования, что копирование переменных, страниц памяти,... происходит только, когда кто-то ее хочет поменять
например:
переменная1 = 123;
переменная2 = переменная1;

...
если попыток изменить переменная1, переменная2 не было, то реально будет только одна копия
если же кто-то соберется переменная1 = 232, то создатся копия переменная2 = 123
[/telepat]
p51x вне форума Ответить с цитированием
Старый 02.12.2011, 14:21   #3
goluzov
Форумчанин
 
Регистрация: 26.06.2010
Сообщений: 168
По умолчанию

а где можно почитать как все это происходит на уровне ассемблера
goluzov вне форума Ответить с цитированием
Старый 02.12.2011, 17:22   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

в смысле на уровне ассемблера? вы хотите реализовать свой менеджер памяти или кеш в проце, ОС?
p51x вне форума Ответить с цитированием
Старый 03.12.2011, 14:11   #5
goluzov
Форумчанин
 
Регистрация: 26.06.2010
Сообщений: 168
По умолчанию

скопировал в память значение... и где поевляется копия?
goluzov вне форума Ответить с цитированием
Старый 03.12.2011, 14:34   #6
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию

Цитата:
Сообщение от goluzov Посмотреть сообщение
скопировал в память значение... и где поевляется копия?
Копия появляется в физическо памяти.

например один процесс загружает DLL к себе в память. Если DLL уже загружена каким-либо другим процессом, то она снова не грузится. Чтобы впустую не расходовать физическую память, в память процесса отображается только её копия (ключевое слово отображается!), при этом если мы что-нибудь изменим в области памяти в которую отображена DLL, то изменяться данные у искомого процесса, который загрузил DLL первым (ведь физическая память общая).
Чтобы избежать этого, страница накоторую призводится запись копируется и получается её копия для нашего процесса. Таким образом достигается экономия физической памяти до первой операции записи. При этом если DLL занимает больше одной страницы, копируются только её отдельные страницы, в которые производилась запись.

Это только упрощённый пример на пальцах, в реальности всё сложнее.
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
haruhi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц