第4章C55x处理器的软件设计 4.1.2应用嵌入式操作系统 1.不可剥夺型内核 不可剥夺型内核要求每个任务主动放弃CPU使用权,这种任 务的调度方法也可以叫做合作型多任务,每个任务相互合作,共 享一个CPU. 不可剥夺型内核中的异步事件由中断服务来处理,中断服 务可以使一个高优先级的任务由挂起态变为就绪态;但在中断服 务之后,CPU的使用权还给原来被中断的任务,直到该任务主动 放弃CPU的使用权,一个高优先级的任务才能进入运行态。 2010年7月18日 TMS320C55xDSP原理及应用 11
第4章C55x处理器的软件设计 4.1.2应用嵌入式操作系统 1.不可剥夺型内核 这种内核的优点是响应中断快,采用不可剥夺型内核允 许任务使用不可重入函数,每个任务调用不可重入型函数不 必担心其他任务可能使用该函数而造成数据破坏。使用不可 剥夺型内核时,任务的响应时间取决于最长任务的执行时间 。使用该内核很少需要使用信号量保护共享数据,这是因为 正在运行的任务不必担心其他任务抢占CPU;但如果任务使用 共享设备时,还应使用互斥型信号量。 2010年7月18日 TMS320C55xDSP原理及应用 12
第4章C55x处理器的软件设计 4.1.2应用嵌入式操作系统 1.不可剥夺型内核 不可剥夺型内核的缺点是响应时间具有不确定性,无法确 定最高优先级的任务何时能够获得CPU的使用权。 2.可剥夺型内核 可剥夺型内核运行时,一旦具有最高优先级的任务就绪, 就总能得到CPU的使用权。当有一个具有更高优先权的任务进入 就绪态时,当前运行的任务将被挂起,更高级的任务立刻得到 CPU的使用权。 2010年7月18日 TMS320C55xDSP原理及应用 13
第4章C55x处理器的软件设计 4.1.2应用嵌入式操作系统 2.可剥夺型内核 如果是中断服务子程序使一个高优先级的任务 进入就绪状态,中断完成后,被中断的任务被挂起, 开始运行更高级的任务。使用可剥夺型内核可以随时 执行最高级任务,这使得任务的响应时间得以最优化 。使用可剥夺内核要求应用程序不应直接使用不可重 入函数,如果要使用则应满足互斥条件。 2010年7月18日 TMS320C55xDSP原理及应用 14
第4章C55x处理器的软件设计 4.1.2应用嵌入式操作系统 内核的主要工作是完成任务的调度,任务也可称 作线程,是一个简单的程序,该程序认为CPU完全属 于自己。操作系统要求把系统所要完成的工作分解为 多个任务,每个任务都是应用的一部分。任务都被赋 予一定的优先级,并拥有自己的一套CPU寄存器和堆 栈空间。 2010年7月18日 TMS320C55xDSP原理及应用 15