我知道Linux提供int 0x80
用于捕获系统调用,但有没有其他用途以及它们的用途是什么?
答案 0 :(得分:5)
这是一个非常广泛的问题,但是,x86芯片允许各种各样的软件中断。
Linux使用int 80
作为其系统调用机制,但您应该知道内核的更高版本可以使用SYSENTER
而不是int 80
,因为在某些情况下它更有效。
在实模式下,中断向量表位于内存中的特定位置。如果你想要你可以做的事情的细节,谷歌为“拉尔夫布朗”,他保持着近乎传奇的“中断名单”。
对于保护模式,可以使用特殊的处理器寄存器IDTR(IDT是中断描述符表)找到它。
在这两种情况下,您都可以使用256个中断。