进程调度有哪些功能?
进程对将系统中各进程的执行情况和状态特征记录在各进程的PCB表中。并且,根据各进程的状态特征和资源需求等,进程管理模块还将各进程的PCB表排成相应的队列并进行动态队列转接。进程调度模块通过PCB变化来掌握系统中存在的所有进程的执行情况和状态特征,并在适当的时机从就绪队列中选择出一个进程占据处理机。
选择占有处理机的进程
进程调度的主要功能是按照一定的策略选择一个处于就绪状态的进程,使其获得处理机执行。根据不同的系统设计目的,有各种各样的选择策略,例如系统开销较少的静态优先数调度法,适合于分时系统的轮转法(Round RoLin)和多级互馈轮转法(Round Robin with Multip1e feedback)等。这些选择策略决定了调度算法的性能。
进行进程上下文切换
一个进程的上下文(context)包括进程的状态、有关变量和数据结构的值、机器寄存器的值和PCB以及有关程序、数据等。一个进程的执行是在进程的上下文中执行。当正在执行的进程由于某种原因要让出处理机时,系统要做进程上下文切换,以使另一个进程得以执行。当进行上下文切换时点统要首先检查是否允许做上下文切换(在有些情况下,上下文切换是不允许的,例如系统正在执行某个不允许中断的原语时)。然后,系统要保留有关被切换进程的足够信息,以便以后切换回该进程时,顺利恢复该进程的执行。在系统保留了CPU现场之后,调度程序选择一个新的处于就绪状态的进程,并装配该进程的上下文,使CPU的控制权掌握在被选中进程手中。
进程上下文由正文段、数据段、硬件寄存器的内容以及有关数据结构等组成。硬件寄存器主要包括存放CPU将要执行的下条指令虚拟地址的程序计数器PC,指出机器与进程相关联的硬件状态的处理机状态寄存器PS,存放过程调用(或系统调用)时所传递参数的通用寄存器R以及堆栈指针寄存器S等。数据结构则包括PCB等在内的所有与执行该进程有关的管理和控制用表格、数组、链等。在发生进程调度时系统要做进程上下文切换。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请您通过400-62-96871或关注我们的公众号与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!







请先 登录后发表评论 ~