为了让内核管理进程,每个进程由一个进程描述符表示,这个描述符包含有关进程当前状态信息。
当内核暂停一个进程执行时(上下文切换),就把几个相关处理器寄存器的内容保存在进程描述符中。这些寄存器包括:
程序计数器PC
通用寄存器
浮点寄存器
包含cpu状态信息的处理器控制寄存器
用来跟踪进程对RAM访问的内存管理寄存器
当内核决定恢复执行一个进程时,它用进程描述符的字段来装载CPU寄存器。因为程序计数器中保存的值是下一条将要执行的指令,所以进程从它停止的地方恢复执行。
当一个进程不在cpu上执行时,它正在等待某一个事件。unix内核可以区分很多等待状态,这些状态通常由进程描述符队列组成。每个队列对应一组等待特定事件的进程。