Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Юрий Владимирович самый уважаемы человек =)экза...doc
Скачиваний:
3
Добавлен:
12.09.2019
Размер:
1.41 Mб
Скачать

84. Кеш з зворотнім записом

В кэше с отложенной записью (или обратной записью) обновление происходит в случае вытеснения элемента данных, периодически или по запросу клиента. Для отслеживания модифицированных элементов данных записи кэша хранят признак модификации (изменённый или «грязный»). Промах в кэше с отложенной записью может потребовать два обращения к основной памяти: первое для записи заменяемых данных из кэша, второе для чтения необходимого элемента данных.

85. Кеш з відкладеним записом

Кэширование происходит под руководством диспетчера кэша (cache manager), который действует непрерывно до тех пор, пока запущен Windows. Данные файла в системном кэше файла записываются на диске, с интервалами определяемые операционной системой, а память, ранее используемая этими данными файла, освобождается — это обозначается как сбрасывание на диск (flushing) кэша. Политика отсрочки записи данных в файл и хранение их в кэше до тех пор, пока кэш не будет сброшен на диск, называется отложенной записью, и она включается диспетчером кэша на определенный временной интервал. Время в период которого блок данных файла сбрасывается на диск, частично основано на количестве времени, которое оно сохранялось в кэше и на количестве времени, когда к данным было последнее обращение в операции чтения. Это гарантирует, что данные файла, которые часто читаются, останутся доступными в системном кэше файла максимальное количество времени.

Алгоритм работы кэша с отложенной записью

Изначально все заголовки буферов помещаются в список свободных буферов. Если процесс намеревается прочитать или модифицировать блок, то он выполняет следующий алгоритм:

пытается найти в хеш-таблице заголовок буфера с заданным номером;

в случае, если полученный буфер занят, ждёт его освобождения;

в случае, если буфер не найден в хеш-таблице, берёт первый буфер из хвоста списка свободных;

в случае, если список свободных буферов пуст, то выполняется алгоритм вытеснения (см. ниже);

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

удаляет буфер из хеш-таблицы, если он был помещён в неё;

помещает буфер в хеш-таблицу с новым номером.

Процесс читает данные в полученный буфер и освобождает его. В случае модификации процесс перед освобождением помечает буфер как «грязный». При освобождении буфер помещается в голову списка свободных буферов.

Таким образом:

если процесс прочитал некоторый блок в буфер, то велика вероятность, что другой процесс при чтении этого блока найдёт буфер в оперативной памяти;

запись данных во внешнюю память выполняется только тогда, когда не хватает «чистых» буферов, либо по запросу.

86. Наскрізний кеш

87. Кеш читання

Кэширование чтения При кэшировании чтения, когда CPU выдает запрос о данных, дисковод обращается к соответствующему сектору и считывает его содержимое в кэш-память. Кроме того, пока головки находятся в позиции для чтения, винчестер продолжает считывать данные, заполняя ими кэш-буфер. Чтение этих дополнительных и незатребованных немедленно данных называется упреждающей выборкой, или кэшированием "наперед" (look-ahead). Занесенные в кэш-буфер дополнительные данные могут быть посланы процессору в ответ на его запрос напрямую из памяти, что происходит значительно быстрее, чем в результате последовательности операций чтения. Поскольку накопитель просто передает данные из кэша, они перекачиваются с максимальной внешней скоростью. При использовании техники упреждающего кэширования достигаются преимущества при чтении последовательно записанных данных, что происходит очень часто. Если при поступлении команды прочитать данные окажется, что они уже находятся в буфере, процесс их передачи будет измеряться микро-, а не миллисекундами. Поскольку свыше 50% обращений к жесткому диску являются последовательными, этот способ кэширования позволяет достичь существенного повышения общей производительности, приблизительно на 40%.