上期回顾: 【操作系统】进程同步与通信
个人主页:GUIQU.
归属专栏:操作系统
正文
1. 进程调度基础
1.1 调度的概念与目的
在操作系统中,进程调度负责决定在特定时刻哪个进程将获得 CPU 资源并得以执行。其主要目的是确保系统资源得到高效利用,提高系统的吞吐量,同时保证各个进程能够公平地共享 CPU 时间,并且对用户的响应时间保持在合理范围内。例如,在一个多任务处理的计算机系统中,可能同时有多个用户在运行不同的应用程序,如浏览器、文字处理器和音乐播放器等,进程调度机制需要合理地分配 CPU 时间片给这些进程,使得每个进程都能有所进展,而不会出现某个进程长时间独占 CPU 导致其他进程无法执行的情况。
1.2 调度算法的评价指标
1.2.1 周转时间
周转时间是指从进程提交到完成所经历的时间,包括等待时间、执行时间等。它直观地反映了一个进程在系统中停留的总时长。例如,一个进程提交后在就绪队列中等待了 5 秒,然后在 CPU 上执行了 3 秒,其周转时间就是 8 秒。较短的周转时间意味着进程能够快速地完成任务,提高了系统的整体效率和用户满意度。
1.2.2 平均周转时间
平均周转时间是系统中所有进程周转时间的平均值。计算平均周转时间可以综合评估调度算法对整个进程集合的性能表现。例如,有三个进程,周转时间分别为 6 秒、8 秒和 10 秒,那么平均周转时间为(6 + 8 + 10) / 3 = 8 秒。平均周转时间越小,说明调度算法在整体上越能快速地处理完所有进程。
1.2.3 带权周转时间
带权周转时间是周转时间与执行时间的比值。它考虑了进程执行时间长短对周转时间评价的影响。对于执行时间较短的进程,如果周转时间过长,其带权周转时间会较大,反映出调度算法对短进程的不公平性。例如,一个进程执行时间为 2 秒,周转时间为 6 秒,其带权周转时间为 6 / 2 = 3。
1.2.4 平均带权周转时间
平均带权周转时间是系统中所有进程带权周转时间的平均值。它能更全面地衡量调度算法在处理不同执行时间进程时的公平性和效率。例如,有三个进程,带权周转时间分别为 2、3 和 4,那么平均带权周转时间为(2 + 3 + 4) / 3 = 3。
1.3 调度的类型
1.3.1 高级调度
高级调度又称作业调度,它决定将哪些作业从外存调入内存,为其创建进程并分配必要的资源,使其有机会竞争 CPU 资源。例如,在一个批处理系统中,大量的作业存储在磁盘上,高级调度程序会根据一定的策略,如先来先服务、优先级等,选择合适的作业调入内存。高级调度的执行频