嵌入式实时操作系统uc/OS-II第3章课后习题1-4

目的

    学习和理解实时操作系统

声明

  习题答案是笔者基于相关书籍和网上内容自己理解的,有不对或疑问的地方大家一起沟通

一. 什么是可剥夺性内核

CPU总是在处理处于就绪态任务中优先级最高的那个任务。即使当前CPU正在运行某个低优先级的任务,当高优先级的任务处于就绪态时,就会终止这个低优先级任务的运行,切换到处于就绪态的最高优先级的任务运行。“剥夺”在这个场景下得到充分体现。

扩展:与其对应的是不可剥夺性内核。最开始,处于就绪态优先级最高的任务开始运行,后面除非这个任务自己主动放弃CPU使用权,否则其它任务始终得不到运行(即使处于就绪态高优先级任务),当其放弃CPU使用权后,就会切换到就绪态优先级最高的任务开始运行,如此重复。

小结:嵌入式操作系统中如果选择不可剥夺性内核,由于需要任务主动放弃,所以其实时性就会差些,故大多都选择可剥夺性内核。

二.一个应用程序为什么一定要使用空闲任务

空闲任务:任务有五种工作状态,在某个时刻系统很可能没有处于就绪态的任务,如果没有空闲任务,系统运行哪个任务呢。所以对于UCOS系统就规定了这样一个任务(不允许删除)当系统处于上述场景时运行空闲任务

应用:可以在空闲任务的时候做一些比较费时间的事,例如打包数据,擦flash等。

三.统计任务是必须使用的吗?

不是必须的。该任务的目的:统计CPU的使用率,只是一个debug的功能。

四.什么叫做任务的优先权?uc/OS-II是用什么来描述任务优先权的?

操作系统运行在CPU上,只有一个CPU(不考虑多核),某一个时刻只能运行一个任务,到底要先运行哪个任务呢,所以需要给任务确定好优先级,以表明任务的重要程度,让操作系统基于某种规则来运行任务。 

uc/OS-II在创建任务的时候给任务指定优先级,任务控制块中有优先级成员。最多可以创建64个任务,数字越小优先级越高,并且系统中任务数量可以配置(默认将最低优先级给空闲任务,统计任务赋值给统计任务)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值