操作系统之处理机调度问题

处理机调度问题

处理机调度问题到底是什么样的问题呢?首先我们要了解处理机是什么。处理机包括中央处理器,主存储器, I/O 接口,是计算机系统中存储程序和数据,并按照程序规定的步骤执行指令的部件。说的简单一点,就是计算机系统去掉外围设备(I/O 设备)就是处理机。一般我们用的计算机只有一个处理机,但是我们的计算机系统都是多道批处理系统,也就是说内存中的进程数是多于处理机的个数的,那么这些进程都想被执行,选择哪个进程上来执行呢?这个问题就是处理机调度问题。

处理机的调度有三个层次,一个是高级调度,也就是作业调度,一个是低级调度,也就是进程调度,第三个是中级调度,中级调度也叫内存调度,那么内存调度是干什么的呢?前两个调度都是调度可以运行的作业或进程,当进程无法运行时,就需要用到内存调度。他把不能运行的进程放到外存中等待,当这些进程可以运行并且
处理机有空闲的时候,就由内存调度来决定谁来运行。

作业调度

先来先服务调度算法(FCFS)

顾名思义,就是谁先来先调度谁。作业或者进程排成一个队列,按照时间由前到后的顺序依次调度。

短作业优先调度算法(SJF)

同样顾名思义,就是看哪个作业执行的时间短,谁短我先执行谁。不过判断某时刻执行谁要看那个时刻谁最短,如果某个作业在时刻之后才来,显然在这个时刻是不会执行这个程序的。

优先级调度算法(PSA)

这个算法也和它的名字一样,根据优先级进行调度,优先级越高,越优先运行。

高响应比优先调度算法(HRRN)

高响应比优先调度算法是怎样运行的呢?我们给每个作业赋予一个动态的优先级,这个优先权表示如下:

优先权=等待时间+要求服务时间/要求服务时间

在某一时刻判断应该由哪个进程来执行根据优先权来判断。

总结

其实这四种调度算法都是优先级调度算法,FCFS调度算法的优先级是等待时间,SJF算法的优先级是进程运行的时间,HRRN算法的优先级是等待时间+要求服务时间/要求服务时间

进程调度

轮转调度算法(RR)

轮转调度算法是基于时间片的轮转,什么意思呢?你们几个进程都想执行,那么我就让你们一个人执行一段时间,如果你在时间片内运行完了或者时间用完了,我就把你换掉,把就绪队列队首的进程拿过来运行。

多级队列调度算法

我们之前学的调度算法都只有一个就绪队列,无法满足系统中不同用户对进程调度策略的不同要求,所以我们这个算法设计了多个就绪队列,每个队列中的不同进程有不同的优先级,同时每个队列本身也有优先级。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值