我是操作系统概念的新手。我已经读过PCB包含有关寄存器的信息。这就意味着“它包含特定时间的所有寄存器内容”或“只包含属于特定进程的寄存器”?如果是第二种情况,请告诉我如何跟踪哪些寄存器属于哪个进程?
谢谢
答案 0 :(得分:4)
寄存器特定于架构,这是x86架构中寄存器的描述
http://en.wikipedia.org/wiki/X86_architecture#x86_registers
CPU架构规范定义了每个寄存器及其用途。操作系统开发人员在设计和开发操作系统时应遵循这些指导原则。就过程而言,重要的寄存器是SP(堆栈指针),BP(基指针)和IP(指令指针)。控制寄存器(cr0-cr8)也被进程用于计算。 IDTR等操作系统使用寄存器,OS使用这些寄存器指向中断描述符表。 IDT用于在发生中断时调用正确的函数。
当你谈论PCB中的寄存器时,它就是一种数据结构。当进程正在运行且时间片到期时,进程特定寄存器的当前值将存储在PCB中,并且进程将被换出。当计划运行该过程时,从PCB读取寄存器值并将其写入CPU寄存器。这是PCB中寄存器的主要目的。