У меня есть набор файлов, длина которых кратна размеру моей операционной системы (FreeBSD 10). Я хотел бы до mmap()
этих файлов на последовательные страницы ОЗУ, давая мне возможность обрабатывать коллекцию файлов как один большой массив данных.Как найти отверстия в адресном пространстве?
Предпочтительно использовать портативные функции, как я могу найти достаточно большую область немаркированного адресного пространства, поэтому я могу быть уверен, что серия вызовов mmap()
в этом регионе будет успешной?
Могу я узнать, что вы делаете? – Downvoter
@cad См. Первый абзац. В принципе, у меня есть набор данных, который разделен на несколько файлов, и я хочу отобразить его в область непрерывной памяти, чтобы рассматривать его как единое целое. – fuz
Можете ли вы 'mmap()' первый файл, позволяющий o/s выбрать адрес для вас, а затем попытаться сопоставить другие файлы с ним? Я бы ожидал, что это будет работать достаточно хорошо, но я не тестировал его ни в одной системе, и меньше всего FreeBSD 10. –