Есть ли когда-нибудь опасность выхода программы из выделенного пространства памяти с помощью sudo?
Если я возлюсь с указателями и использую современную операционную систему (xubuntu zesty), есть ли опасность перезаписи памяти вне программы, или защита по умолчанию памяти всегда будет препятствовать этому?
1 ответ
Я бы сказал нет. Из-за изоляции процессов каждый процесс видит только свой блок виртуальной памяти и не может получить доступ к чему-либо за пределами этого.
См., Например, http://www.tldp.org/LDP/khg/HyperNews/get/memory/linuxmm.html и http://www.tldp.org/LDP/tlk/mm/memory.html для получения дополнительной информации о памяти управление.
Однако это только ограничивает приложение от случайного доступа к памяти, к которой оно не должно касаться, например, из-за неправильно установленного указателя (в программах на Си). Приложение может по-прежнему выдавать системные команды для доступа к любому оборудованию, включая полную оперативную память, если оно работает от имени пользователя root и явно написано для этого. Вам не придется бояться таких вещей, если вы пишете свою собственную программу.