嵌入式系统-chapter5-任务管理与调度

嵌入式系统-chapter5-任务管理与调度

ID:27681759

大小:1.36 MB

页数:153页

时间:2018-12-02

嵌入式系统-chapter5-任务管理与调度_第1页
嵌入式系统-chapter5-任务管理与调度_第2页
嵌入式系统-chapter5-任务管理与调度_第3页
嵌入式系统-chapter5-任务管理与调度_第4页
嵌入式系统-chapter5-任务管理与调度_第5页
资源描述:

《嵌入式系统-chapter5-任务管理与调度》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式系统及应用第五章任务管理与调度主要内容任务任务管理任务调度优先级反转HighPriorityTaskLowPriorityTaskTaskTaskTaskTaskTaskTaskEventEventEachTaskInfiniteLoopImportanceSplittinganapplicationintoTasksintmain(void){//InitializeuCOS-II.OSInit();//CreatethefirsttaskOSTaskCreate(TestTask1,(void*)11,&TestTaskStk

2、1[TASK_STK_SIZE],11);//Startmultitasking.OSStart();return0;}voidTestTask1(void*pdata){printf("%4u:*****TestTask1Firstcall*****",OSTime);//Create3othertasksOSTaskCreate(TestTask2,(void*)22,&TestTaskStk2[TASK_STK_SIZE],22);OSTaskCreate(TestTask3,(void*)33,&TestTaskStk3[T

3、ASK_STK_SIZE],33);OSTaskCreate(TestTask4,(void*)10,&TestTaskStk3[TASK_STK_SIZE],10);while(1){printf("%4u:*****TestTask11*****",OSTime);OSTimeDly(1);}}TaskdemobasedonuCOSvoidTestTask2(void*pdata){while(1){printf("%4u:*****TestTask22*****",OSTime);OSTimeDly(1);}}voidTe

4、stTask3(void*pdata){while(1){printf("%4u:*****TestTask33*****",OSTime);OSTimeDly(1);}}voidTestTask4(void*pdata){while(1){printf("%4u:+++++TestTask10+++++",OSTime);OSTaskSuspend(10);//Suspendyourself}}程序运行结果采用多任务的好处:任务的规模较小每个任务更容易编码和调试,其质量也更容易得到保证不少应用本身就是由多个任务构成的如一个应用

5、可能需要进行以下任务的处理:计算、从网络获取数据和刷新显示屏幕采用多任务的处理方式是应用问题的一个非常自然的解决方式任务之间具有较高的独立性,耦合性小通过增加新的任务就能方便的扩充系统功能实时性强保证紧急事件得到优先处理成为可能在嵌入式实时系统中任务(task)通常为进程(process)和线程(thread)的统称任务是调度的基本单位进程最初由Multics的设计者在60年代提出来的,主要包括以下内容:一个正在执行的程序;计算机中正在运行的程序的一个实例;可以分配给处理器,并由处理器执行的一个实体;由一个顺序的执行线程、一个当前状态和

6、一组相关的系统资源所刻画的活动单元。进程由代码、数据、堆栈和进程控制块构成。进程控制块包含了操作系统用来控制进程所需要的信息:进程状态CPU寄存器调度信息内存管理信息I/O状态信息等早期的进程,包含了以下两个方面的内容:资源。进程是资源分配的基本单位,一个进程包括一个保存进程映像的虚拟地址空间、主存、I/O设备和文件等资源。调度执行。进程作为操作系统的调度实体,是调度的基本单位。随着操作系统的发展,进程所包含的两个方面的内容逐渐被分开:轻量级进程或线程:调度执行的单位进程:资源分配的单位线程是进程内部一个相对独立的控制流,由线程上下文和

7、需要执行的一段程序指令构成在进程中,所有线程共享该进程的状态和资源,可以访问相同的数据使用线程的优势:创建:在一个已有进程中创建一个新线程比创建一个全新的进程所需的时间开销少;终止:终止一个线程比终止一个进程所花费的时间少;切换:线程切换比进程切换所花费的时间少;通信:使同一进程内部不同线程之间的通信效率得到显著提高。在大多数操作系统中,不同进程之间的通信需要内核的干预,而同一进程内部不同线程之间则可直接通信。引入线程的概念后,可把进程和线程的使用分为以下几种模型:单进程/单线程模型(如MS-DOS):整个系统只有一个进程、一个线程单进

8、程/多线程模型:在单进程/多线程模型中,整个系统有一个进程、多个线程多进程/单线程模型(如传统的UNIX):在多进程/单线程模型中,整个系统有多个进程,每个进程只有一个线程多进程/多线程模型(如Window

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。