gpt4 book ai didi

cpu - 谁或如何更改处理器模式,CPU状态,CPU特权级别?

转载 作者:行者123 更新时间:2023-12-04 15:58:38 25 4
gpt4 key购买 nike

我正在阅读有关Linux设备驱动程序的信息,其中提到内核以特权模式运行,这使它可以不受限制地访问所有硬件。如何防止用户程序将CPU设置为这种模式?

最佳答案

如果您想了解这些内容,最好的方法之一就是通过代码遵循Linux引导过程Kernel Boot Process。例如,假设您采用在x86架构上运行的Linux。引导时发生的情况是BIOS将控制权交给了引导加载程序。 tern中的 bootstrap 将控制权交给内核。

然后,内核会经历一个过程来启动。最初,大多数东西都是用汇编语言编写的-参见/arch/x86/boot/header.S

然后转到/arch/x86/boot/main.c。在主要功能的最后,您会看到对go_to_protected_mode()的调用

您可以在/arch/x86/boot/pm.c中看到该功能

因此,一旦启动进入内核,它将成为CPU的网关,并且您的代码将在内核提供的虚拟机中运行。由于用户程序必须通过该虚拟机执行所有操作,因此阻止了它们在其他模式下运行。

关于cpu - 谁或如何更改处理器模式,CPU状态,CPU特权级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10072034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com