最新嵌入式实时操作系统μCOS原理与实践1PPT课件.ppt
《最新嵌入式实时操作系统μCOS原理与实践1PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式实时操作系统μCOS原理与实践1PPT课件.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式实时操作系统嵌入式实时操作系统COSCOS原理原理与实践与实践1 1作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践引言:关于图书 1.专业说明考虑到各专业读者学习方向不同,有些已经学习过操作系统原理,对一般的操作系统原理有一定的认识,有些电子专业的读者并没有深入学习过操作系统原理,另外有些读者对C语言掌握的程度并不太高,因此本书采用由浅入深,层层推进的方在第一章给出实时操作系统的基础,为以后各章的学习打下基础,满足未学习过操作系统的读者,而学习过操作系统的读者也要掌握本章的内容,因为嵌入式实时操作系统
2、有其个性。代码的讲解上在第2章任务管理的部分尽量详尽,从第3章中断和时间管理开始,因为读者已经具备了或提高了C语言的能力,对读者已经掌握的内容就不赘述,但对新的难点仍给以详尽解析 作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践作者卢有亮作者卢有
3、亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践关于C/OS-II一一.要高效的开发嵌入式系统,就离不开嵌入式操作系要高效的开发嵌
4、入式系统,就离不开嵌入式操作系统,一方面,高实时性的操作系统软件是嵌入式软件的统,一方面,高实时性的操作系统软件是嵌入式软件的基本要求。另一方面,嵌入式软件开发要想走向标准化,基本要求。另一方面,嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。就必须使用多任务的操作系统。二二.C/OS.C/OS正是这样的操作系统,它是高实时性,多任正是这样的操作系统,它是高实时性,多任务的操作系统,且是源代码对非商业用途开放的操作系务的操作系统,且是源代码对非商业用途开放的操作系统统 三三.C/OS.C/OS适用于嵌入式开发,并已在各领域得到广泛适用于嵌入式开发,并已在各领域得到广泛的应用并获得认可
5、。在百度上搜索的应用并获得认可。在百度上搜索ucos,ucos,得到的信息条得到的信息条数约数约1,250,0001,250,000条。条。作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践章节介绍第一章是操作系统和嵌入式实时操作系统的基本原理。第二章是任务管理,是基本内容,需要对数据结构和源代码仔细体会。第三章是时间和中断管理,时间管理包括一些函数,中断管理主要是中断的流程。第四章、第五章是事件和消息部分,包含了各种事件和消息机制。第六章是内存管理。作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码
6、下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践第一章第一章 实时操作系统基础实时操作系统基础1.1 操作系统概述1.2 实时操作系统概述1.3任务1.4基于优先级的不可剥夺内核1.5同步与通信 作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.1 1.1 操作系统概述操作系统概述1.1.1 1.1.1 什么是操作系统什么是操作系统操作系统操作系统OS(Operating System)是裸机上的第)是裸机上的第一层软件。操作系统是计一层软件。操作系统是计算机系统中最重要的系统算机
7、系统中最重要的系统软件,是硬件的第一层封软件,是硬件的第一层封装与抽象,在计算机系统装与抽象,在计算机系统中占据着重要的地位,所中占据着重要的地位,所有其他的系统软件与应用有其他的系统软件与应用软件都依赖于操作系统的软件都依赖于操作系统的支持与服务。除提供编程支持与服务。除提供编程接口,操作系统还承担着接口,操作系统还承担着任务管理、事件管理和消任务管理、事件管理和消息通信、息通信、CPU管理、内存管理、内存管理、管理、IO管理等核心功能。管理等核心功能。作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.1
8、 1.1 操作系统概述操作系统概述1.1.2 1.1.2 操作系统基本功能操作系统基本功能1.任务管理任务管理任务是程序的一次执行。任务可以任务是程序的一次执行。任务可以分为系统任务和用户任务。系统任分为系统任务和用户任务。系统任务是操作系统本身的任务,如操作务是操作系统本身的任务,如操作系统的主程序,时钟中断服务程序,系统的主程序,时钟中断服务程序,如后面要讲到的空闲任务和统计任如后面要讲到的空闲任务和统计任务等。用户任务是用户应用程序的务等。用户任务是用户应用程序的运行,如用户设计的计算器软件的运行,如用户设计的计算器软件的一次执行或一次执行或WORD软件的运行,如软件的运行,如本书中给出
9、的一些用户任务。这些本书中给出的一些用户任务。这些任务都需要任务管理部分来管理。任务都需要任务管理部分来管理。2.CPU管理管理CPU管理的含义在于多任务管理的含义在于多任务OS对对CPU的分配,也就是分配对的分配,也就是分配对CPU的所有权,简单说,哪个软件正在的所有权,简单说,哪个软件正在运行,占有运行,占有CPU。可以把它归入任。可以把它归入任务管理。务管理。3.内存管理内存管理内存是任务的生存空间。内存管理内存是任务的生存空间。内存管理用于给任务分配内存空间,相应的,用于给任务分配内存空间,相应的,在任务结束后释放内存空间。在任务结束后释放内存空间。4.文件管理文件管理文件管理系统是实
10、现对文件的统一文件管理系统是实现对文件的统一管理,是对文件存储器的存储空间管理,是对文件存储器的存储空间进行组织,分配和回收,负责文件进行组织,分配和回收,负责文件的存储,检索,共享和保护。从用的存储,检索,共享和保护。从用户角度来看,文件系统主要是实现户角度来看,文件系统主要是实现按名取存按名取存,文件系统的用户只要,文件系统的用户只要知道所需文件的文件名,就可存取知道所需文件的文件名,就可存取文件中的信息,而无需知道这些文文件中的信息,而无需知道这些文件究竟存放在什么地方。件究竟存放在什么地方。5.IO设备管理设备管理管理系统中的各种硬件设备,如打管理系统中的各种硬件设备,如打印机,显示器
11、,硬盘等。很明显,印机,显示器,硬盘等。很明显,用户应用程序应该调用用户应用程序应该调用IO设备管理设备管理模块提供的模块提供的API来对设备进行操作,来对设备进行操作,而不是直接读写硬件。而不是直接读写硬件。作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.1.2 2实时操作系统概述实时操作系统概述实时操作系统RTOS(Real Time Operating System)是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,
12、并控制所有实时任务协调一致运行的操作系统。实时系统与非实时系统的本质区别就在于实时系统中的任务都有时间限制。1.2.1什么是实时操作系统什么是实时操作系统作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.1.2 2实时操作系统概述实时操作系统概述1.实时操作系统首先是多任务操作系统。2.多级中断机制。3.优先级调度机制。1.2.1实时操作系统基本特征实时操作系统基本特征作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.1
13、.3 3任务任务1.3.11.3.1任务任务任务是程序的动态表现,在操作系统中体现为线程,是程任务是程序的动态表现,在操作系统中体现为线程,是程序的一次执行过程。序的一次执行过程。程序是静止的,存在于ROM、硬盘等外部设备。任务是运动的,存在于内存中,有睡眠、就绪、运行、阻塞、挂起等多种状态。相同的程序的多次执行是可以的,就形成了多个优先级不同的任务,每一个都是独立的。在实时系统中,把应用程序的设计过程分割为多个任务务,每个任务都有自己的优先级优先级,在操作系统的调度下协调运行。作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时
14、操作系统原理与实践1.3任务任务1.3.1多任务多任务void usertask(void*pParam)INT8U i=0;for(;)printf(%dn,i);i+;OSTimeDly(100);作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.31.3任务任务1.3.11.3.1多任务多任务实时操作系统的是多任务的操作系统,系统中必然有多任实时操作系统的是多任务的操作系统,系统中必然有多任务在执行。其中有用户任务,如前面的务在执行。其中有用户任务,如前面的usertask,也有,也有操作系统的系统任
15、务如空闲任务和统计任务。多任务的运操作系统的系统任务如空闲任务和统计任务。多任务的运行相对于其他的系统,其优点是可以大大提高行相对于其他的系统,其优点是可以大大提高CPU的利的利用率,又必然使应用程序分成多个程序模块,实现模块化,用率,又必然使应用程序分成多个程序模块,实现模块化,应用程序更易于设计和维护。应用程序更易于设计和维护。在嵌入式应用的场合的多任务使用的例子是在一个在嵌入式应用的场合的多任务使用的例子是在一个ARM采集处理系统中,同时采集采集处理系统中,同时采集16路信号,同时又要对多信路信号,同时又要对多信号进行处理和传输,可以创建号进行处理和传输,可以创建16个任务负责个任务负责
16、16路信号的路信号的采集,创建一个任务对信号进行处理,再创建一个任务负采集,创建一个任务对信号进行处理,再创建一个任务负责数据的传输。责数据的传输。作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.1.3 3任务任务1.3.21.3.2多任务多任务作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.1.3 3任务任务1.3.31.3.3任务状态任务状态作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http
17、:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.31.3任务任务1.3.31.3.3任务状态任务状态1.睡眠态睡眠态任务已经被装入内存了,可是并没任务已经被装入内存了,可是并没有准备好运行。例如上面给出的有准备好运行。例如上面给出的usertask代码,以代码的形式存在代码,以代码的形式存在于内存中,在调用于内存中,在调用OSTaskCreate(任务创建函数)(任务创建函数)创建之前,处于睡眠态。睡眠态的创建之前,处于睡眠态。睡眠态的任务不会得到运行的,操作系统也任务不会得到运行的,操作系统也不会给其设置为运行而准备的数据不会给其设置为运行而准备的数据结构。结构。2.就绪态
18、就绪态当操作系统调用当操作系统调用OSTaskCreate创创建一任务后,任务就进入就绪态。建一任务后,任务就进入就绪态。从图从图1.4还可以看出,任务也可以还可以看出,任务也可以从其他状态转到就绪态。处于就绪从其他状态转到就绪态。处于就绪态的任务操作系统已经为其运行配态的任务操作系统已经为其运行配置好了任务控制块等数据结构,当置好了任务控制块等数据结构,当没有比其更高优先级的任务,或比没有比其更高优先级的任务,或比其优先级更高的任务处于阻塞状态其优先级更高的任务处于阻塞状态的时候,就能被操作系统调度而进的时候,就能被操作系统调度而进入运行态。从就绪态到运行态,操入运行态。从就绪态到运行态,操
19、作系统调用任务切换函数完成。作系统调用任务切换函数完成。3.运行态运行态任务真正占有任务真正占有CPU,得到运行。这时运行的代码就是任务的代码。,得到运行。这时运行的代码就是任务的代码。如如usertask。处于运行态的任务如果运行完成,就会转为睡眠态。处于运行态的任务如果运行完成,就会转为睡眠态。如果有更高优先级的任务抢占了如果有更高优先级的任务抢占了CPU,就会转到就绪态。如果因为,就会转到就绪态。如果因为等待某一事件,例如等待一秒钟的时间,如等待某一事件,例如等待一秒钟的时间,如OSTimeDly(OS_TICKS_PER_SEC),需要暂时放弃,需要暂时放弃CPU的使用权的使用权而让其
20、他任务得以运行,就进入了阻塞状态。当由于中断的到来而而让其他任务得以运行,就进入了阻塞状态。当由于中断的到来而使使CPU进入中断服务程序(进入中断服务程序(ISR),必然使正在运行的任务放弃),必然使正在运行的任务放弃CPU而转入中断服务程序,这时被中断的程序就被挂起而进入挂起而转入中断服务程序,这时被中断的程序就被挂起而进入挂起态。态。总之,任务要得到运行必须进入运行态,总之,任务要得到运行必须进入运行态,CPU只有一个不能让每个只有一个不能让每个任务同时进入运行态,进入运行态的任务有且只有一个。任务同时进入运行态,进入运行态的任务有且只有一个。4.阻塞态阻塞态阻塞对于操作系统的调度,任务的
21、协调运行是非常重要的。我们能阻塞对于操作系统的调度,任务的协调运行是非常重要的。我们能看到图看到图1.3的运行结果,而不是只有一个高优先级的任务得到运行,的运行结果,而不是只有一个高优先级的任务得到运行,就是因为就是因为usertask在没有事情可做,等待一秒钟的时候,不是强行在没有事情可做,等待一秒钟的时候,不是强行运行代码,而是把自己阻塞起来,使操作系统可以调度其他的任务。运行代码,而是把自己阻塞起来,使操作系统可以调度其他的任务。当任务在等待某些还没有被释放的资源,等待一定的时间等时候,当任务在等待某些还没有被释放的资源,等待一定的时间等时候,要阻塞起来,等到条件满足的时候再重新回到就绪
22、态,又能被操作要阻塞起来,等到条件满足的时候再重新回到就绪态,又能被操作系统调度以进入运行态,这是实时系统必须要实现的功能之一。系统调度以进入运行态,这是实时系统必须要实现的功能之一。一些不理解操作系统的同学在编程的时候,在等待的时候常常使用一些不理解操作系统的同学在编程的时候,在等待的时候常常使用FOR循环,不停的执行代码而使循环,不停的执行代码而使CPU的利用率暴增,使系统的运行的利用率暴增,使系统的运行环境十分恶劣,甚至造成死机,是不可取的环境十分恶劣,甚至造成死机,是不可取的5.挂起态挂起态当任务在运行时,因为中断的发生,例如定时器中断每个时钟滴当任务在运行时,因为中断的发生,例如定时
23、器中断每个时钟滴答(答(clock tick,指每个时钟周期)中断一次,而被剥夺指每个时钟周期)中断一次,而被剥夺CPU的使的使用权,而进入挂起态。在中断返回的时候,若该任务还是最高优用权,而进入挂起态。在中断返回的时候,若该任务还是最高优先级的,就恢复运行,如果不是这样,只能回到就绪态。先级的,就恢复运行,如果不是这样,只能回到就绪态。作者卢有亮作者卢有亮 图书图书PPT和全部代码下载和全部代码下载http:/ 嵌入式实时操作系统原理与实践嵌入式实时操作系统原理与实践1.31.3任务任务1.3.41.3.4任务切换任务切换 任务切换就是任务切换就是context switch,是任务调度的重
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 嵌入式 实时 操作系统 COS 原理 实践 PPT 课件
限制150内