在微处理器中,根据计算机的架构,有许多模式,如用户模式、管理员模式等。为什么他们创建了这么多模式(为什么他们分配了这么多特权)
答案1
操作系统能够运行来自潜在不受信任源的代码,而无需赋予代码无限的破坏系统的能力,这通常很有用。如果处理器没有“用户模式”和“管理员模式”的概念,操作系统限制不受信任代码操作的唯一方法就是检查每一条指令,以确保它没有做任何可能造成损害的事情。速度并不快。为了改善这种情况,旨在促进使用潜在不受信任代码的处理器可以调用“受限”模式。在这种模式下,大多数指令可以正常工作,但只允许访问特定的内存区域。要切换回“不受限制”模式,需要执行一条指令,该指令将同时将处理器切换到不受限制模式,并将程序执行转移到在受限模式下不可用的多个特殊地址之一。每个地址都与某种类型或操作系统执行某项操作的请求相关联(通常,确切的操作将由不同寄存器中的值组合指定);操作系统代码将检查每个请求,并确保它代表调用代码被允许执行的某项操作;如果确实如此,操作系统将执行指示的操作,然后执行一条指令,该指令将同时使机器重新进入受限模式,并将程序执行转移到最后一个“请求操作系统操作”指令之后的指令。
由于切换模式的成本较高,因此有些处理器提供了一些功能,允许严格限制某些程序的操作,同时允许其他程序执行更多操作。然而,在实践中,通常更简单的是只使用两种模式:受限模式和不受限制模式(通常称为“用户”和“管理员”模式)。