嵌入式μCOSII内核实验三优先级继承PPT学习教案
本资源摘要信息主要讲述了嵌入式μCOSII内核实验三优先级继承的学习教案,涵盖了优先级继承的原理、实验设计、操作系统配置、互斥信号量的使用、任务创建和同步机制等方面的知识点。
一、优先级继承的原理
优先级继承是解决优先级反转问题的一种策略,当高优先级任务因申请某共享资源失败被阻塞时,把当前拥有该资源的、且优先级较低的任务的优先级提升,提升的高度等于这个高优先级任务的优先级(可以指定一个PIP)。这样可以确保高优先级任务能够正常执行,不会因为资源竞争而被阻塞。
二、实验设计
实验设计了三个应用任务竞争同一互斥资源mutex,使用mutex时采用优先级继承策略,PIP(优先级继承优先级)为8。实验的主要思想是:任务A申请共享资源S,任务B占用资源S,任务A被挂起,优先级提升到PIP,B释放资源,并恢复原来的优先级,等待队列中优先级最高的任务获得资源,任务A继续执行。
三、操作系统配置
操作系统配置包括定义了任务优先级的最大值OS_LOWEST_PRIO、最大任务数OS_MAX_TASKS、最大事件数OS_MAX_EVENTS、互斥信号量的使用OS_MUTEX_EN、任务优先级的改变OS_TASK_CHANGE_PRIO_EN、时钟节拍数目的设置OS_TICKS_PER_SEC等。
四、互斥信号量的使用
互斥信号量的使用是通过OSMutexCreate()函数创建的,用于保护共享资源,防止多个任务同时访问该资源。OSMutexPend()函数用于申请互斥信号量,OSMutexPost()函数用于释放互斥信号量。
五、任务创建和同步机制
任务创建使用OSTaskCreate()函数,用于创建新的任务。任务同步机制包括OSTimeDlyHMSM()函数,用于将任务延迟若干时间。
六、应用初始化
应用初始化包括安装时钟中断服务例程、初始化操作系统时钟、创建应用任务等步骤。
七、源程序说明
源程序说明包括任务Start的初始化、应用任务的创建、互斥信号量的使用、任务同步机制的实现等方面的知识点。