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