发布时间:2021-10-28 15:39:43来源:有考培训网综合
长沙有没有好一点的嵌入式培训班?小编为大家推荐达内教育。嵌入式实时系统中由于多任务共享资源,通常会出现一些奇怪的现象。本文就什么是优先级反转及其产生原因进行分析,并提出2个行之有效的解决方案。接下来就和嵌入式培训班一起来看一下吧!
长沙有没有好一点的嵌入式培训班?
达内教育隶属于加拿大达内IT培训集团,于2002年成立 ,是达内IT培训集团直属学院。学院成立旨在建立软件高级人才培养的通道,促进我国信息产业迅速发展。依托达内集团国内持平的课程体系(TTS6.0),雄厚的师资力量,广阔的就业平台,迄今为止已与国内上万家IT企业进行人才输送合作,其中紧密合作企业4000余家、深入合作企业200余家、订单输送联盟企业107家。
什么是优先级反转?
RTOS普遍具有2个特点:实时性和多任务。实时是指系统的响应时间必须在规定的时间内,超出这个时间限制将会使系统出现致命的错误;同时,实时性还要求对时间要求非常急迫的任务要先于对时间不是很紧急的任务执行。正是由于这2个原因,RTOS的进程调度普遍采用的是基于优先级的可选择式PBP(Priority Based Preemptive)的调度策略。多任务是嵌入式系统的内在要求。
如今的嵌入式系统普遍要求具有多任务并发执行的能力,因此RTOS中也必须提供多任务并发执行的支持。由于多任务并发,必然会导致多个任务共享资源。如有2个任务task1和task2并发执行,都需要向打印机输出结果。由于只有1台打印机,所以在某个时间段内只能有1个任务,如task1占有打印机并向打印机输出,而这时另一个任务task2处于等待状态。当task1输出完毕后,task2由等待转为就绪,当RTOS再次调度它时,方可占有打印机向打印机输出。
试想如果不采取这种方式,不对打印机这种共享资源加以控制,而让task1和task2同时向打印机输出,这时候打印机打印的结果谁也看不懂,是一堆乱七八糟的东西。因此,大多数的RTOS采用了一种称作信号量(semaphore)的机制来实现对共享资源的管理。任何一个想使用临界资源(如打印机等共享资源)的进程在进入临界区(如task1或task2中访问临界资源的代码)之前必须拥有使用临界资源的信号量,否则不可以执行临界区代码。
假设系统中有3个任务,分别为task1、task2和task3。task1的优先权高于task2,而task2的优先权高于task3。恰在此时task1和task2 因某种原因被阻塞,这时候系统调度task3执行。task3执行一段时间后,task1被唤醒。由于采取的是PBP的调度策略,因此task1选择task3的CPU, task1执行。task1执行一段时间后要进入临界区,但此时task3占有此临界资源的信号量。
昆明达内嵌入式培训机构好不好?
深圳龙华嵌入式课程选择哪家?
西安达内嵌入式培训班好不好?
工程师应该如何选择嵌入式操作系统
重庆达内嵌入式培训费用是多少
深圳达内嵌入式培训机构靠谱吗?
更多培训课程: 长沙嵌入式 更多学校信息: 长沙岳麓区河西CBD达内IT教育培训 咨询电话: