У меня есть вопрос относительно функциональности mmap. когда mmap используется в асинхронном режиме, когда ядро позаботится о сохранении данных в сопоставленном файле на диске, возможно ли, чтобы прежние обновления перезаписывали более поздние обновления?mmap записывает файл на диск (синхронный/асинхронный)
Скажем, в момент времени T мы изменим местоположение в памяти, которое отображается в память на файл на диске, и снова в момент времени T + 1 мы изменим одно и то же местоположение в памяти. Поскольку записи в файл не являются синхронными, возможно ли, что ядро сначала подбирает модификации в момент времени T + 1, а затем подбирает изменения в момент времени T, что приводит к несогласованности в файле с отображением памяти?
Указание ОС может помочь. – 2010-02-09 04:50:51
В общем, нет. Записи буферизуются кешем страницы (или файловой системы), запись в одно и то же место дважды означает, что данные записываются в одно и то же место ОЗУ. Следовательно, проблема, которую вы описываете, маловероятна, насколько я знаю –