我是操作系统概念的新手。我读到过PCB包含有关寄存器的信息。它的意思是“它包含该特定时刻的所有寄存器内容”还是“只包含属于特定进程的寄存器”?如果是第二种情况,请告诉我操作系统如何跟踪哪些寄存器属于哪个进程?
谢谢
发布于 2012-10-02 08:00:33
寄存器是特定于架构的,这是对x86架构中寄存器的描述
http://en.wikipedia.org/wiki/X86_architecture#x86_registers。
CPU架构规范定义了每个寄存器及其用途。在设计和开发操作系统时,操作系统开发人员应该遵循这些指导原则。就进程而言,重要的寄存器是SP(堆栈指针)、BP(基指针)和IP(指令指针)。进程还使用控制寄存器(CR0-CR8)进行计算。有操作系统使用的寄存器,如IDTR,它被操作系统用来指向中断描述符表。IDT用于在中断发生时调用正确的函数。
当你谈论PCB中的寄存器时,它就是一个数据结构。当一个进程正在运行并且它的时间片到期时,进程特定寄存器的当前值将存储在PCB中,并且该进程将被换出。当计划运行该过程时,从PCB读取寄存器值并将其写入CPU寄存器。这是PCB中寄存器的主要用途。
https://stackoverflow.com/questions/12670692
复制相似问题