Предотвращение выполнения операций с памятью MIPS

Я провожу небольшое исследование архитектуры MIPS и меня интересует, как реализованы операционные системы с ограниченными инструкциями и защитой памяти, которые предлагает mips. Меня особенно интересует, как операционная система может предотвратить выполнение определенных диапазонов адресов. Например, как операционная система может ограничить работу ПК в определенном диапазоне? Другими словами, предотвратить что-то вроде выполнения из динамически выделяемой памяти?

Первое, что пришло в голову, это TLB, но TLB предлагают только защиту от записи в память (а не выполнение).

Я не совсем понимаю, как это может быть обработано ОС, потому что это означало бы, что каждая инструкция приведет к исключению, а затем МНОЖЕСТВО циклов будет записано, просто проверяя, находится ли ПК в разумном диапазоне адресов. .

Если кто знает, как это обычно делается? Обрабатывается ли это каким-либо образом аппаратным обеспечением во время инициализации (например, ему задан диапазон адресов, и возникает исключение, если оно выходит за пределы диапазона?)

5
задан VividD 15 December 2014 в 17:11
поделиться