Из документов:
Примечание: Базовые Данные избегают термина несбой, потому что это сбивает с толку. Нет никакого “несбоя” отсутствия страницы виртуальной памяти. Отсутствия страницы инициировали, вызывают, запускают или встречаются. Конечно, можно освободить память назад к ядру во множестве путей (использующий функции vm_deallocate, munmap, или sbrk). Базовые Данные описывают это как “превращение объекта в отказ”.
Является Отказ в Базовых Данных по существу отказом страницы памяти? Я имею только примерное представление о том, какова страница памяти. Я полагаю, что это - своего рода "часть кода в памяти", которая необходима для выполнения процедур и материала как этот, и когда приложение работает, части кода высосаны в память как "страницы" и выброшены, поскольку они больше не нужны. Вероятно, 99% неправильно ;)
Кто-либо?
У меня есть лишь небольшое представление о том, что такое страница памяти. Я считаю, что это своего рода «фрагмент кода в памяти», который необходим для выполнения процедур и тому подобного, и во время работы приложения фрагменты кода засасываются в память в виде «страниц» и выбрасываются, поскольку это не так. нужно больше.
В памяти хранятся данные (то есть код и данные).
Каждая вещь, которая существует в памяти, имеет адрес (адрес памяти).
Адресное пространство памяти (например, 4 ГБ на 32-разрядной машине) разделено на «страницы», где каждая страница представляет собой непрерывный фрагмент памяти (например, 4 КБ на страницу).
Адресное пространство отображается (ЦП и ОС) в ОЗУ (или, возможно, отображается на порты ввода-вывода, но это другая история).
Может быть установлено меньше ОЗУ (например, 1 ГБ), чем имеется адресного пространства (например, 4 ГБ), поэтому некоторые данные (например, наименее недавно использовавшиеся) могут быть заменены (оператором / оператором) из RAM в файл подкачки на диске. Обмениваются целые страницы (например, блоки размером 4 КБ) (а не отдельные байты).
Когда приложение пытается получить доступ к адресу, который в настоящее время не отображается в ОЗУ, это так называемая ошибка страницы. Чтобы справиться с ошибкой страницы, операционная система может:
Страница памяти - это основная единица данных для вашего приложения с точки зрения операционной системы. Весь ваш код и данные организованы в группы страниц. Когда ваша программа ссылается на допустимую ячейку памяти в вашем приложении - либо путем попытки чтения или записи данных, либо путем загрузки инструкции, адрес преобразуется в местоположение на одной из этих страниц. Ошибка страницы возникает, когда страница, содержащая адрес, фактически отсутствует в физической памяти. На этом этапе операционной системе необходимо загрузить страницу с диска в память, чтобы ваша программа могла продолжить работу.
Пока ваша программа работает, не вся она хранится в ОЗУ.
В составе ОС есть механизмы подкачки, которые хранят в ОЗУ только наиболее используемые страницы памяти для более быстрого доступа.
Когда вы программируете, пытаясь получить доступ к области памяти, которая в настоящее время не загружена в ОЗУ, возникает ошибка страницы, и страница переносится с диска.
Поскольку доступная RAM ограничена, только самые важные страницы памяти хранятся в RAM.
Этот механизм зависит от реализации ОС.
Для более полного изучения теории операционных систем я бы порекомендовал книгу А.С. Тененбаума «Современные операционные системы».