HUST OS 6.2 进程调度算法【自学笔记】

29 篇文章 1 订阅
6.2 进程调度算法

1.先来先服务调度(First Come First Serve)
算法:
特点:容易实现,效率不高
缺点:只考虑作业的等候时间,而没考虑运行时间的长短.本算法不利于短作业(来得晚的短作业,无法短时间解决).

2.短作业优先调度算法(Short Job Firtst)
算法

特点
特点:容易实现,效率不高
缺点:忽视了作业的等待时间,一个早来但是很长的作业将会很长时间得不到调度,出现了饥饿现象.

3.响应比高者优先调度算法
响应比定义:
作业的响应时间与运行时间的比值.
响应比=响应时间/运行时间=1+等待时间/运行时间

算法:计算每个作业的响应比,选择响应比最高的作业优先投入运行.

特点:如果作业时间等待相同,则运行时间越短的作业,其响应比越高,越容易被调度,有利于短作业

如果作业运行时间相同,等待时间长的作业响应比越高,越容易被调度,有利于等候长的作业.’’

综合来看,兼顾了解决了前面两个算法的缺点.

4.优先数调度算法

进程优先数=静态优先数+动态优先数

静态:进程创建时确定,在整个进程运行时间不再改变.

动态:随着进程的运行而改变

  • 静态优先数的确定
    1.基于进程所需资源的多少
    2.基于程序运行时间的长短
    3.给予进程的类型[IO/CPU,前台/后台,核心/用户]

  • 动态优先数的确定
    1.当使用CPU超过一定时长时;
    2.当进行I/O操作后;
    3.当进程等待超过一定时长时;

5.循环轮转调度法(ROUND-ROBIN)
类同于左轮手枪的运转规则.
原理:把所有就绪进程先进先出的原则排成队列.新来的进程加到队列末尾.
进程以时间片为单位轮流使用CPU.刚刚运行一个时间片的进程排到队列末尾,等候下一轮进行.
队列逻辑上环形的.

优点:
1.公平性:每个就绪进程都有平等机会获得CPU.
2.交互性:每个进程等待(N-1)*q的时间就可以重新获得CPU.

时间片q的大小

  • 如果q太大(交互性差,甚至退化为FCFS调度算法)
  • 如果q太小(进程切换频繁,系统开销增大)

改进:
1.时间片的大小可变
2.组织多个就绪队列(不同的优先级,不同的时间片大小,不同的排列顺序等等)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值