进程有哪几种基本状态,在一个系统中为什么必须区分出这几种状态?

进程有三种基本状态:就绪状态、运行状态、等待状态。(又称阻塞、挂起、睡眠)

         并发执行中的其他进程有着相互制约的关系,它有时处于运行状态,有时由于某种原因而暂停运行,处于等待状态,当使他暂停的原因消失后,他又进入准备运行状态。所以必须区分出这几种状态。

转载于:https://www.cnblogs.com/luo841997665/p/4663597.html

在 Linux 5.15 版本进程调度有两个优先级队列,分别是针对实时进程和普通进程的优先级队列。两者都是使用红黑树来实现优先级队列。下面分别介绍一下这两个优先级队列。 1. 实时进程优先级队列 实时进程有两种调度策略,分别是 FIFO 和 Round-robin。其,FIFO 调度策略按照进程的优先级进行排序,优先级越高的进程越先获得 CPU 时间片,如果有多个优先级相同的进程,则按照先到先服务的原则进行调度。Round-robin 调度策略则是按照轮询的方式进行调度,每个进程在获得一定时间片后,就会被挂起,让其他进程获得 CPU 时间片。 实时进程优先级队列,有一个数组 `rt_rq`,每个数组元素表示一个实时进程的优先级队列。数组下标表示进程的优先级,优先级越高的进程在数组的下标越小。每个优先级队列都是一个红黑树,用于维护同一优先级的进程。 2. 普通进程优先级队列 普通进程也有两种调度策略,分别是 CFS 和 BFS。CFS 调度策略使用红黑树来维护进程的调度顺序,每个进程都有一个虚拟运行时间,进程的优先级和虚拟运行时间成反比,即虚拟运行时间越长,优先级越低,进程越容易被调度。BFS 调度策略则是按照进程的优先级进行排序,优先级越高的进程越先获得 CPU 时间片。 普通进程优先级队列,有一个数组 `rq`,每个数组元素表示一个普通进程的优先级队列。数组下标表示进程的优先级,优先级越高的进程在数组的下标越小。每个优先级队列都是一个红黑树,用于维护同一优先级的进程。 总之,Linux 5.15 版本进程调度有两个优先级队列,分别是针对实时进程和普通进程的优先级队列,都是使用红黑树来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值