Jat*_*ana 2 computer-architecture
在微处理器中,根据计算机的体系结构,有多种模式,如用户模式、管理员模式等。为什么他们创造了这么多模式(为什么他们分配了这么多特权)
操作系统能够运行来自潜在不可信来源的代码,而不必赋予代码无限的权力来破坏系统,这通常很有用。如果处理器没有任何“用户模式”和“主管模式”的概念,那么操作系统限制不受信任代码的行为的唯一方法就是检查每一条指令以确保它没有做任何事情这可能会造成损坏。不完全是快速的。为了改善这种情况,旨在促进使用可能不受信任的代码的处理器可以调用“受限”模式。在这种模式下,大多数指令正常工作,但只允许访问特定的内存区域。要切换回“不受限制”模式,它' 必须执行一条指令,该指令将同时将处理器切换到不受限制模式并将程序执行转移到在受限制模式下不可用的许多特殊地址之一。每个地址都与操作系统做某事的某种类型或请求相关联(通常,确切的操作将由不同寄存器中的值的组合指定);操作系统代码将检查每个请求并确保它代表调用代码允许执行的操作;如果是,操作系统将执行指示的操作,然后执行一条指令,该指令将同时使机器回到受限模式并将程序执行转移到最后一个“请求操作系统操作”指令之后的指令。
因为切换模式有点昂贵,一些处理器已经包含一些设施,允许严格限制一些程序的操作,而允许其他程序做更多的事情。然而,在实践中,只有两种模式通常更简单:受限和不受限制(通常称为“用户”和“主管”)。