Is there any difference between kernel space & user space MEMORY ALLOCATIONS?
From which region of memory they get allocated.
Може ли някой да даде някои насоки по този въпрос?
Благодаря.
С Най-Добри Пожелания,
Сандип Сингх
Is there any difference between kernel space & user space MEMORY ALLOCATIONS?
From which region of memory they get allocated.
Може ли някой да даде някои насоки по този въпрос?
Благодаря.
С Най-Добри Пожелания,
Сандип Сингх
Регионите на паметта и за двата региона се управляват от съответните диапазони на адресно пространство. Граничната стойност се съхранява в регистъра на оградата.
Потребителската памет и паметта на ядрото имат разлики: в смисъл, че има различни физически атрибути, маркирани към нея:
Но за самия алгоритъм за разпределение: паметта на потребителското пространство винаги се връща към паметта на ядрото за крайната си реализация.
И тъй като паметта на режима на ядрото е много по-мощна от режима на потребителя, има хардуерен механизъм, наречен SMEP, който предотвратява изпълнението на паметта на режима на потребителя от режима на ядрото:
https://www.ncsi.com/nsatc11/presentations/wednesday/emerging_technologies/fischer.pdf
А хардуерните функции като NX bit винаги се контролират от режима на ядрото (пръстен 0): като нормален потребител (пръстен 3) няма да имате достъп до бита.
Още хардуерни функции:
http://hypervsir.blogspot.sg/2014/11/page-structure-table-corruption-attacks.html
512M
памет, които не са в този въпрос, и целта е маркирана arm, но там отговорите са доста добри... моля, прочетете го и вижте дали сте съгласни. - person sarnold   schedule 06.01.2012