Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Отказ страницы (англ. page fault) — разновидность аппаратного исключения, возникающего в компьютере с виртуальной памятью на основе подкачки страниц в момент обращения к странице памяти, которая не включена блоком управления памятью в адресное пространство процесса. Обращение к этой странице может быть логически допустимым, но может требовать её добавления в таблицу страниц и, возможно, загрузки её содержимого из вторичного хранилища (жёсткого диска) в оперативную память. Обнаружение отказа страницы выполняет аппаратное обеспечение (блок управления памятью), а его обработку выполняет программное обеспечение, обычно являющееся частью ядра операционной системы[1]. При обработке отказа страницы операционная система пытается поместить требуемую страницу в оперативную память и сделать доступной процессу, либо завершает программу в случае недопустимого обращения к памяти.

Несмотря на название, отказы при обращении к допустимым страницам являются нормальной частью функционирования любой операционной системы, использующей виртуальную память, включая OpenVMS, Microsoft Windows и UNIX-подобных системы. Фактически, они являются просто сигналами, необходимыми операционной системе для выделения памяти работающим программам.

Типы

Лёгкий или программный

Отказ страницы, который в Linux-подобных системах называется лёгким (англ. minor)[2], а в Windows — программным (англ. soft)[3], означает, что требуемая страница либо уже находится в оперативной памяти, но не отмечена в блоке управления памятью как загруженная, либо она вновь выделена и ещё ни разу не использовалась. Обработчик исключения в операционной системе должен только добавить запись в таблицу страниц для требуемой страницы и указать, что она загружена в память. Загрузка страницы с диска не требуется. Отказ происходит в следующих случаях[3]:

  • страница присутствует в памяти, но включена в рабочее множество другого процесса (например, если несколько процессов взаимодействуют через разделяемую память)
  • страница находится в промежуточном состоянии (или в кэше), потому что она либо была исключена из рабочих множеств всех процессов и ожидает записи на диск, либо была загружена ранее (например, компонентом Prefetcher)
  • процесс обращается к вновь выделенной странице в первый раз

Поскольку обработка таких отказов не сопровождается задержкой для обращения к диску, они обрабатываются быстрее значительных или аппаратных отказов.

Значительный или аппаратный

Отказ страницы, который в Linux-подобных системах называется значительным (англ. major)[2], а в Windows — аппаратным (англ. hard)[3], является основным механизмом, используемым операционной системой для выделения программам памяти по их запросу. Операционная система откладывает загрузку частей программы с диска до тех пор, пока программа не попытается получить доступ к ним и тем самым сгенерирует отказ страницы. Если страница не загружена в память на момент отказа, тогда отказ называется значительным или аппаратным. Обработчик отказа страницы в операционной системе должен найти свободное место в оперативной памяти: свободную либо занятую страницу. Занятая страница может принадлежать другому процессу. В этом случае операционная система должна выгрузить данные этой страницы на диск (если они не были выгружены ранее) и пометить эту страницу в таблице страниц процесса как отсутствующую в памяти. Как только свободное место становится доступным, операционная система может загрузить данные для новой страницы в память, добавить её физический адрес в таблицу страниц исходного процесса и пометить страницу, как находящуюся в памяти. Необходимость обращения к диску делает обработку таких отказов гораздо более медленной по сравнению с лёгкими.

Обращение к недействительной странице

Если отказ страницы возникает при обращении к адресу, не принадлежащему виртуальному адресному пространству процесса, то есть страницы в памяти, соответствующей этому адресу, не может быть, тогда этот отказ называется отказом недействительной страницы (англ. invalid page fault). Обработчик отказа страницы в операционной системе в этом случае, как правило, передает ошибку сегментации исходному процессу, показывая, что обращение было недействительным. Это приводит к аварийному завершению блока кода, выполнившего недействительное обращение. Примером недействительного обращения является разыменование нулевого указателя. Нулевой указатель — это указатель, не ссылающийся ни на какой объект. Обычно он представляется как указатель на адрес 0. Большинство операционных систем не включают страницу, содержащую нулевой адрес, в адресное пространство процесса, поэтому попытки чтения или записи памяти через нулевой указатель приводят к отказу недействительной страницы.

Примечания

  1. Э. Танненбаум. Современные операционные системы = Modern Operating Systems. — 2-е изд. — СПб.: Питер, 2002. — С. 235. — 1040 с. — ISBN 5-318-00299-4.
  2. 1 2 Chapter 2. Memory allocation (англ.). Дата обращения: 30 декабря 2017. Архивировано 11 февраля 2015 года.
  3. 1 2 3 Working Set (Windows) (англ.). Дата обращения: 30 декабря 2017. Архивировано 2 ноября 2017 года.

Ссылки

Эта страница в последний раз была отредактирована 23 июля 2022 в 07:01.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).