操作系统单处理机调度算法

本文介绍了操作系统中几种主要的单处理机调度算法,包括FCFS(先来先服务)、SJF(最短作业优先)、优先级调度、轮转调度(RR)以及多级队列和多级反馈队列调度。这些算法分别适用于不同的场景,如FCFS简单但可能导致等待时间长,SJF最优但需要预知进程执行时间,轮转调度适合分时系统,多级队列和反馈队列能更灵活地平衡不同类型的进程需求。
摘要由CSDN通过智能技术生成

基本概念

在没有进行进程调度之前,一个进程始终允许以最大化CPU利用率运行。这种想法比较简单。也存在时间浪费的问题。比如一个进程如果要等待I/O请求,那么此时的CPU资源处于空闲状态,如果没有抢占或者调度,其他程序就算是计算密集型也要一直等待这个进程请求I/O完成并运行结束才可以占用CPU资源。因此,进程调度是操作系统设计的一个重要部分,它允许一个进程等待时,另一个进程接管CPU使用权。

调度算法

先到先服务调度(First-Come First-Served FCFS)

先来先服务是CPU调度算法中最简单的一种方案。它要求先请求CPU的进程首先分配CPU。这个策略可以通过FIFO队列很容易实现。当一个新的进程就绪时,它的PCB就会被链接到队列的尾部。当CPU空闲时,它就会分配资源给队列头部的进程,并且将该进程从队列中移除。FCFS的缺点是平均等待时间往往比较长。可能会发生一种情况是:CPU密集型的进程在I/O密集型的前边运行,那么所有的I/O密集进程都要等待这个CPU密集进程执行完毕,但是众所周知CPU密集进程又需要占用CPU很长一段时间,而I/O密集的却占用很短时间。这就造成了很多时间短的进程等待一个时间十分长的进程,这个线程被戏称为护航效果

举个例子:如果有3个进程按照P1、P2、P3进入就绪队列,他们的运行时间如下:

进程 执行时间
p1 24
p2 3
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
实验二 处理器系统进程调度 1.实验目的 加深对进程概念的理解,明确进程和程序的区别; 深入了解系统如何组织进程、创建进程; 进一步认识如何实现处理器调度。 2.实验预备知识 进程的概念; 进程的组织方式; 进程的创建; 进程的调度。 3.实验内容 编写程序完成处理机系统中的进程调度,要求采用时间片轮转调度算法。实验具体包括:首先确定进程控制块的内容,进程控制块的组成方式;然后完成进程创建原语和进程调度原语;最后编写主函数对所作工作进程测试。 4.提示与讲解 这个实验主要要考虑三个问题:如何组织进程、如何创建进程和如何实现处理器调度。 考虑如何组织进程,首先就要设定进程控制块的内容。进程控制块PCB记录各个进程执行时的情况。不同的操作系统,进程控制块记录的信息内容不一样。操作系统功能越强,软件也越庞大,进程控制块记录的内容也就越多。这里的实验只使用了必不可少的信息。一般操作系统中,无论进程控制块中信息量多少,信息都可以大致分为以下四类: ① 标识信息 每个进程都要有一个惟一的标识符,用来标识进程的存在和区别于其他进程。这个标识符是必不可少的,可以用符号或编号实现,它必须是操作系统分配的。在后面给出的参考程序中,采用编号方式,也就是为每个进程依次分配一个不相同的正整数。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值