进程描述——进程上下文

来源:互联网 发布:mysql 多表inner join 编辑:程序博客网 时间:2024/06/02 20:14

     进程上下文实际上是进程执行活动全过程的静态描述。具体的说,进程上下文包括计算机系统中与执行该进程有关的各种寄存器(例如通用寄存器,程序计数器PC,程序状态字寄存器PS等)的值,程序段在经过编译过后形成的机器指令代码集,数据集及各种堆栈值PCB结构。这里,有关寄存器和栈区的内容是重要的,例如没有程序计数器PC和程序 状态寄存器PS,CPU将无法知道下一条待执行指令的地址喝控制有关操作。

    进程上下文是可以按照层次规则组合起来的。例如在UNIX System V中,进程上下文由用户级上下文,寄存器上下文以及系统级上下文组成。

    用户级上下文由进程的用户程序段部分编译而成的用户正文段,用户数据,用户栈组成。

    寄存器上下文则有程序寄存器PC,处理机状态寄存器PS,栈指针喝通用寄存器的值组成,其中PC给出了CPU将要执行的下一条指令的虚地址;PS给出了机器与该进程相关联的硬件状态;栈指针指向下一项的当前地址,而通用寄存器则用于不同执行模式间的参数传递。

    进程的系统级上下文分为静态和动态部分。这里的动态指进程在进入和退出不同的上下文层次时,系统为各层上下文中相关联的寄存器所保存和恢复的记录。静态部分为PCB结构,将进程虚地址空间映射到物理空间用得有关表格喝核心栈。这个核心栈主要是用来装载进程中所使用系统调用的调用序列。

    系统级上下文的动态部分是与寄存器上下文相关联的。进程上下文的层次概念也主要体现在动态部分,及系统级上下文的动态部分可看成是一些数量变化的层次组成。其变化规则满足先进后出的堆栈方式,每个上下文层次在栈中各占一项。UNIX System V的进程上下文组成如下图。

                                             

原创粉丝点击