Грязный бит

Перейти к навигацииПерейти к поиску

Грязный бит, или модифицированный бит — бит, который связан с блоком памяти компьютера и указывает, был ли изменён соответствующий блок памяти. Грязный бит устанавливается, когда процессор записывает (изменяет) эту память. Бит указывает, что связанный с ним блок памяти был изменён и ещё не сохранен в хранилище. Когда блок памяти должен быть заменен, его соответствующий грязный бит проверяется: должен ли блок быть записан обратно во вторичную память перед заменой или его можно просто удалить. Грязные биты используются кэшем CPU и алгоритмами замены страниц операционной системы[].

Грязные биты также могут использоваться в инкрементальных вычислениях путем маркировки сегментов данных, которые необходимо обработать или ещё не обработать. Этот метод можно использовать с задержкой вычислений, чтобы избежать ненужной обработки объектов или состояний, которые не изменились. Когда модель обновляется (обычно по нескольким источникам), только сегменты, которые необходимо перерабатывать, будут отмечены грязными. Впоследствии алгоритм будет сканировать модель для грязных сегментов и обрабатывать их, отмечая их как чистые. Это гарантирует, что неизменные сегменты не будут пересчитываться и экономит процессорное время[].

Говоря о замене страницы, каждая страница может иметь бит модификации, связанный с ним в аппаратном обеспечении. Грязный бит для страницы устанавливается аппаратным обеспечением всякий раз, когда записывается любое слово или байт на странице, что указывает на то, что страница была изменена. Когда мы выбираем страницу для замены, мы изучаем её бит модификации. Если бит установлен, мы знаем, что страница была изменена с момента её чтения с диска. В этом случае мы должны записать эту страницу на диск. Однако, если грязный бит не установлен, страница не была изменена с момента её чтения в память. Поэтому, если копия страницы на диске не была перезаписана (например, какой-либо другой страницей), мы можем избежать записи страницы памяти на диск: она уже существует.

Грязный бит (dirty bit) — применяется для пометки тома жёсткого диска на проверку при последующей перезагрузке в ОС Windows. При каждой перезагрузке Windows ядром операционной системы вызывается программа Autochk.exe, которая проверяет все тома: не установлен ли для какого-нибудь из них «грязный» бит. Если «грязный» бит установлен, программа autochk немедленно запускает для этого тома команду chkdsk /f. Команда chkdsk /f проверяет целостность файловой системы и пытается устранить все проблемы с томом.

Некоторые операции с томами не могут быть выполнены, если том имеет пометку «грязный» бит. Например невозможно выполнить дефрагментацию флеш-накопителя, если он помечен «грязным» битом[]. Как вручную снять пометку «грязный» бит информации не найдено[].