Возможно ли двум независимым процессам совместно использовать отображение памяти файла? - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть два процесса, p1 и p2, которые должны читать различные части большого файла - одного и того же файла - используя mmap(). Читайте, но не пишите. Процессы запускаются независимо друг от друга - ни один из них не является потомком другого.

Теперь, очевидно, я могу просто сделать так, чтобы они оба отображали один и тот же файл, и я предполагаю, что ядро ​​может иметь некоторую оптимизацию, например. не хранить две копии одинаковых страниц. Но - могу ли я добиться большего успеха, скажем, путем преобразования в общую память или совместного использования области mmaped?

Примечания:

  • Ядро GNU / Linux 4.x
  • Машина x86_64
...