Может ли процесс получить доступ ко всей ОЗУ или CPU дает процессу определенную часть, которую решает ядро, и процесс (работающий в пользовательском пространстве) не может измениться? Другими словами - это процесс, изолированный аппаратным обеспечением, или он может что-то делать, но контролируется ОС?Процессы «изолированы» аппаратными средствами?
EDIT
Я сказал в комментариях, что это слишком широкая, так что давайте предположим, x86/x64. Я также добавлю, что вопрос возник при чтении того, что я понял, чтобы сказать, что процессы могут получить доступ ко всей ОЗУ, что, похоже, противоречит тому, что я читал о безопасности в ОС.
Это зависит от o/s (и h/w, с которого работает o/s), но современные операционные системы ограничивают процесс, который может выполнять процесс, и процесс не может получить доступ ко всей памяти, поскольку o/s ограничивает то, что разрешено использовать, частично из-за управления виртуальной памятью. Но это предполагает, что вы работаете над системой с управлением памятью и т. Д. Если вы работаете с 8-битными микрофонами во встроенных системах, вероятность того, что любой процесс сможет получить доступ к любой памяти. Но это все еще зависит от h/w и o/s. –
В современном оборудовании, способном работать с современными ОС, существует аппаратная поддержка для установки границ изолированной программной среды процесса. В основном в форме виртуальной памяти и запуска процессов пользовательского пространства в непривилегированном режиме (где привилегированные команды ловутся к ядру). –
@PeterCordes Спасибо. (кстати, я обновил вопрос.) – ispiro