操作系统之算法整理

**

一,进程调度算法

:**
1.先来先服务(FCFS)
特点:适合长进程,有利于CPU繁忙型进程,如科学计算等工作场景,不利于I/O繁忙型。
实例:(QQ图片)
2.短进程优先(SPF)
特点:有效降低进程的平均等待时间,提高系统的吞吐量。
3.优先权调度算法(PSL)
①非抢占式优先调度算法
②抢占式优先权调度算法:一个进程在运行,如果新进来一个进程的优先权大于正在运行的进程,那么正在运行的就要强制结束进程,让优先权高的进程投入运行。
优先权类型:
a 静态优先权:根据进程的类型,进程需要的资源数量和用户的要
求来设定。
b 动态优先权:随着进程的推进或者其等待时间 的增加而改变进程的优先权级别,也就是说,进程推进或者等待的时间越长,优先权级别越高。
存在的问题:饥饿问题:无穷阻塞,就是就绪态进程得不到CPU而等待的状态。
4.时间片轮转调度算法(RR)
特点:现代分时系统中广泛使用的,UNIX Linux Windows 操作系统都采用此方法和优先权,抢占式调度结合的进程调度算法。
影响因素:系统对响应时间的要求;就绪队列中进程的数目;系统的处理能力。
5.多级队列调度
6.多级反馈队列调度

**

二,实时系统中的调度

**
定义:为了实现实时调度,需要以下几个条件:
1)就绪时间
2)开始截止时间和完成截止时间
3)处理时间:指的是一个实时任务从开始执行到完成所需要的时间
4)资源要求
5)优先级
类型:
1.最早截止时间优先(EDF)
根据进程的开始截止时间确定进程的优先级,截止时间越早,进程的优先级就越高,优先获得处理机。可以用于抢占式/非抢占式调度。
2.最低松弛度优先(LLF)
松弛度用来表示一个实时进程的紧迫程度
L=T-Tc-Ts
T:一个进程的完成截止时间 Tc:当前时间 Ts:处理完该任务还需要的时间

三,页置换算法

1.最佳置换算法
2.先进先出页置换算法(FIFO)
3.最近最久未使用置换算法(LRU)

四,动态分区分配算法

1.首先适应算法(FF)
特点: 要求空闲分区链以递增的顺序连接,从链首开始顺序查找,直到找到要给能满足进程大小要求的空闲分区为止,余下的空闲分区仍然留在空闲链中。
缺点:留下许多难以利用的很小的空闲分区,称为外部碎片。
2.循环首次适应算法(NF)
特点:不再从链首开始查找,直接从上一次找到的空闲分区的下一个空闲分区开始查找,直到找到要给满足要求的空闲分区。设置要给查找指针,以指示下一次起始查找的空闲分区。
优点:空闲区分布均匀,查找开销小,缺点是容易使系统缺乏大空闲区。
3.最佳适应算法(BF)
特点:避免了“大材小用”,提高了内存利用率。

猜你喜欢

转载自blog.csdn.net/lj251948/article/details/79696303