Мое непосредственное предположение могло бы состоять в том, что попытка выяснить, как лучше использовать их из исходного кода для функций, вероятно, будет (в лучшем случае) очень окольным способом получить большую часть чего угодно.В частности, вам, вероятно, придется взглянуть на гораздо больший / другой код, чтобы получить что угодно.Когда вы приступите к этому, код в mmap / MapViewOfFile, скорее всего, будет иметь минимальную помощь (в лучшем случае), а другой код (например, в драйвере файловой системы и файловом кеше), вероятно, будет гораздо более значимым.
Когда вы приступите к этому, у mmap и MapViewOfFile есть относительно простые задания: настройте дескрипторы страниц, которые сопоставляют диапазон виртуальных адресов с некоторыми частями некоторого файла.
Не многоиначе / больше происходит, пока вы не попытаетесь получить доступ к одной из этих страниц.Это вызовет ошибку «не присутствует».Обработчик ошибок будет использовать подсистему ввода-вывода для считывания соответствующих данных с диска и возврата, чтобы выполнить исходную инструкцию.Тем не менее, это не очень интересно.
По крайней мере, с точки зрения оптимизации, момент, когда все становится интересным, находится внутри подсистемы ввода / вывода.Это может (например) отслеживать историю сбоев страниц и использовать ее для прогнозирования того, какие страницы, скорее всего, понадобятся в ближайшее время (и, если это так, проблемы чтения для предсказанных страниц до того, как произойдет сбой).
В лучшем случае, однако, исходный код mmap / MapViewOfFile не будет вести напрямую к частям подсистемы ввода-вывода, о которой вы, вероятно, заботитесь (на самом деле, они, вероятно, будут почти полностью бесполезны в этом отношении).