c - 如何获取进程信息?

标签 c assembly operating-system dos

在我的操作系统类中,我们用 C 语言编程,我们覆盖了定时器中断,在我们编写的定时器中断之后,我们必须处理 4 个进程,但我们需要获取进程的上下文,比如指令指针,数据段等。我们如何从c中获取这些信息?如果不是,我们是否还需要在 C 代码中使用 ASM?谢谢:D

我在 Windows XP 32 位上使用 virtual box,并使用 DOS 16 位虚拟机

最佳答案

是的,您几乎需要至少一点汇编语言。一个典型的起点是 pusha。这保留了主要的通用寄存器,因此您可以在某个地方工作而不会破坏任何重要的东西。如果您支持 FPU,您可能需要查看 fsave。您分别使用 popafrestore 恢复它们。

关于c - 如何获取进程信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5279829/

相关文章:

c - 头指针随着链接列表项的变化而变化

C: 正在释放的 malloc 错误指针未分配

operating-system - CPU超线程和操作系统上下文切换之间的关系?

assembly - 是否有为z/assembler量身定制的emacs组织模式的变体?

assembly - 无法访问地址处的内存,缓冲区溢出尝试

c - 如何在c中将char数组设置为字符串

windows - 共享分区ubuntu和Windows

c++ - 在 Eclipse 中使用遗留项目

在 Mathematica/Mathlink 中计算导数

linux - 如果汇编程序中没有退出系统调用会怎样?