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

我一直在尝试阅读有关x86架构中不同门的更多信息.如果我理解正确,那么中断和陷阱门分别用于hw和sw中断处理.

而CALL门可能不再使用,因为ppl更喜欢被SYSENTER和SYSEXIT取代.

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

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

谢谢

解决方法

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

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

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。