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