最近学习自考学到进程调度,其中的调度算法看着很复杂,细想又很简单,接下来简单介绍一下:
先来先服务调度算法(FCFS)
先来先服务算法 | 理论定义 | 我的理解 |
---|
调度算法 | 从就绪队列的队首选择最先到达就绪队列的进程,为该进程分配CPU | 排队,先到先得 |
性能分析 | 适合长进程,不利于短进程,短进程等待时间相对于运行时间而言太长 | 排队要做的事时间不宜太短,要不排那么长时间对不至于 |
短进程优先算法(SPF)
先来先服务算法 | 理论定义 | 我的理解 |
---|
调度算法 | 从就绪队列的队首选择估计运行时间最短的进程,讲处理机分配给它,使它立即执行并一直执行完成,或发生某事件而被阻塞放弃处理机时,再重新调度。 | 同时做很多件事情的时候感觉哪件事用时短就先做哪个。 |
算法优点 | 与FCFS算法相比,能有效降低进程的平均等待时间,提高系统的吞吐量 | 反正这么些事怎么排都要5个小时做完,先做做的快的,少几件事等着了。 |
算法的缺陷 | 1.对长进程不利 2.不能保证进程的及时处理,算法不考虑进程的紧迫程度 3.进程的长短根据用户估计,不一定真正做到短进程优先。 | 1.需要做很长时间的事情只能放到最后了 2.没有考虑说不定时间长的事情着急完成呢 3.自己估计的哪件事做的快不快,不准。 |
优先权调度算法(PSL)
优先权调度算法 | 理论定义 | 我的理解 |
---|
调度算法 | 每个进程一个优先权,进程调度时,系统将CPU分配给就绪队列中优先权值最高的进程 | 给每件事根据各种分析列个重要级别,每次做中间最重要的 |
类型 | 非抢占式 | 不管新来的事情重不重要先做完手中的工作再说 |
| 抢占式 | 新来的事情比正在做的重要,手中的工作先放一放 |
问题:无穷堵塞 | 低优先权进程无穷等待CPU | 新来的每一件事都比较重要,一开始不太重要的事一放再放也轮不到做了 |
解决方案:老化技术 | 使低优先权进程在等待时间很长的情况下,优先权变高而获得CPU执行 | 一件事情等的时间长了就把它提上日程。 |
今天就分享这么多,未完待续…