1.任务
任务通常指交派的工作,担负的责任。在现代计算机中,“任务”也是其基本工作单位的专业术语。一个简单的哲学思想——分而治之——即把一个大的问题分解成很多个相对简单,比较容易解决的小问题,小问题逐个解决了,大问题也就随之解决了。同样,在设计一个较为复杂的应用程序时,也通常把一个大型的任务分解成多个小任务,然后在计算机中通过运行小任务,达成最终完成大任务的目的。这种方法可以使系统并发地运行多个任务,从而提高处理器的利用率,加快程序的执行速度。
2.任务的优先级
在μC/OS-II系统中,因为系统只有一个CPU,所以当有多个任务需要运行时,操作系统必需在这些待运行任务中选择一个来运行。μC/OS-II采用了优先级抢占式规则,所以优先级的概念在μC/OS-II中非常重要。所谓优先级抢占,即系统中的每个任务都按照其任务的重要性分配一个唯一的优先级别,优先级别高的任务先运行,优先级别低的任务后运行。
由于可以在μC/OS-II中创建最多64个任务,因此任务的优先级别最多有64级,每个级别都用一个整数数字来表示,即0,1,2,…,63。数字越小,优先级别越高。
3.任务的状态
μC/OS-II是按照系统中只有一个CPU来设计的。在这种系统中,一个具体时刻只会有一个任务占用CPU,即处在运行状态,而其他任务只能处在其他状态。μC/OS-II中的任务共有五种状态,分别是睡眠状态、就绪状态、运行状态、等待状态、中断服务状态。在μC/OS-II系统的管理下,一个任务可以在五个不同的状态之间发生转换。(www.daowen.com)
4.任务堆栈
任务堆栈是任务的重要组成部分。所谓堆栈,就是在存储器中按数据“后进先出”的原则组织的连续存储空间。为了满足任务切换和响应中断时保存CPU寄存器中的内容及任务调用其他函数时的需要,每个任务都应该配有自己的堆栈。所有μC/OS-II任务的任务控制块中都含有一个指向该任务堆栈的指针。
5.任务控制块
μC/OS-II用来记录任务堆栈指针、任务的当前状态、任务的优先级别等一些与任务管理有关的属性的表就叫做任务控制块。任务控制块相当于一个任务的身份证,系统就是通过任务控制块来感知和管理任务的,没有任务控制块的任务不能被系统承认和管理。
6.任务调度
μC/OS-II的任务调度思想是“近似的每时每刻让优先级最高的就绪任务处于运行状态”。在具体做法上,它在系统或用户任务调用系统函数及执行中断服务程序结束时来调用调度器,以确定应该运行的任务并运行它。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。