Выделение физической памяти под программный код
![]()
![]()
![]()
![]()
![]()
|
|
|
1-я копия Физическая память 2-я копия
|
|
|
|
|
Чтобы предотвратить одновременную запись в общий блок данных разными процессами ОС присваивает этому блоку данных атрибут защиты копирования при записи. Когда поток в одном процессе пытается записать что-нибудь в общий блок данных, то он
1) выделяет из страничного файла страницу физической памяти
2) отыскивает свободную страницу в памяти
3) копирует страницу с данными, которые поток пытается записать в общий блок на свободную страницу памяти, полученную на этапе 2
4) сопоставляет адрес этой страницы виртуальной памяти с новой страницей в памяти.
После этих действий ОС получает собственную копию этого блока данных и может делать с ней, что хочет. Windows 95 и Windows 98 не поддерживают копирование при записи.
Лекция № 5
предыдущаяследующая