Выделение памяти для процессов пространства ядра и пространства пользователя

Is there any difference between kernel space & user space MEMORY ALLOCATIONS?
From which region of memory they get allocated.

Может ли кто-нибудь дать несколько советов по этому поводу?

Спасибо.

Наилучшие пожелания,

Сандип Сингх


person Sandeep Singh    schedule 06.01.2012    source источник
comment
возможный дубликат Как ядро ​​Linux управляет меньшим чем 1 ГБ физической памяти? -- выбранный мной вопрос содержит некоторые сведения о 512M памяти, которых нет в этом вопросе, и цель помечена вооружитесь, но ответы там неплохие... пожалуйста, прочтите и посмотрите, согласны ли вы.   -  person sarnold    schedule 06.01.2012


Ответы (2)


Области памяти для обеих областей управляются соответствующими диапазонами адресного пространства. Граничное значение сохраняется в регистре границы.

person Community    schedule 31.10.2012

Пользовательская память и память ядра имеют различия: в том смысле, что к ней привязаны разные физические атрибуты:

https://unix.stackexchange.com/questions/87625/what-is-difference-between-user-space-and-kernel-space

Но что касается самого алгоритма распределения: память пользовательского пространства всегда возвращается к памяти ядра для его окончательной реализации.

И поскольку память режима ядра намного мощнее пользовательского режима, существует аппаратный механизм, называемый SMEP, для предотвращения выполнения памяти пользовательского режима из режима ядра:

https://www.ncsi.com/nsatc11/presentations/wednesday/emerging_technologies/fischer.pdf

А аппаратные функции, такие как бит NX, всегда управляются из режима ядра (кольцо 0): как обычный пользователь (кольцо 3) вы не сможете получить доступ к биту.

Дополнительные аппаратные функции:

http://hypervsir.blogspot.sg/2014/11/страница-структура-таблица-коррупция-атаки.html

person Peter Teoh    schedule 29.04.2016