Незаблокированный буфер хранится в списке свободных буферов.
Список формируется по принципу последнего недавно использовавшегося элемента (LRU). Если ядру системы необходим свободный буфер, будет выбран тот, который не использовался дольше остальных.
Также может иметь смысл заглянуть на сайт optosvet.spb.ru, ведь именно там можно узнать много нового на тему http://www.optosvet.spb.ru/?id=508. Тема светильник ip54 может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт optosvet.spb.ru, и тема светильник ip54 начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема светильник ip54 очень подробно представлена на сайте optosvet.spb.ru. Трудно найти более детальное освещение темы светильник ip54 чем это сделано на сайте optosvet.spb.ru. Спасибо сайту optosvet.spb.ru за такое доскональное преподнесение темы светильник ip54.
Это правило основано на том факте, что типовая система работает преимущественно по принципу локальности ссылок: наиболее часто используются данные, к которым был доступ осуществлен совсем недавно в отличие от «старых» данных, хранящихся неиспользуемыми долгий период времени.
При освобождении буфера он помещается в конец списка, после чего он становится последним недавно использованным. С течением времени буфер постепенно перемещается в направлении начала списка. При достижении начала буфер становится наиболее давно использовавшимся и будет предоставлен любому процессу, запросившему свободный буфер.
При использовании описанной методики могут возникать некоторые исключительные ситуации.
Первая из них приводит к повреждению буферов, что происходит в результате ошибок ввода-вывода либо при удалении или обрезании части файла. Такие буферы будут помещены в начало очереди незамедлительно, так как они гарантированно не будут больше запрошены тем же процессом.
Вторая проблема имеет место, если «грязный» буфер успевает достичь начала списка до того, как буфер будет удален из него и переведен в очередь записи дискового драйвера. После завершения операции записи такой буфер будет помечен как чистый и возвращен в список свободных буферов. Так как очищенный буфер уже достиг начала списка до момента доступа к нему, он будет возвращен не в конец списка (как обычно), а в его начало.
Заголовки буфера
Каждый буфер представлен своим заголовком. Ядро использует такие заголовки для идентификации и отслеживания буфера, синхронизации доступа к нему, а также для управления кэшем. Заголовок также является интерфейсом к дисковому драйверу. Если необходимо прочесть данные в буфер с диска или осуществить запись, ядро загружает параметры операции ввода-вывода в заголовок и передает этот заголовок дисковому драйверу. Некоторые важные поля структуры buf, представляющей собой заголовок буфера, показаны в табл. 9.2.
Преимущества
Основной целью использования буферного кэша является уменьшение дискового обмена и предупреждение лишних операций ввода-вывода, а также увеличение эффективности работы дисковой подсистемы. Правильно настроенное кэширование позволяет увеличить производительность примерно на 90% [18]. Технология обладает и другими весомыми преимуществами. Буферный кэш синхронизирует доступ к дисковым блокам путем установки флагов locked и wanted. Если два процесса попытаются одновременно запросить один и тот же блок, заблокировать его сможет только один из процессов. Буферный кэш является модульным интерфейсом взаимодействия между дисковым драйвером и другими частями ядра.
Никакая другая подсистема ядра не имеет доступа к драйверу. Интерфейс взаимодействия основан на полях заголовка буфера. Более того, буферный кэш изолирует остальную часть ядра от необходимости приведения ее к требованиям подсистемы ввода-вы- вода, так как буферы сами по себе организованы постранично. По этому при запросах дискового ввода-вывода по отношению к неупорядоченным адресам у ядра не возникает проблем.
Опубликовал katy
July 11 2015 14:50:51 ·
0 Комментариев ·
2446 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.