Хорошо, я хочу предоставить доступ только для чтения ко всем страницам в адресном пространстве в Linux.Всякий раз, когда будет написана страница, я предоставлю ей доступ для записи в обработчике сигнала SIGSEGV.Для 32-битных это просто, поскольку адресное пространство занимает всего 4 ГБ, поэтому установка битов для каждой страницы не займет много времени, но как мне подойти к этой проблеме для 64-битного процесса, поскольку адресное пространство почтибесконечен в этом случае.
Для меня не проблема, если я ограничу размер адресного пространства с помощью ulimit -v, но люди сказали, что адрес не будет линейным.Сейчас в голове болит мысль о том, как мне решить эту проблему.Любая помощь в этом отношении будет принята с благодарностью.Скажите, пожалуйста, наиболее эффективный способ установить доступ на чтение всех страниц для 64-битной программы.