<<
>>

Понятие о файлах, отображаемых в память (memory mapped файлах). Системные вызовы mmap(), munmap()

Как уже говорилось, с помощью системного вызова open () операционная система отображает файл из пространства имен в дисковое пространство файловой системы, подготавливая почву для осуществления других операций.
С появлением концепции виртуальной памяти, которая рассматривалась в лекции 9, когда физические размеры памяти перестали играть роль сдерживающего фактора в развитии вычислительных систем, стало возможным отображать файлы непосредственно в адресное пространство процессов. Иными словами, появилась возможность работать с файлами как с обычной памятью, заменив выполнение базовых операций над ними с помощью системных вызовов на использование операций обычных языков программирования. Файлы, чье содержимое отображается непосредственно в адресное пространство процессов, получили название файлов, отображаемых в память, или, по-английски, memory mapped файлов (см. лекцию 10). Надо отметить, что такое отображение может быть осуществлено не только для всего файла в целом, но и для его части.

С точки зрения программиста работа с такими файлами выглядит следующим образом:

1. Отображение файла из пространства имен в адресное пространство процесса происходит в два этапа: сначала выполняется отображение в дисковое пространство, а уже затем из дискового пространства в адресное. Поэтому вначале файл необходимо открыть, используя обычный системный вызов open ().

2. Вторым этапом является отображение файла целиком или частично из дискового пространства в адресное пространство процесса. Для этого используется системный вызов mmap (). Файл после этого можно и закрыть, выполнив системный вызов closed, так как необходимую информацию о расположении файла на диске мы уже сохранили в других структурах данных при вызове mmap ().

<< | >>
Источник: В.Е. Карпов К.А. Коньков. Основы операционных систем. 2005 {original}

Еще по теме Понятие о файлах, отображаемых в память (memory mapped файлах). Системные вызовы mmap(), munmap():

  1. ПАМЯТЬ: РАССТРОЙСТВО СИСТЕМНО-СПЕЦИФИЧЕСКОЕ
  2. 1.2. Основные понятия системного анализа
  3. 32. Системный подход: общие положения. Системологические понятия
  4. I. 1. СИСТЕМНЫЙ ПОДХОД КАК ИНСТРУМЕНТ ДЛЯ ПОСТРОЕНИЯ СИСТЕМНЫХ ОПИСАНИЙ
  5. I. СИСТЕМНЫЕ ОПИСАНИЯ - ГЛАВНЫЙ РЕЗУЛЬТАТ СИСТЕМНОГО ПОДХОДА В ПСИХОЛОГИИ
  6. Память прошлого и память будущего
  7. Психология личности целостна, системна (принцип целостности, системности).
  8. § 55 Общие понятия о поклаже. – Поклажа свободная и необходи- мая, по русскому закону. – Кто может вступать в договор о поклаже. – Доказательство поклажи. – Сохранная расписка. – Когда не требуется письменное доказательство. – Обязанности приемщика. – Поклажа в запертом помещении. – Растрата. – Ответственность приемщика. – Возвращение поклажи при несостоятельности. – Вызов наследников приемщика и отдатчика. – Поклажа в гостиницах.
  9. ВЫЗОВ ВРАЧА
  10. СПТ откликается на вызов обстоятельств
  11. Быстрый вызов желаемого
  12. Бросьте себе вызов