Интернет магазин китайских планшетных компьютеров



Компьютеры - Отображение файла в память

22 января 2011


Оглавление:
1. Отображение файла в память
2. Недостатки
3. Применение
4. Платформы, поддерживающие отображение файлов на память



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

Достоинства метода

Альтернативой отображению может служить прямое чтение файла или запись в файл. Такой способ работы менее удобен по следующим причинам:

  1. Необходимо постоянно помнить текущую позицию файла и вовремя её передвигать на нужное место, в которое необходимо записать или из которого необходимо прочитать.
  2. Каждый вызов смены/чтения текущей позиции, записи/чтения — это системный вызов, который приводит к потере времени.
  3. Для работы через чтение/запись всё равно приходится выделять буферы определённого размера, таким образом, в общем виде работа состоит из трёх этапов: чтение в буфер -> модификация данных в буфере -> запись в файл. При отображении же работа состоит только из одного этапа: модификация данных в определённой области памяти.

Дополнительным преимуществом использования отображения является меньшая по сравнению с чтением/записью нагрузка на операционную систему — дело в том, что при использовании отображений операционная система не загружает в память сразу весь файл, а делает это по мере необходимости, блоками размером со страницу памяти. Таким образом, даже имея, небольшое количество физической памяти можно легко отобразить файл, размером 100 мегабайт или больше, и при этом для системы это не приведет к большим накладным расходам. Также выигрыш происходит и при записи из памяти на диск: если вы обновили большое количество данных в памяти — они могут быть одновременно сброшены на диск.

Файл отображенный на память удобен также тем, что можно достаточно легко менять его размер и при этом получать в своё распоряжение непрерывный кусок памяти нужного размера. С динамической памятью такой трюк не всегда возможен из-за явления фрагментации. Когда же мы работаем с отображенным на память файлом — менеджер памяти автоматически настраивает процессор так, что странички ОЗУ, хранящие соседние фрагменты файла образуют непрерывный диапазон адресов.



Просмотров: 3642


<<< Подкачка страниц