操作系统几种算法

处理机调度层次:

  1. 高级调度
    长程调度,调度对象:作业
  2. 低级调度
    短程调度,调度对象:进程
  3. 中级调度
    内存调度,提高内存利用率和系统吞吐量

作业调度算法:

1. 先来先服务算法(first-come first-served,FCFS)

有利于长作业或CPU繁忙型作业

2. 短作业优先算法(short job first,SJF)

有利于短作业或I/O繁忙型作业
缺点:

  1. 必须预知作业的运行时间
  2. 忽视了作业的等待时间,可能世作业的等待时间过长,出现饥饿现象
  3. 人——机交互无法实现
  4. 不能保证紧迫作业及时得到处理

3. 优先级调度算法(priority-scheduling algorithm,PSA

保证紧迫性作业优先运行

4. 高响应比优先算法(highest response ratio next,HRRN

既考虑了短作业,又考虑了长作业

磁盘调度算法

先来先服务(FCFS

方法:根据进程请求访问磁盘的先后顺序进行调度
优点:公平、简单,不会出现某一进程的请求长期得不到满足的情况
缺点:未对寻道进行优化,致使平均寻道时间可能较长
适用情况:请求磁盘I/O的进程数目较少

最短寻道时间优先(SSTF

方法:访问的磁道与当前磁头所在的磁道距离最近
缺点:

  1. 不能保证平均寻道时间最短;
  2. 可能导致优先级低的进程发生饥饿现象

扫描算法(SCAN

方法:优先考虑磁头当前移动方向,然后再考虑访问的磁道与当前磁头所在的磁道距离

循环扫描算法(CSCAN

方法:磁头单向循环移动

N步SCAN算法(NStepSCAN

方法:
将磁盘请求队列分成若干个长度为N的子队列,磁盘 调度按FCFS算法依次处理这些子队列,每处理一个队列按SCAN算法。当正在处理某队列时,若出现新的磁盘I/O请求,便将新请求进程放入其他队列

优点:
不会出现“磁臂黏着”现象(有一个或几个进程对某一磁道有较高的访问频率,导致磁臂停留在某处不动的现象)

FSCAN算法

方法:
将磁盘请求队列分成2个子队列,一个是由当前所有请求磁盘I/O的进程形成的队列,由SCAN算法进行处理,另一个是在扫描期间,将新出现的所有请求磁盘I/O的进程放入等待处理的请求队列。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值