Быстрая изменчивость будет охватывать только одно чтение (которое в зависимости от архитектуры может быть 32-разрядным или что-то еще, и, следовательно, может быть весьма ограничивающим. Часто вам нужно будет написать более 1 машинного слова, и вы все равно получите ввести какую-то блокировку.
Даже если бы он был энергозависимым, вы могли бы легко иметь 2 процесса, считывающих разные значения из одной и той же памяти, все, что требуется, - это 3. процесс записи в память в наносекунду между чтением из процесса 1. и чтением из процесса 2. (если вы не можете гарантировать, что два процесса читают одну и ту же память в течение почти одинаковых тактов.
Таким образом - mmap () довольно бесполезно пытаться справиться с этими вещами, и программисту лучше решать, как обращаться с доступом к памяти и помечать указатель как энергозависимый, где это необходимо - если память используется совместно - вам будет необходимо, чтобы все участвующие стороны сотрудничали и знали, как они могут обновлять память по отношению друг к другу - что-то выходит за рамки mmap, а что-то утомительное не решит.