Адресное пространство в Линуксе
Бедняга
что есть такая партия
Спасибо. Буду думать.
Я бы рекомендовал таки переписать программу, чтобы она подключала куски памяти по очереди.
Имеются в виду куски оперативки или подгрузка с винта?
Создаёшь файл(ы) в tmpfs или hugetlbfs, или сегменты разделяемой памяти, и отображаешь их в адресное пространство по очереди.
Чуве, я думаю в любой вменяемой операционной системе тебе запретят писать и читать по адресу 0x00000000 (в винде первые 64к запрещены) и записывать по адресам кода твоей программы, так что 4Гб ты никогда не получишь, соотв вопрос: нах?
А не мог бы ты пояснить это чуть-чуть популярнее...
Какое слово пояснить?
Ну, я уж писал, что про 4 Гб я погорячился. Это понятно, что столько не даст никто. Но 3,5 Гб мне действительно бы не помешало...
tmpfs или hugetlbfsА заодно и это:
сегменты разделяемой памяти
linux/Documentation/filesystems/tmpfs.txt - описание tmpfs
hugetlbfs - что-то вроде этого, но использует страницы размером 4МБ, что для больших файлов
уменьшает накладные расходы
сегменты раздeляемой памяти - области памяти, не привязанные к процессу,
которые можно отображать в адресные пространства разных процессов
бывает System V shared memory (man shmget и POSIX shared memory (реализовано поверх tmpfs, man shm_open)
Хоть я и не до конца понял, но большое спасибо...
man shmget, man shm_openНу тогда уж и Виндовс не будем обижать MSDN CreateFileMapping
Оставить комментарий
stm7870384
Есть ли такой Линукс, который бы реально поддерживал 4 Гб на 32-х разрядной машине? Заранее спасибо.