Статус нашего сайта: |
ICQ Information Center |
ICQ SHOP 5-значные 6-значные 7-значные 8-значные 9-значные Rippers List ОПЛАТА СТАТЬИ СЕКРЕТЫ HELP CENTER OWNED LIST РОЗЫСК!New! ICQ РЕЛИЗЫ Протоколы ICQ LOL ;-) Настройка компьютера Аватарки Смайлики СОФТ Mail Checkers Bruteforces ICQTeam Soft 8thWonder Soft Other Progs ICQ Patches Miranda ICQ ФорумАрхив! ВАШ АККАУНТ ICQ LiveJournal
РекламаНаш канал:irc.icqinfo.ru |
Таненбаум Э.- Архитектура компьютера. стр.373возвращается в параметре paddr. Отображаемая область должна быть выровнена в границах страницы и содержать целое число страниц. Параметр protection определяет уровень защиты, включая возможность чтения, записи и выполнения (в любой комбинации). Отображение можно в дальнейшем удалить с помощью команды unmap. Несколько процессов могут одновременно выполнять отображение одного и того же файла. Есть два варианта разделения. В первом варианте общими являются все страницы, поэтому записи, сделанные одним процессом, доступны всем другим процессам. Эта возможность обеспечивает высокоскоростное взаимодействие между процессам. Во втором варианте страницы остаются общими для всех процессов до тех пор, пока ни один из процессов их не меняет. Как только какой-нибудь процесс попытается произвести запись в страницу, он получит ошибку защиты, в результате которой операционная система предоставит ему собственную копию этой страницы для записи. Такая схема, которая называется копированием при записи (copy on write), используется в том случае, когда для каждого из нескольких процессов нужно создать иллюзию, что только он выполняет отображение файла. Виртуальная память Windows ХР В Windows ХР каждый пользовательский процесс имеет собственное виртуальное адресное пространство. Длина виртуального адреса составляет 32 бита, поэтому у каждого процесса есть 4 Гбайт виртуального адресного пространства. Нижние 2 Гбайт предназначены для кода и данных процесса; верхние 2 Гбайт обеспечивают доступ (ограниченный) к памяти ядра. Исключение составляют серверные версии Windows ХР, в которых разделение памяти может быть другим (3 Гбайт пользователю и 1 Гбайт ядру). Виртуальное адресное пространство с подкачкой страниц по требованию содержит страницы фиксированного размера (4 Кбайт на машине Pentium 4). Каждая виртуальная страница может находиться в одном из трех состояний: свободна (free), зарезервирована (reserved) или выделена (committed). Свободная страница в текущий момент не используется, и обращение к ней вызывает ошибку отсутствия страницы. Когда процесс начинается, все его страницы находятся в свободном состоянии до тех пор, пока программа и начальные данные не будут отображены на свое адресное пространство. Если код или данные отображены в страницу, то такая страница является выделенной. Обращение к выделенной странице будет успешным, если страница находится в основной памяти. Если страница отсутствует в основной памяти, произойдет ошибка, и операционной системе придется вызывать нужную страницу с диска. Виртуальная страница может находиться и в зарезервированном состоянии. Это значит, что страница остается недоступной для отображения до тех пор, пока резервирование не будет отменено. Помимо атрибутов состояния, страницы имеют и другие атрибуты (например, указывающие на возможность чтения, записи и выполнения). Верхние 64 Кбайт и нижние 64 Кбайт памяти всегда свободны, чтобы можно было отыскивать ошибки указателей (неинициализированные указатели часто равны 0 или -1). Каждая выделенная страница имеет теневую страницу на диске, где она хранится, когда ее нет в основной памяти. Свободные и зарезервированные страницы не имеют теневых страниц, поэтому обращения к ним вызывают ошибки отсутствия страницы (система не может вызвать страницу с диска, если этой страницы нет на диске). Теневые страницы на диске сгруппированы в один или несколько страничных файлов. Операционная система следит, на какую часть какого страничного файла отображается каждая виртуальная страница. Файлы с текстами программ имеют теневые страницы; для страниц данных используются специальные страничные файлы. |