gpt4 book ai didi

assembly - CPU 从用户模式切换到内核模式 : What exactly does it do? 它是如何进行这种转换的?

转载 作者:行者123 更新时间:2023-12-02 17:11:41 28 4
gpt4 key购买 nike

CPU从用户模式切换到内核模式:它到底做了什么?它是如何实现这种转变的?

编辑:

即使它依赖于架构,也请给我一个答案。架构由您决定。告诉我你所了解的架构。

我想了解其中涉及的所有事情。

最佳答案

注意:这主要与 x86 架构相关。这是一个稍微简化的解释。

转换通常是由以下原因之一引起的:

  • 故障(例如页面错误或执行指令引起的其他异常)
  • 中断(例如键盘中断或 I/O 完成)
  • 陷阱(例如系统调用)

通常发生的情况是系统检查中断描述符表(IDT)。每个异常(中断、故障等)都有一个与之关联的编号,用于索引该表。

根据该表,CPU 可以确定要运行的中断处理程序。

作为过渡的一部分,以下更改(通常)会生效:

  • 切换到内核堆栈
  • EFLAGS 已保存
  • 保存代码段选择器和 EIP。
  • 保存堆栈段选择器和堆栈指针
  • 开始执行中断处理程序
  • 保存通用寄存器(处理程序的工作)
  • 段选择器更改为内核选择器(处理程序的工作)

您现在处于内核模式。

希望有帮助:)

关于assembly - CPU 从用户模式切换到内核模式 : What exactly does it do? 它是如何进行这种转换的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2479118/

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