【发布时间】:2011-12-31 22:56:53
【问题描述】:
我正在对 MIPS 架构进行一些研究,并且想知道如何使用 mips 提供的有限指令和内存保护来实现操作系统。我特别想知道操作系统如何阻止某些地址范围被执行。例如,操作系统如何限制 PC 在特定范围内运行?换句话说,防止诸如从动态分配的内存中执行之类的事情?
首先想到的是 TLB,但 TLB 只提供内存写保护(而不是执行)。
我也不太明白操作系统如何处理它,因为这意味着每条指令都会导致异常,然后会烧掉许多周期,只是检查 PC 是否在正常的地址范围内.
如果有人知道,它通常是如何完成的?它是否在初始化期间由硬件以某种方式处理(例如,它被赋予了一个地址范围,如果它超出范围,则会遇到异常?)
【问题讨论】:
标签: memory operating-system mips computer-architecture tlb