linux-kernel – 任务门,中断门,调用门

前端之家收集整理的这篇文章主要介绍了linux-kernel – 任务门,中断门,调用门前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在尝试阅读有关x86架构中不同门的更多信息.如果我理解正确,那么中断和陷阱门分别用于hw和sw中断处理.
而CALL门可能不再使用,因为ppl更喜欢被SYSENTER和SYSEXIT取代.

我想知道如何使用任务门(我知道它们用于hw任务切换).这究竟意味着什么? hw任务是否涉及OS任务/进程.或者更像是在两个不同的操作系统实例之间切换. (可能在服务器上.)?

另外,可能会发生一些中断在用户模式下处理. (我们可以在用户模式下处理除零中断.如果可以,那么这意味着除以零的IDT处理程序条目包含来自用户空间的地址吗?)

谢谢

解决方法

你可能想知道关于中断和门的一切都在 Intel developer manual,volume 3.简而言之:

>任务门最初设计为cpu介导的执行任务切换的方法; cpu可以在任务切换操作期间自动记录进程的状态.这些通常不用于现代操作系统;操作系统通常会自行执行状态保存操作.>至少在Linux中,所有中断处理程序都在内核空间中并在环0处执行.如果要处理除零异常,则为SIGFPE注册用户空间信号处理程序;内核空间中断处理程序引发SIGFPE信号,间接触发用户空间处理程序代码(从中断处理程序返回后执行用户空间代码).

猜你在找的Linux相关文章