>[оверквотинг удален]
>Которые имеют идентичное содержание, являясь логически отдельными объектами.
>
>>>>>>Открой для себя технику файлового отображения в память.
>>>>>Вы, может, хотели в другую сторону кивнуть -- на специально обученный искать
>>>>>дупы код?
>>Не надо додумывать что-то за меня и приписывать это мне же.
>
>Да я пытаюсь хоть какой-то здравый смысл найти в том, что несёте...
>не надо так не надо.
>% ls /dev/ksm
ls: /dev/ksm: No such file or directory
% uname -rsm
FreeBSD 8.0-STABLE amd64
>Если интересно, то http://lwn.net/Articles/306704/ и http://lwn.net/Articles/330589/
Да-да. Это такой костыль в Linux, от которого в FreeBSD отказались. В FreeBSD кэш файловой системы был объединён с кэшем виртуальной памяти, и вся доступная системная память МОЖЕТ быть выделена для кэширования данных файловой системы.
>Вы действительно утверждаете, что обычный mmap() неким образом догадается о том, что
>странички из одинаковых по содержанию файлов на самом деле одинаковы --
>и что каждой такой странички получится по одной штуке с увеличенным
>ещё на единичку refcount'ом, а не "одна из /lib, одна из
>/usr/local/lib"?
Я этого не утверждал. Не надо за меня что-то додумывать. mmap() не "объединяет" в одну структуру данные разных файлов (даже если они бинарно идентичны). vnode у файлов разные.
Другое дело, что поскольку кэш унифицирован (для ФС и виртуальной памяти), а оперативная память сейчас очень дёшева, не надо заморачиваться на отслеживании полностью идентичных файлов, подгруженных разными приложениями (их просто нет), зато на уровне ФС (такой, как ZFS) можно идентифицировать одинаковые блоки данных и предоставлять их операционной системе для мапинга в адресные пространства приложений.