gpt4 book ai didi

x86 - 陷阱和中断有什么区别?

转载 作者:行者123 更新时间:2023-12-03 04:24:49 32 4
gpt4 key购买 nike

陷阱和中断有什么区别?

如果不同系统的术语不同,那么它们在 x86 上意味着什么?

最佳答案

一个<强> trap 是用户进程中的异常。这是由除以零或无效的内存访问引起的。这也是调用内核例程( system call )的常用方法,因为它们的运行优先级高于用户代码。处理是同步的(因此用户代码被挂起并随后继续)。从某种意义上说,它们是“活跃的”——大多数时候,代码预计陷阱会发生并依赖于这一事实。

interrupt 是由硬件(硬盘、显卡、I/O 端口等设备)生成的东西。这些是异步的(即它们不会发生在用户代码中可预测的位置)或“被动”,因为中断处理程序必须等待它们最终发生。

您还可以将陷阱视为一种 CPU 内部中断,因为陷阱处理程序的处理程序看起来像一个中断处理程序(保存寄存器和堆栈指针,有上下文切换,在某些情况下可以恢复执行)离开)。

关于x86 - 陷阱和中断有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3149175/

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