在我的操作系统类中,我们用 C 语言编程,我们覆盖了定时器中断,在我们编写的定时器中断之后,我们必须处理 4 个进程,但我们需要获取进程的上下文,比如指令指针,数据段等。我们如何从c中获取这些信息?如果不是,我们是否还需要在 C 代码中使用 ASM?谢谢:D
我在 Windows XP 32 位上使用 virtual box,并使用 DOS 16 位虚拟机
最佳答案
是的,您几乎需要至少一点汇编语言。一个典型的起点是 pusha
。这保留了主要的通用寄存器,因此您可以在某个地方工作而不会破坏任何重要的东西。如果您支持 FPU,您可能需要查看 fsave
。您分别使用 popa
和 frestore
恢复它们。
关于c - 如何获取进程信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5279829/