进程调度的概念
进程调度是指系统中处于就绪状态的进程对处理机的竞争是由进程调度程序来协调的。
调度是依照确定的策略将一批进程排序,从就绪队列中移出一个进程并给它提供处理机的使用权。
进程调度基本属性:
1.多态性
2.多个不同的进程可以包括相同的程序
3.三种基本状态 它们之间可进行转换
进程调度基本状态:
1.等待态:等待某个事件的完成;
2.就绪态:等待系统分配处理器以便运行;
3.运行态:占有处理器正在运行。
运行态→等待态 往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。
等待态→就绪态 则是等待的条件已满足,只需分配到处理器后就能运行。
运行态→就绪态 不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。
例如时间片用完,或有更高优先级的进程来抢占处理器等。
就绪态→运行态 系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态
5g基站调度周期是什么
5G调度周期为1slot
1个slot固定包含14个符号,其长度不固定,与子载波间隔成反比,SCS=15kHz时,1个slot=1ms;SCS=30kHz时,1个slot=0.5ms;SCS=60kHz时,1个slot=0.25ms。。。。。。不一一枚举。
其实调度周期的叫法是不准确的,准确翻译为"调度延迟",原著是这么介绍的:
The kernel has a built-in notion of what it considers a good scheduling latency, that is, the interval
during which every runnable task should run at least once.---<Professional Linux Kernel Architecture>
意思是调度延迟是内核中的固有概念(不是固定值),他表示了一段时间,并且在这段时间内,所有的可被调度程序都应该至少被运行一次.
但是我认为这个说法极其令人费解,反正他没真正写明白,你看我说的你明白吗:
调度延时是单核并发所不得不面临的问题,以我们能理解的RR(想了半天,加上翻译吧,就是轮转调度)算法为例,假如我为每个进程都分配10ms的时间片(CFS没有时间片的概念),如果有10个进程,调度周期是就是100ms,而你再想,第一个进程用完时间片到他第二次拿到时间片的时间长度是不是也是100ms,这个时间我们称之为调度延时,所以说调度周期和调度延时值相同.理解了吧!
lr1lr2lr区别
区别是算法类型和应用方法不同:
1. LR1:LR1是一种一下子读入一个字符的分析算法。它是通过建立一种称为“LR(1)项”的表达式来实现的。这种算法适用于上下文无关文法,并且可以用于生成LR语法分析表。LR1算法在分析过程中只需一次读取输入字符,并且通过将语法分析表与输入进行比较来确定下一步应采取的动作。
2. LR2:LR2是一种读入两个字符的分析算法。与LR1相比,LR2可以更好地处理文法中的二义性。它通过建立一种称为“LR(2)项”的表达式来实现,其中包含了用于做出决策的额外信息。LR2算法可以在一个步骤中读取两个字符,并根据这两个字符以及额外信息来选择下一步应采取的动作,从而提高了对文法的分析能力。
3. LR:LR是一种比较通用的分析算法,可以应用于包括LR1和LR2在内的多种情况。LR算法的主要思想是建立一种称为“LR项”的表达式,它包含了用于做出决策的上下文信息。LR算法根据输入字符、上下文信息以及语法分析表来选择下一步应采取的动作。在LR算法中,可以根据需要选择读入一个或多个字符进行分析,并可以根据上下文信息的不同来选择不同的文法规则和动作。