进程上下文(context)
无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数,这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。
进程上下文是为了描述进程调度而提出的一个抽象概念。
已执行的进程指令和数据在相关寄存器和堆栈中的内容称为上文,正在执行的内容称为正文,待执行的内容称为下文。
进程上下文切换
在不发生进程调度时,进程上下文的改变是在同一进程内进行的,此时每条指令对进程上下文的改变较小。
进程上下文切换指的是不同进程之间的切换,切换过程一般包括3个部分,涉及2个进程——
第一部分:保存被切换进程的正文部分至有关存储区;
第二部分:执行有关程序调度和资源分配的程序,选取新的进程;
第三部分:将被选进程的、原来被保存的正文部分,从有关存储区取出,并送至有关寄存器和堆栈中,激活被选进程的执行。
需要注意的是,进程上下文切换比较耗费CPU时间。为了进一步提高执行效率,后来又提出了线程的概念。
版权声明:本文为Ha1f_Awake原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。