操作系统概论(4)--进程调度

本文探讨了操作系统中进程调度的重要时刻,包括进程运行结束、进入阻塞状态等情况,并阐述了调度方法的可剥夺与不可剥夺两种类型。此外,还介绍了几种常见的调度算法,如先来先服务、最短作业优先、最高响应比优先法和时间片轮转等,重点提到了多级反馈队列调度算法,该算法被广泛应用于UNIX操作系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进程调度:如何分配CPU。(自行回顾进程调度状态图的三模态、五模态)
1.引起进程调度的时机
1)现运行进程运行结束或者因任务完成而正常结束,或者因出现错误而异常结束。
2)现运行进程因某种原因,比如I/O请求,从运行进出入阻塞状态。
3)现运行进程执行某种原语操作,如P操作、阻塞原语等,进入阻塞状态。
4)一个具有更高优先级的进程要求使用处理机,即进入就绪队列(这与调度方式有关)。
5)分配给该进程运行的时间片已用完(这与系统类型有关,多用于分时系统中)。
2.调度方法分为可剥夺和不可剥夺两种。即当有更高优先级的进程到来时,是否可以将正在运行进程的CPU分配给高优先级的进程,可以则为可剥夺,否则为不可剥夺的。

在某些操作系统中,一个作业从提交到完成需要经历高、中、低三级调度。

    高级调度:又称长调度或作业调度。它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。系统中一个作业只需经过一次高级调度。
    中级调度:又称短程调度或对换调度。它决定处于交换区中的就绪进程哪个可以调入内存,以便直接参与对CPU的竞争。在内存资源紧张时,为了将进程调入内存,必须将内存中处于阻塞状态的进程调出交换区,以便为调入进程腾出空间。
    低级调度:又称短程调度或进程调度。它决定处于内存中的就绪进程中的哪个可以占用CPU。最活跃、最重要的调度程序,对系统影响也是最大的。

3.进程调度算法的选择
先来先服务 (first come first served)

在所有调度算法中,最简单的是非抢占式的FCFS算法。 

算法原理:进程按照它们请求CPU的顺序使用CPU.就像你买东西去排队,谁第一个排,谁就先被执行,在它执行的过程中,不会中断它。当其他人也想进入内存被执行,就要排队等着,如果在执行过程中出现一些事,他现在不想排队了,下一个排队的就补上。此时如果他又想排队了,只能站到队尾去。

算法优点:易于理解且实现简单,只需要一个队列(FIFO),且相当公平 
算法缺点:比较有利于长进程,而不利于短进程,有利于CPU 繁忙的进程,而不利于I/O 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值