操作系统——进程调度算法与死锁

本文深入探讨操作系统中的进程调度算法,包括先来先服务、短作业优先、高优先权、高响应比优先、时间片轮转和多级队列等策略,并分析其优缺点。接着,讨论死锁的概念、产生原因、必要条件和处理方法,重点介绍银行家算法。最后,简要介绍了Linux中四种锁机制:互斥锁、读写锁、自旋锁和RCU。

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

进程调度算法

先来先服务算法

每次调度都是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机。

短作业(进程)优先调度算法

以作业或进程执行时间的长短来计算优先级,所需时间越少,优先级越高。

缺点:
a. 必须预知作业的运行时间;
b. 对长作业不利;
c. 人机无法交互;
d. 未考虑作业的紧迫程度。

高优先权调度算法

基于作业的紧迫程度,由外部赋予进程相应的优先级。可以保证紧迫的作业优先运行。

非抢占式调度算法
抢占式调度算法

优先级的类型

静态优先级
动态优先级

高响应比优先调度算法

高响应比优先调度算法,同时考虑了进程的等待时间和进程的执行时间。

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

由于进程的等待时间和服务时间之和就是响应时间,故优先级又相当于响应比:

Rp = (等待时间 + 要求服务时间) / 要求服务时间 = 相应时间 / 要求服务时间

时间片轮转算法

就绪队列中的每次进程每次仅运行一个时间片。
当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证就绪队列中的所有进程在一给定的时间内均能获得一时间片的处理机执行时间。换言之,系统能在给定的时间内响应所有用户的请求。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值