Когда первый раз смотришь на описание mmap для доступа к диску, то всё выглядит так потрясно - ядро всё за тебя сделает, виртуальная память вжух-вжух, не надо следить что тебе нужно и просто знай себе да читай-пиши с нужным смещением. Как хорошо всё начинается!
А потом - бац, оказывается неявное поведение "простого доступа по смещениям" начинает сильно стрелять именно своей простотой (за счёт сложности жизни ядра, да)... По факту гранулярно и просто контроллировать доступ к диску становится очень сложно. Особенно феерично оно стреляет на записи. И почему-то многие пытаются его использовать для записи append-only... Вот очередная история с journald, где только после подробной иллюстрации и "срача" на hn за многие коды авторы решили что-то подумать о диком write-amplification.
Нет ничего лучше явного и простого, блин. Вот вам классная и весёлая преза в тему.
Post #1671
406
