什么是进程的私有堆栈?
我们先了解一下进程切换的实质----把进程存放在处理器的寄存器中的中间数据找个地方存起来,从而把处理器的寄存器腾出来让其它进程使用。这个地方就是进程的私有堆栈。
进程占用处理器的实质:把某个进程存放在私有堆栈中寄存器的数据(前一次本进程被中止时的中间数据)再恢复到处理器的寄存器中去。,并把待运行进程的断点送入处理器的程序指针PC,于是待运行进程就开始被处理器运行了。
什么是进程的上下文?
在切换时,一个进程存储在处理器各寄存器中的中间数据叫做进程的上下文。
在操作系统中,负责进程调度工作的是一个叫做调度器或者分配器的程序模块。它是操作系统最为核心的部分之一,工作十分繁忙,所以调度器所使用的调度策略的优劣直接影响到整个系统的性能,因此,这个模块的代码要求精心设计,并常驻内存工作。
调度器:调度部分:1、把当前进程的状态信息记录在进程的控制块中。
2、按某种策略确定应获得处理器使用权的就绪进程。
切换部分:1、从正在运行的进程收回处理器
2、把处理器让给已经确定可以使用处理器的就绪进程来占用。
调度工作以获得待运行进程的进程控制块为最终目的。一旦获得控制块后就立即进行进程的切换工作。之所以在进程切换前一定要获得待运行进程的进程控制块,是因为控制块中存放了进程切换时需要用到的一个重要信息----进程的私有堆栈指针。