У меня есть два процесса, p1 и p2, которые должны читать различные части большого файла - одного и того же файла - используя mmap()
. Читайте, но не пишите. Процессы запускаются независимо друг от друга - ни один из них не является потомком другого.
Теперь, очевидно, я могу просто сделать так, чтобы они оба отображали один и тот же файл, и я предполагаю, что ядро может иметь некоторую оптимизацию, например. не хранить две копии одинаковых страниц. Но - могу ли я добиться большего успеха, скажем, путем преобразования в общую память или совместного использования области mmaped?
Примечания:
- Ядро GNU / Linux 4.x
- Машина x86_64