Использование отображения файла в памяти для IPC


Технология Отображение файла в памяти (file mapping) дает возможность процессу обрабатывать содержимое файла, как будто это блок памяти в адресном пространстве процесса. Процесс может использовать простые операции указателя, чтобы проверять и модифицировать содержимое файла. Когда два или несколько процессов обращаются к одному и тому же отображению файла, то каждый процесс получает указатель на память в своем собственном адресном пространстве, которое он может использовать, чтобы прочитать или модифицировать содержимое файла. Процессы должны использовать объекты синхронизации, такие как семафор, чтобы воспрепятствовать нарушению целостности данных в многозадачной среде.

Вы можете использовать особый случай отображения файла, чтобы обеспечить именованной разделяемой памятью (named shared memory) между процессами. Если Вы указываете системный файл подкачки, создавая объект отображения файла в памяти, то этот объект отображения файла обрабатывается как совместно используемый блок памяти. Другие процессы могут обратиться к тому же самому блоку памяти, открывая этот же самый объект отображения файла.

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

Ключевой пункт: Отображение файла в памяти - эффективный способ для двух или нескольких процессов на том же самом компьютере совместного использования данных, но Вы должны предусмотреть синхронизацию между этими процессами. Для получения дополнительной информации, см. статью Отображение файла в памяти и Синхронизация.

Назад в оглавление
На главную страницу
Переведено 19.10.2007 21:17 ©Copyright V. Sokovikov
Hosted by uCoz