Вызов mmap дважды для файла - PullRequest
       8

Вызов mmap дважды для файла

2 голосов
/ 12 февраля 2012

Я хочу получить доступ к частям большого файла в произвольном порядке. После открытия части мне нужно было с помощью mmap, если мне нужна другая часть файла. Должен ли я закрыть первую отображенную область памяти и mmap снова или я могу открыть две отображенные области памяти одновременно?

Я не хочу отображать все файлы, так как они могут быть больше, чем ОЗУ, и я буду использовать несколько файлов, открытых одновременно в моей программе.

1 Ответ

5 голосов
/ 12 февраля 2012

Mmapping не использует оперативную память.Вы можете и должны отображать весь файл, если он не превышает доступное адресное пространство .На 64-битном компьютере это маловероятно.На 32-битном это не невозможно.

В любом случае вы можете сделать столько сопоставлений, сколько хотите для каждого отдельного файла.

...