软考-软件设计:操作系统知识-进程管理:进程调度 作者:马育民 • 2025-04-17 14:27 • 阅读:10002 # 心目的 通过合理的调度策略,操作系统可以确保 **CPU资源得到充分利用**,**避免CPU空闲**,从而提高整体 **系统的效率**。 # 调度方式 指当有更高优先级的进程到来时如何分配CPU。 调度方式分为: - 可剥夺:指当有更高优先级的进程到来时,强行将正在运行进程的CPU分配给高优先级的进程 - 不可剥夺:指当有更高优先级的进程到来时,必须等待正在运行进程自动释放占用的CPU,然后将CPU分配给高优先级的进程。 # 调度算法 常用的进程调度算法有先来先服务、时间片轮转、优先级调度和多级反馈调度算法。 ### 先来先服务(FCFS) FCFS按照作业提交或进程成为就绪状态的 **先后次序分配CPU**,即进程调度总是将就绪队列队首的进程投入运行。FCFS的特点是比较有利于长作业,而不利于短作业;有利于CPU繁忙的作业,而不利于I/O 繁忙的作业。FCFS 算法主要用于宏观调度。 ### 时间片轮转 **目标:**是提高资源利用率。 有如下两种: - 固定时间片。分配给每个进程相等的时间片,使所有进程都公平执行,它是一种实现简单且有效的方法。 - 可变时间片。根据进程不同的要求对时间片的大小实时修改,可以更好地提高效率。 ### 优先级调度 优先级调度算法是让每一个进程都拥有一个优先数,数值大的表示优先级高,系统在调度时总选择优先数大的占用CPU。 优先级调度分为两种: - 静态优先级。进程的优先级在创建时确定,直到进程终止都不会改变。通常根据以下因素确定优先级:进程类型(如系统进程优先级较高)、对资源的需求(如对CPU和内存需求较少的进程优先级较高)、用户要求(如紧迫程度和付费多少)。 - 动态优先级。在创建进程时赋予一个优先级,在进程运行过程中还可以改变,以便获得更好的调度性能。例如,在就绪队列中,随着等待时间增长,优先级将提高。这样,对于优先级较低的进程在等待足够的时间后,其优先级提高到可被调度执行。进程每执行一个时间片,就降低其优先级,从而当一个进程持续执行时,其优先级会降低到让出CPU。 ### 多级反馈调度 多级反馈队列调度算法如图4-9所示,该算法是时间片轮转算法和优先级算法的综合与发展。 其优点有三个方面: - 第一,照顾了短进程以提高系统吞吐量、缩短了平均周转时间; - 第二,照顾 I/O 型进程以获得较好的I/O 设备利用率和缩短响应时间; - 第三,不必估计进程的执行时间,动态调节优先级。 原文出处:http://malaoshi.top/show_1GWxg5pxRXc.html