Объясни нормально, что ты хочешь. О каких блоках и местах идет речь
Есть функция mmap, которая мапит дескриптор устройства на память. Я хочу мапить /dev/sdX, на котором хочу организовать свою примитивную базу данных. Зачем так - это отдельный вопрос производительности. Нужно мапить в один указатель гигабайты из разных смещений на устройстве, что бы в пользовательских классах видеть это одним указателем. Я конечно могу обойтись и без этого, но стало интересно, можно ли такое сделать.
Побуду Вангой и попытаюсь понять что хотел ТС: он хочет один указатель на кусок памяти, в который можно читать/писать как будто он выделен последовательно, но под капотом там несколько блоков. Типа «первые три гигабайта из /dev/sda, потом 2 гига не трогаем, потом еще три гигабайта». А «снаружи» это выглядит это как 1 выделенный блок на 6 гигабайт.
Ты можешь маппить что угодно и как угодно, ограничен ты только страничной адресацией. Маппишь большой кусок анонимно (чтобы получить кусок непрерывной памяти куда никто больше не попадёт), а затем поверх него маппишь кусочки любого (кратного размеру страницы) размера из любых дескрипторов. munmap для освобождения нужен будет только один на весь кусок.