除了系统任务外,还有优先级为5、9、13、21、27、35的任务处在就绪状态,那么 OSRdyGrp=( )、OSRdyTbl[0]=( )、OSRdyTbl[1]=( )、 OSRdyTbl[2]=( )。
时间: 2023-07-10 17:23:43 浏览: 34
根据您的描述,这是一个关于任务调度的问题。根据优先级分组的任务调度算法,6个任务可以分为3组,优先级分别为5和9、13和21、27和35。因此,OSRdyGrp应该为0x2D(二进制为00101101),表示第0、1、2组任务都处于就绪状态。而OSRdyTbl[0]、OSRdyTbl[1]、OSRdyTbl[2]应该分别为二进制的00000011、00001010、00100000,表示第0组有2个任务就绪,分别是优先级为5和9的任务;第1组有3个任务就绪,分别是优先级为13、21和21的任务;第2组只有一个任务就绪,优先级为35。
相关问题
如果系统允许的最大任务数为64,现有优先级为2、6、13、18、21 、23的用户任务处在就绪状态,那么 OSRdyGrp=( )、OSRdyTbl[0]=( ) 、OSRdyTbl[1]=( ) 、OSRdyTbl[2]= ( )。(采用16进制表 示,如0x55)解题过程
根据题意可知,有6个就绪任务,优先级分别为2、6、13、18、21、23。最大任务数为64,因此OSRdyGrp需要占用64/8=8个字节,即0x00~0x07。那么我们可以根据任务的优先级,计算出它们在OSRdyGrp和OSRdyTbl中的位置。
首先,OSRdyGrp表示当前就绪的任务组,每一位代表一组任务,从高位到低位,优先级递减。因此,我们需要将任务的优先级转换为对应的位数。对于优先级为x的任务,它在OSRdyGrp中的位置为x/8,具体到字节上就是第x/8个字节,从左往右数第x%8位(从0开始数)。例如,优先级为13的任务在OSRdyGrp中的位置为13/8=1,具体位置为第1个字节的第5位(从左往右数第4位)。
按照上述方法,可以得到每个任务在OSRdyGrp中的位置:
- 优先级为2的任务:第0个字节的第2位
- 优先级为6的任务:第0个字节的第6位
- 优先级为13的任务:第1个字节的第5位
- 优先级为18的任务:第2个字节的第2位
- 优先级为21的任务:第2个字节的第5位
- 优先级为23的任务:第2个字节的第7位
因此,OSRdyGrp的值为0x44 28 00 00 00 00 00 00。
接下来,我们需要计算OSRdyTbl。OSRdyTbl是一个长度为3的数组,每个元素都是一个32位无符号整数,表示一组任务的状态。具体来说,每个元素的第i位表示优先级为i+32*k的任务是否就绪,其中k为数组下标。因此,我们需要将每个任务的优先级转换为对应的数组下标和位数。
对于优先级为x的任务,它在OSRdyTbl中的位置为x/32,具体到数组元素上就是第x/32个元素,从左往右数第x%32位(从0开始数)。例如,优先级为23的任务在OSRdyTbl中的位置为23/32=0,具体位置为第0个元素的第23位(从左往右数第22位)。
按照上述方法,可以得到每个任务在OSRdyTbl中的位置:
- 优先级为2的任务:第0个元素的第2位
- 优先级为6的任务:第0个元素的第6位
- 优先级为13的任务:第0个元素的第13位
- 优先级为18的任务:第0个元素的第18位
- 优先级为21的任务:第0个元素的第21位
- 优先级为23的任务:第0个元素的第23位
因此,OSRdyTbl的值为0x00000084 00002000 00000000。注意,由于我们使用的是小端字节序,因此每个32位整数的字节顺序是反的。
欲使优先级为22的任务进入就绪态,设置就绪表。 目前OSRdyGrp=(0011 1101); OSRdyTbl[2]=(1000 0000) 则OSRdyGrp和 OSRdyTbl[2]的值将变为()。 A00111111,11000000 B00111101,11100000 C00111101,10000000 D00111101,11000000
根据题目描述,优先级为22的任务应该位于OSRdyTbl[2]的第6位,因此需要将OSRdyTbl[2]的值修改为11000000,这样就可以将优先级为22的任务设置为就绪态了。同时,由于OSRdyTbl[2]的值发生了变化,OSRdyGrp的值也需要进行相应的修改。根据OSRdyTbl的定义,OSRdyGrp的值应该等于OSRdyTbl中所有位的或运算结果,因此OSRdyGrp的值将变为0011111011000000,即选项D。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)