嵌入式操作系统实验报告
发布时间:2024-11-08
发布时间:2024-11-08
嵌入式操作系统实验报告
2014 年 10 月 27 日
6.
t3 时刻, 任务 TA0 延时到期, 任务 TA0 的优先级高于任务 TA1 的优先级, 所以任务 TA0 立刻抢占执行, 任务 TA1 由执行态转为就绪态, 任务 TA0 申请二值信号量 mutex 被阻赛;
7.
t4 时刻, 任务 TA1 由就绪态转回为执行态; 此时 TA0 在等待 TA2 保持的 mutex , 而 TA2 又因为优先级低于 TA1 被阻塞。如果 TA1 一直执行而 TA2 没有机会被调度的话,那么 TA2 将一直等到 TA1 执行完后才能执行,而 TA0 更要等到 TA2 释放它所占有的信号量 资源后才能执行,这样就出现了优先级高的 TA0 任务等待优先级低的 TA1 任务的现象;
8.
t5 时刻,任务 TA1 挂起自己,而 TA0 又因
为申请二值信号量 mutex 而处于阻塞状态, 所以任务 TA2 由就绪态转为执行态,任务 TA2 释放信号量 mutex;
9.
t6 时刻, TA0 获得信号量并立刻抢占执行,任务 TA2 由执行态转为就绪态;
10. t7 时刻,任务 TA0 将自己延时一段时间,而 TA1 仍然处于挂起状态, TA2 是当前最高 优先级的就绪任务,它又转为执行状态,任务 TA2 因申请二值信号量 mutex 而阻塞; 11. t8 时刻,任务 TA1 延时到期转为执行态,任务 TA1 又因等待一个事件而阻塞; 12. t9 时刻,任务 TA0 延时到,释放二值信号量 mutex, mutex 被 TA2 得到后,内核自动 切换任务; 13. t10 时刻,在就绪队列中, TA0 优先级最高, TA0 执行,又因为任务 TA0 等待一事件而 阻塞; 14. t11 时刻,任务 TA1 延时到期,立刻抢占执行,又由于任务 TA1 等待一事件而阻塞; 15. t12 时刻,任务 TA2 执行,保持信号量 mutex;以后系统再次出现优先级反转现象; 16. 系统如此周而复始地运行 分析与体会: 了解嵌入式实时操作系统 uC/OS-II 的内核机制和运行原理。本实验系统展示了 uC/OS-II 信号量、队列、内存、时钟等,介绍了 uC/OS-II 的相关函数。在做实验的同时,了解各个函数 的作用和嵌入式应用程序的设计方法, 对整个 uC/OS-II 和嵌入式操作系统的应用有了一定的认 识。
实验指导教师
实验成绩