Jump to content

Кэш страниц

В вычислительной технике страничный кеш , иногда также называемый дисковым кешем , [1] — это прозрачный кэш для страниц, поступающих с дополнительного устройства хранения , такого как жесткий диск (HDD) или твердотельный накопитель (SSD). Операционная система сохраняет кэш страниц в неиспользуемых частях основной памяти (ОЗУ), что обеспечивает более быстрый доступ к содержимому кэшированных страниц и общее повышение производительности. Страничный кеш реализован в ядрах с управлением страничной памятью и в основном прозрачен для приложений.

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

По сравнению с основной памятью чтение/запись на жестком диске происходит медленно, а произвольный доступ требует дорогостоящего поиска на диске ; в результате больший объем основной памяти приводит к повышению производительности, поскольку в памяти можно кэшировать больше данных. [2] Отдельное кэширование диска обеспечивается на аппаратной стороне с помощью выделенных микросхем ОЗУ или NVRAM, расположенных либо в контроллере диска (в этом случае кеш интегрирован в жесткий диск и обычно называется дисковым буфером). [3] ), или в контроллере дискового массива такую ​​память не следует путать со страничным кешем. Операционная система также может использовать часть основной памяти в качестве буфера записи файловой системы, его можно назвать страничным буфером . [4]

Сохранение памяти [ править ]

Страницы в кэше страниц, измененные после добавления, называются грязными страницами. [5] Поскольку чистые страницы в страничном кэше имеют идентичные копии во вторичном хранилище (например, на жестком или твердотельном диске), удаление и повторное использование их пространства происходит гораздо быстрее, чем выгрузка памяти приложения, и часто предпочтительнее, чем очистка грязных страниц. во вторичное хранилище и повторное использование их пространства. Доступ к исполняемым двоичным файлам , таким как приложения и библиотеки, также обычно осуществляется через кэш страниц и сопоставляется с отдельными процессов пространствами с использованием виртуальной памяти (это делается с помощью системного вызова mmap в Unix-подобных операционных системах). Это не только означает, что двоичные файлы совместно используются отдельными процессами, но также и то, что неиспользуемые части двоичных файлов в конечном итоге будут удалены из основной памяти, что приведет к экономии памяти.

Поскольку кэшированные страницы можно легко удалить и использовать повторно, некоторые операционные системы, особенно Windows NT , даже сообщают об использовании страничного кэша как о «доступной» памяти, хотя на самом деле эта память выделяется страницам диска. Это привело к некоторой путанице в использовании страничного кэша в Windows.

Диск пишет [ править ]

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

Однако не все кэшированные страницы могут быть записаны, поскольку программный код часто отображается как доступный только для чтения или копирования при записи ; в последнем случае изменения кода будут видны только самому процессу и не будут записаны на диск.

Атаки по побочным каналам [ править ]

В 2019 году исследователи безопасности продемонстрировали атаки по побочным каналам на страничный кеш: можно обойти разделение привилегий некоторые файловые страницы (например, исполняемые файлы или файлы библиотек ). и извлечь данные о других процессах, систематически отслеживая , присутствуют ли в кеше [6]

См. также [ править ]

Ссылки [ править ]

  1. ^ Роберт Лав (12 января 2005 г.). «Разработка ядра Linux (второе издание), глава 15. Кэш страниц и обратная запись страниц» . makelinux.net . Издательство Самс . Проверено 24 июля 2015 г.
  2. ^ «Кэш диска» . Вебопедия . Сентябрь 1996 года.
  3. ^ Марк Кирнин. «Что искать в жестком диске» . о.com . Архивировано из оригинала 4 апреля 2015 г. Проверено 20 декабря 2014 г. Буфер диска — это объем оперативной памяти на диске для хранения часто используемых данных с диска. {{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  4. ^ «free(1) — procps — Книжный червь Debian — Руководства Debian» .
  5. ^ «Глоссарий — Библиотека TechNet» . Майкрософт. 28 января 2010 г.
  6. ^ Грусс, Дэниел; Крафт, Эрик; Тивари, Тришита; Шварц, Майкл; Трахтенберг, Ари; Хеннесси, Джейсон; Ионеску, Алекс; Фог, Андерс (04 января 2019 г.). «Атаки на кэш страниц». arXiv : 1901.01161 [ cs.CR ].

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 06425a55f2b28f982f4f2339ae4e61ca__1716159840
URL1:https://arc.ask3.ru/arc/aa/06/ca/06425a55f2b28f982f4f2339ae4e61ca.html
Заголовок, (Title) документа по адресу, URL1:
Page cache - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)