Глава 15 Страничный кэш и обратная запись страниц
Глава 15
Страничный кэш и обратная запись страниц
В ядре операционной системы Linux реализован один главный дисковый кэш, который называется страничным (page cache). Назначение этого кэша — минимизировать количество дисковых операций ввода-вывода путем хранения в памяти тех данных, для обращения к которым необходимо выполнять дисковые операции, Эта глава посвящена рассмотрению страничного кэша.
Кэширование дисковых данных важно по двум причинам. Во-первых, доступ к диску выполняется значительно медленнее, чем доступ к памяти. Доступ к данным в памяти выполняется значительно быстрее, чем к данным на диске. Во-вторых, если к некоторым данным осуществлялся доступ, то с достаточно большой вероятностью к этим же данным в ближайшем будущем потребуется обратиться снова. Принцип, согласно которому операции обращения к некоторым данным имеют тенденцию группироваться друг с другом во времени, называется сосредоточенностью во времени (temporal locality). Сосредоточенность во времени гарантирует, что если данные кэшируются при первом доступе к ним, то существует большая вероятность удачного обращения в кэш к этим данным в ближайшем будущем.
Страничный кэш состоит из физических страниц, которые находятся в оперативной памяти. Каждая страница памяти в кэше соответствует нескольким дисковым блокам. Когда ядро начинает некоторую операцию страничного ввода-вывода (дисковые, обычно файловые, операции ввода-вывода, которые выполняются порциями, равными размеру страницы памяти), то оно вначале проверяет, нет ли соответствующих данных в страничном кэше. Если эти данные есть в кэше, то ядро может не обращаться к диску и использовать данные прямо из страничного кэша.
Отдельные дисковые блоки также могут быть привязаны к страничному кэшу с помощью буферов блочного ввода-вывода. Вспомните из материала главы 13, "Уровень блочного ввода-вывода", что буфер — это представление в памяти одного физического дискового блока. Буферы играют роль дескрипторов, которые отображают страницы памяти на дисковые блоки. Поэтому страничный кэш также позволяет сократить количество обращений к диску при выполнении операций блочного ввода-вывода как за счет кэширования, так и за счет буферизации операций блочного ввода-вывода для выполнения в будущем. Такой тип кэширования часто называют "буферным кэшем", хотя на самом деле это не отдельный кэш, а часть страничного кэша.
Рассмотрим те типы операций и данных, которые связаны со страничным кэшем. Страничный кэш в основном пополняется при выполнении страничных операций ввода-вывода, таких как read() и write(). Страничные операции ввода-вывода выполняются с целыми страницами памяти, в которых хранятся данные, что соответствует операциям с более, чем одним дисковым блоком. В страничном кэше данные файлов хранятся порциями. Размер одной порции равен одной странице памяти.
Операции блочного ввода-вывода работают в каждый отдельный момент времени с одним дисковым блоком. Часто встречающаяся операция блочного ввода-вывода — это чтение и запись файловых индексов. Ядро предоставляет функцию bread(), которая выполняет низкоуровневое чтение одного блока с диска. С помощью буферов дисковые блоки отображаются на связанные с ними страницы памяти и благодаря этому сохраняются в страничном кэше.
Например, при первом открытии в текстовом редакторе дискового файла с исходным кодом, данные считываются с диска и записываются в память. При редактировании файла считывается вес больше данных в страницы памяти. Когда этот файл позже начинают компилировать, то ядро может считывать соответствующие страницы памяти из дискового кэша. Нет необходимости снова считывать данные с диска. Поскольку пользователи склонны к тому, чтобы периодически работать с одними и теми же файлами, страничный кэш уменьшает необходимость выполнения большого количества дисковых операций.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 1 Правила построения HTML-страниц
Глава 1 Правила построения HTML-страниц 1.1. Общие понятия HTML1.2. Структура HTML-документаДля создания веб-страниц часто используется язык гипертекстовой разметки HTML. Конечно, каждый сайт индивидуален, но существуют общие правила построения HTML-страниц. Им обязательно нужно
Страничный кэш
Страничный кэш Как следует из названия, страничный кэш (page cache) — это кэш страниц; памяти. Соответствующие страницы памяти получаются в результате чтения и записи обычных файлов на файловых системах, специальных файлов блочных устройств и файлов, отображаемых в память.
Последовательности страниц и нумерация страниц
Последовательности страниц и нумерация страниц Пока я использовал один и тот же шаблон страницы для всех страниц в рассмотренных нами документах XSL-FO. Если содержимое документа занимает более одной страницы, процессор XSL-FO использует тот же шаблон страницы для всех
ГЛАВА 1 Введение в современный Web-дизайн. Web 2.0. Создание Web-страниц
ГЛАВА 1 Введение в современный Web-дизайн. Web 2.0. Создание Web-страниц Всемирная паутина, WWW, Web-дизайн, Web-сайт, Web-страница — все знают, что это такое. Но что такое современная Всемирная паутина, современный Web- дизайн и современная Web-страница? Именно с ответов на все эти вопросы
ГЛАВА 16. Создание интерактивных Web-страниц
ГЛАВА 16. Создание интерактивных Web-страниц В предыдущей главе мы изучили библиотеку Ext Core. От обилия объектов, свойств, методов и событий голова идет кругом… Как же применить все это богатство на практике?Этому будет целиком посвящена данная глава. Мы научимся
Страничный механизм
Страничный механизм При реализации виртуальной памяти, основанной только на сегментации, весь сегмент целиком может либо присутствовать в оперативной памяти, либо отсутствовать (точнее, находиться во вторичной памяти или в исполняемом файле процесса). Поскольку размер
ГЛАВА 1 Введение в современный Web-дизайн. Web 2.0. Создание Web-страниц
ГЛАВА 1 Введение в современный Web-дизайн. Web 2.0. Создание Web-страниц Всемирная паутина, WWW, Web-дизайн, Web-сайт, Web-страница — все знают, что это такое. Но что такое современная Всемирная паутина, современный Web- дизайн и современная Web-страница? Именно с ответов на все эти вопросы
ГЛАВА 16. Создание интерактивных Web-страниц
ГЛАВА 16. Создание интерактивных Web-страниц В предыдущей главе мы изучили библиотеку Ext Core. От обилия объектов, свойств, методов и событий голова идет кругом… Как же применить все это богатство на практике?Этому будет целиком посвящена данная глава. Мы научимся создавать
Глава 16. Обратная сторона файловой системы
Глава 16. Обратная сторона файловой системы 16.1. Типы файловых систем, поддерживаемых в Linux Как уже было сказано в гл. 4, файловая система - одна из основных составляющих любой операционной системы, так как она обеспечивает хранение информации на физических носителях и
ГЛАВА 6. ИСПОЛЬЗОВАНИЕ СТРАНИЦ ОПИСАНИЯ КЛЮЧЕВЫХ ПРАКТИК
ГЛАВА 6. ИСПОЛЬЗОВАНИЕ СТРАНИЦ ОПИСАНИЯ КЛЮЧЕВЫХ ПРАКТИК Ключевые практики группируются по уровням зрелости. На каждый такой уровень приходится по краткому описанию, которое включает в себя описание уровня зрелости, список групп ключевых процессов для данного уровня
Глава 12 Запись CD/DVD
Глава 12 Запись CD/DVD 12.1. Что нужно для записи CD и DVD? Что же необходимо для комфортной записи CD и DVD? Давайте подумаем вместе.? Компьютер — это само собой разумеется. С одной стороны, ультрасовременный компьютер никогда не помешает, а с другой — CD и даже DVD можно записывать
Глава 6 Создание страниц доступа к данным
Глава 6 Создание страниц доступа к данным Страница доступа к данным – файл особого типа, предназначенный для просмотра и работы через Internet или intranet с данными, хранящимися в базах данных Microsoft Access или Microsoft SQL Server. Страница доступа к данным загружается в базу данных Access 2002
Глава 20 Просмотр страниц и общение в Интернете
Глава 20 Просмотр страниц и общение в Интернете ? Просмотр веб-страниц.? Общение в Интернете.? Передача файлов по сети Интернет
Глава 21 Запись дисков
Глава 21 Запись дисков • Запись средствами Windows• NeroПоддержка компакт-дисков мобильными компьютерами уже ни для кого не новость. Оптического привода может не быть в небольшом субноутбуке (в нем накопитель просто не помещается).В первое время производители оснащали