2012-01-06 7 views
0
Is there any difference between kernel space & user space MEMORY ALLOCATIONS? 
From which region of memory they get allocated. 

Может ли кто-нибудь указать некоторые указания на это?Распределение памяти для ядра Космические и пользовательские космические процессы

Спасибо.

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

Сандип Сингх

+1

возможно дубликат (http://stackoverflow.com/questions/4528568/how-does- the-linux-kernel-manage-less-than-1gb-physical-memory) - вопрос, который я выбрал, содержит некоторые сведения о памяти «512M», которых нет в этом вопросе, а цель помечена тегом [tag: arm], но ответы там неплохие ... пожалуйста, прочитайте это и посмотрите, согласны ли вы. – sarnold

ответ

2

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

1

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

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

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

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

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

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

Более аппаратные функции: [? Как ядру Linux управлять менее чем 1 ГБ физической памяти]

http://hypervsir.blogspot.sg/2014/11/page-structure-table-corruption-attacks.html