嵌入式系统课件:第九讲.ppt

上传人(卖家):罗嗣辉 文档编号:2040510 上传时间:2022-01-19 格式:PPT 页数:65 大小:3.67MB
下载 相关 举报
嵌入式系统课件:第九讲.ppt_第1页
第1页 / 共65页
嵌入式系统课件:第九讲.ppt_第2页
第2页 / 共65页
嵌入式系统课件:第九讲.ppt_第3页
第3页 / 共65页
嵌入式系统课件:第九讲.ppt_第4页
第4页 / 共65页
嵌入式系统课件:第九讲.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

1、CHAPTER 9嵌入式系统软件及嵌入式系统软件及操作系统基础操作系统基础2022-1-192内容提要内容提要嵌入式软件基础嵌入式软件基础嵌入式操作系统基础嵌入式操作系统基础嵌入式系统的任务管理嵌入式系统的任务管理嵌入式系统的存储管理嵌入式系统的存储管理I/O设备管理设备管理2022-1-193内容提要内容提要嵌入式软件基础嵌入式软件基础嵌入式操作系统基础嵌入式操作系统基础嵌入式系统的任务管理嵌入式系统的任务管理嵌入式系统的存储管理嵌入式系统的存储管理I/O设备管理设备管理2022-1-194嵌入式软件的特点嵌入式软件的特点o 应用在嵌入式计算机系统当中的各种软件统称为嵌入式软应用在嵌入式计算

2、机系统当中的各种软件统称为嵌入式软件,作为嵌入式系统的一个组成部分,目前嵌入式软件的件,作为嵌入式系统的一个组成部分,目前嵌入式软件的种类和规模都得到了极大的发展,形成了一个完整、独立种类和规模都得到了极大的发展,形成了一个完整、独立的体系。除了具有通用软件的一般特性,同时还具有一些的体系。除了具有通用软件的一般特性,同时还具有一些与嵌入式系统密切相关的特点:与嵌入式系统密切相关的特点:n(1)规模较小)规模较小o 嵌入式系统的资源有限,要求嵌入式软件必须尽可能地精简。嵌入式系统的资源有限,要求嵌入式软件必须尽可能地精简。n(2)开发难度大)开发难度大o 硬件资源的限制、涉及到底层软件的开发、

3、运行环境和开发环硬件资源的限制、涉及到底层软件的开发、运行环境和开发环境复杂境复杂n(3)高实时性和可靠性要求)高实时性和可靠性要求o 具有实时处理的能力是许多嵌入式系统的基本要求具有实时处理的能力是许多嵌入式系统的基本要求n(4)软件固化存储)软件固化存储o 嵌入式系统中的软件一般都固化在存储器芯片或微处理器中嵌入式系统中的软件一般都固化在存储器芯片或微处理器中2022-1-195嵌入式软件的分类嵌入式软件的分类o 1系统软件系统软件n控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件,控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件,如设备驱动程序、嵌入式操作系统、嵌入式中间

4、件等。如设备驱动程序、嵌入式操作系统、嵌入式中间件等。o 2应用软件应用软件n应用软件是嵌入式系统功能的体现,它定义了嵌入式设备的主要功应用软件是嵌入式系统功能的体现,它定义了嵌入式设备的主要功能和用途,并负责与用户进行交互。如手机软件、能和用途,并负责与用户进行交互。如手机软件、MP3播放软件、播放软件、电子地图软件等,一般面向于特定的应用领域。电子地图软件等,一般面向于特定的应用领域。o 3支撑软件支撑软件n支撑软件指辅助软件开发的工具软件,如系统分析设计工具、在线支撑软件指辅助软件开发的工具软件,如系统分析设计工具、在线仿真工具、交叉编译器、源程序模拟器和配置管理工具等。仿真工具、交叉编

5、译器、源程序模拟器和配置管理工具等。o 在嵌入式系统当中,系统软件和应用软件运行在目标平台的(即在嵌入式系统当中,系统软件和应用软件运行在目标平台的(即嵌入式设备上),而对于各种软件开发工具来说,它们大部分都嵌入式设备上),而对于各种软件开发工具来说,它们大部分都运行在开发平台(运行在开发平台(PC机)上,运行机)上,运行Windows或或Linux操作系统。操作系统。2022-1-196嵌入式软件的体系结构嵌入式软件的体系结构o 1无操作系统的嵌入式软件无操作系统的嵌入式软件n早期在嵌入式系统的应用范围主要集中在控制领域,硬件的早期在嵌入式系统的应用范围主要集中在控制领域,硬件的配置比较低,

6、嵌入式软件的设计主要是以应用为核心,应用配置比较低,嵌入式软件的设计主要是以应用为核心,应用软件直接建立在硬件上,没有专门的操作系统,软件的规模软件直接建立在硬件上,没有专门的操作系统,软件的规模也很小。主要有循环轮转和中断(前后台)两种实现方式。也很小。主要有循环轮转和中断(前后台)两种实现方式。n(1)循环轮转方式)循环轮转方式o 把系统的功能分解为若干个不同的任务,放置在一个永不结束把系统的功能分解为若干个不同的任务,放置在一个永不结束的循环语句当中,按照时间顺序逐一执行。当程序执行完一轮的循环语句当中,按照时间顺序逐一执行。当程序执行完一轮后,又回到程序的开头重新执行,循环不断。后,又

7、回到程序的开头重新执行,循环不断。o 循环轮转方式的程序简单、直观、开销小、可预测。不需要任循环轮转方式的程序简单、直观、开销小、可预测。不需要任务之间的调度和切换,其程序的代码都是固定的,函数之间的务之间的调度和切换,其程序的代码都是固定的,函数之间的调用关系也是明确的,整个系统的执行过程是可预测的。调用关系也是明确的,整个系统的执行过程是可预测的。n循环轮转方式的缺点是程序必须按顺序执行,无法处理异步循环轮转方式的缺点是程序必须按顺序执行,无法处理异步事件,缺乏并行处理的能力。缺乏硬件上的时间控制机制,事件,缺乏并行处理的能力。缺乏硬件上的时间控制机制,无法实现定时功能。无法实现定时功能。

8、 2022-1-197嵌入式软件的体系结构嵌入式软件的体系结构o 1无操作系统的嵌入式软件无操作系统的嵌入式软件n(2)中断方式)中断方式o 中断方式又称为前后台系统形式,系统在循环轮转方式的基础中断方式又称为前后台系统形式,系统在循环轮转方式的基础上增加了中断处理功能。上增加了中断处理功能。ISR(Interrupt Service Routine,中断服务程序)负责处理异步事件,即前台程序,中断服务程序)负责处理异步事件,即前台程序(foreground),也称为事件处理级程序。而后台程序),也称为事件处理级程序。而后台程序(background)是一个系统管理调度程序,一般采用的是一)是

9、一个系统管理调度程序,一般采用的是一个无限的循环形式,负责掌管整个嵌入式系统软、硬件资源的个无限的循环形式,负责掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度。后台程序也称为任务级程序。一分配、管理以及任务的调度。后台程序也称为任务级程序。一般情形下,后台程序会检查每个任务是否具备运行条件,通过般情形下,后台程序会检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。而一些对实时性有要求的一定的调度算法来完成相应的操作。而一些对实时性有要求的操作通常由中断服务程序来完成,大多数的中断服务程序只做操作通常由中断服务程序来完成,大多数的中断服务程序只做一些最基本的操作,如标记

10、中断事件的发生等,其余的事情会一些最基本的操作,如标记中断事件的发生等,其余的事情会延迟到后台程序去完成。延迟到后台程序去完成。2022-1-198嵌入式软件的体系结构嵌入式软件的体系结构o 2有操作系统的嵌入式软件有操作系统的嵌入式软件n从从20世纪世纪80年代开始,操作系统出现在嵌入式系统上。如年代开始,操作系统出现在嵌入式系统上。如今,嵌入式操作系统在嵌入式系统中广泛应用,尤其是在功今,嵌入式操作系统在嵌入式系统中广泛应用,尤其是在功能复杂、系统庞大的应用中显得愈来愈重要。在应用软件开能复杂、系统庞大的应用中显得愈来愈重要。在应用软件开发时,程序员不是直接面对嵌入式硬件设备,而是采用一些

11、发时,程序员不是直接面对嵌入式硬件设备,而是采用一些嵌入式软件开发环境,在操作系统的基础上编写程序。嵌入式软件开发环境,在操作系统的基础上编写程序。n在控制系统中,采用前后台系统体系结构的软件,在遇到强在控制系统中,采用前后台系统体系结构的软件,在遇到强干扰时,可能会使应用程序产生异常、出错,甚至死循环的干扰时,可能会使应用程序产生异常、出错,甚至死循环的现象,从而造成系统的崩溃。而采用嵌入式操作系统管理的现象,从而造成系统的崩溃。而采用嵌入式操作系统管理的系统,在遇到强干扰时,可能只会引起系统中的某一个进程系统,在遇到强干扰时,可能只会引起系统中的某一个进程被破坏,但这可以通过系统的监控进程

12、对其进行修复,系统被破坏,但这可以通过系统的监控进程对其进行修复,系统具有自愈能力,不会造成系统崩溃。具有自愈能力,不会造成系统崩溃。n嵌入式操作系统本身是可以剪裁的,嵌入式系统外设、相关嵌入式操作系统本身是可以剪裁的,嵌入式系统外设、相关应用也可以配置,所开发的应用软件可以在不同的应用环境、应用也可以配置,所开发的应用软件可以在不同的应用环境、不同的处理器芯片之间移植,软件构件可复用,有利于系统不同的处理器芯片之间移植,软件构件可复用,有利于系统的扩展和移植。的扩展和移植。2022-1-199嵌入式软件的体系结构嵌入式软件的体系结构o 2有操作系统的嵌入式软件有操作系统的嵌入式软件n嵌入式软

13、件的体系结构图如图所示。嵌入式软件的体系结构图如图所示。2022-1-1910嵌入式系统的设备驱动嵌入式系统的设备驱动o嵌入式系统的设备驱动层用来完成嵌入式系统硬件设备所需要的一些软嵌入式系统的设备驱动层用来完成嵌入式系统硬件设备所需要的一些软件初始化和管理。直接对硬件进行管理和控制,并为上层软件提供所需件初始化和管理。直接对硬件进行管理和控制,并为上层软件提供所需驱动支持。驱动支持。o1板级支持包板级支持包n设备驱动层也称为设备驱动层也称为BSP(Board Support Package),在,在BSP中中把所有与硬件相关的代码都封装起来,为操作系统提供一个虚拟的把所有与硬件相关的代码都封

14、装起来,为操作系统提供一个虚拟的硬件平台。硬件平台。BSP中,使用一组定义好的编程接口进行交互,并通过中,使用一组定义好的编程接口进行交互,并通过BSP来访问真正的硬件。来访问真正的硬件。BSP类似于类似于PC系统中的系统中的BIOS和驱动程序,和驱动程序,把嵌入式操作系统与具体的硬件平台隔离开。把嵌入式操作系统与具体的硬件平台隔离开。n一般来说,一般来说,BSP是针对某个特定的单板而设计的,系统都会提供相是针对某个特定的单板而设计的,系统都会提供相应的演示版本的应的演示版本的BSP(最小系统(最小系统BSP)。)。BSP对于用户是开放的,对于用户是开放的,用户可以根据不同的硬件需求对其进行改

15、动或二次开发。在实际开用户可以根据不同的硬件需求对其进行改动或二次开发。在实际开发一个嵌入式系统的时候,通常可以找到一个与自己的硬件系统相发一个嵌入式系统的时候,通常可以找到一个与自己的硬件系统相近的演示版本的近的演示版本的BSP,并以此为基础,进行修改和完善,以适应不,并以此为基础,进行修改和完善,以适应不同单板的需求。同单板的需求。BSP主要包括主要包括BootLoader(引导加载程序)和设(引导加载程序)和设备驱动程序两个方面的内容。备驱动程序两个方面的内容。n对于不同的嵌入式操作系统,对于不同的嵌入式操作系统,BSP的具体结构和组成是不相同的。的具体结构和组成是不相同的。2022-1

16、-1911嵌入式系统的设备驱动嵌入式系统的设备驱动o2 BootLoader (引导加载程序)(引导加载程序)nBootLoader是在操作系统内核运行之前运行的一小段程序。通过这段程是在操作系统内核运行之前运行的一小段程序。通过这段程序,初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境序,初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境设置到一个合适的状态,以便为最终调用操作系统内核做好准备。即用来设置到一个合适的状态,以便为最终调用操作系统内核做好准备。即用来完成整个系统的加载启动任务。通常在系统上电或复位时,完成整个系统的加载启动任务。通常在系统上电或复位时,Bo

17、otLoader程序从地址程序从地址0 x00000000处开始执行。处开始执行。nBootLoader的功能与嵌入式系统的硬件平台直接相关,不同的的功能与嵌入式系统的硬件平台直接相关,不同的CPU体系体系结构和板级设备配置,结构和板级设备配置,BootLoader的功能不同。一般来说,主要包含片的功能不同。一般来说,主要包含片级初始化、板级初始化和加载内核等基本功能。级初始化、板级初始化和加载内核等基本功能。n(1)片级初始化)片级初始化o片级初始化是一个纯硬件的初始化过程,把微处理器从上电时的默认状态逐步片级初始化是一个纯硬件的初始化过程,把微处理器从上电时的默认状态逐步设置成系统所要求的

18、工作状态。片级初始化主要完成设置微处理器的核心寄存设置成系统所要求的工作状态。片级初始化主要完成设置微处理器的核心寄存器和控制寄存器、微处理器的核心工作模式及其局部总线模式等初始化。器和控制寄存器、微处理器的核心工作模式及其局部总线模式等初始化。n(2)板级初始化)板级初始化o板级初始化是一个同时包含有软件和硬件在内的初始化过程,通过正确地设置板级初始化是一个同时包含有软件和硬件在内的初始化过程,通过正确地设置各种寄存器的内容来完成微处理器以外的其他硬件设备的初始化。例如,初始各种寄存器的内容来完成微处理器以外的其他硬件设备的初始化。例如,初始化化LED显示设备、定时器、串口通信和内存控制器,

19、建立内存空间的地址映射,显示设备、定时器、串口通信和内存控制器,建立内存空间的地址映射,设置中断控制寄存器和某些软件的数据结构和参数等。设置中断控制寄存器和某些软件的数据结构和参数等。n(3)加载内核)加载内核o将操作系统和应用程序的映像从将操作系统和应用程序的映像从Flash存储器复制到系统的内存当中,然后跳转存储器复制到系统的内存当中,然后跳转到系统内核的第一条指令处继续执行。到系统内核的第一条指令处继续执行。2022-1-1912嵌入式系统的设备驱动嵌入式系统的设备驱动o3设备驱动程序设备驱动程序n在一个嵌入式系统中,可以没有操作系统,但设备驱动程序是必不在一个嵌入式系统中,可以没有操作

20、系统,但设备驱动程序是必不可少的。设备驱动程序是一组库函数,用来对硬件进行初始化和管可少的。设备驱动程序是一组库函数,用来对硬件进行初始化和管理,并向上层软件提供访问接口。理,并向上层软件提供访问接口。n不同功能的硬件设备,它们的设备驱动程序是不同的。但大多数的不同功能的硬件设备,它们的设备驱动程序是不同的。但大多数的设备驱动程序都具有硬件启动(初始化)、硬件关闭(关机)、硬设备驱动程序都具有硬件启动(初始化)、硬件关闭(关机)、硬件停用(暂停)、硬件启用(重新启用)、读操作(读取数据)、件停用(暂停)、硬件启用(重新启用)、读操作(读取数据)、写操作(写入数据)等基本功能。写操作(写入数据)

21、等基本功能。n设备驱动程序通常可以完成一些特定的功能,这些功能一般采用函设备驱动程序通常可以完成一些特定的功能,这些功能一般采用函数的形式来实现,这些函数有分层结构和混合结构两种组织结构形数的形式来实现,这些函数有分层结构和混合结构两种组织结构形式。式。n在分层结构中,设备驱动程序中的函数分为硬件接口和调用接口两在分层结构中,设备驱动程序中的函数分为硬件接口和调用接口两种类型。硬件接口直接跟硬件打交道的,直接操作和控制硬件设备;种类型。硬件接口直接跟硬件打交道的,直接操作和控制硬件设备;调用接口调用硬件接口当中的函数,与上层软件(包括操作系统、调用接口调用硬件接口当中的函数,与上层软件(包括操

22、作系统、中间件和应用软件)打交道的。分层结构把所有与硬件有关的细节中间件和应用软件)打交道的。分层结构把所有与硬件有关的细节都封装在硬件接口当中,在硬件要升级时,只需要改动硬件接口当都封装在硬件接口当中,在硬件要升级时,只需要改动硬件接口当中的函数即可,而上层接口当中的函数不用做任何修改。中的函数即可,而上层接口当中的函数不用做任何修改。n在混合结构中,上层接口和硬件接口的函数是混在一起、相互调用在混合结构中,上层接口和硬件接口的函数是混在一起、相互调用的,之间没有明确的层次关系。的,之间没有明确的层次关系。2022-1-1913嵌入式中间件嵌入式中间件o中间件是一种软件平台技术,在银行、证券

23、、电信等行业的大型计算机中间件是一种软件平台技术,在银行、证券、电信等行业的大型计算机应用系统中广泛应用。近年来,中间件技术也被引入到嵌入式系统的设应用系统中广泛应用。近年来,中间件技术也被引入到嵌入式系统的设计中,并与实时多任务操作系统紧密结合。利用中间件技术可以使用户计中,并与实时多任务操作系统紧密结合。利用中间件技术可以使用户把精力集中到系统功能的实现上,实现嵌入式系统的软硬件协同设计。把精力集中到系统功能的实现上,实现嵌入式系统的软硬件协同设计。 o嵌入式中间件是指不包括操作系统内核、设备驱动程序和应用软件在内嵌入式中间件是指不包括操作系统内核、设备驱动程序和应用软件在内的所有系统软件

24、。嵌入式中间件把原本属于应用软件层的一些通用的功的所有系统软件。嵌入式中间件把原本属于应用软件层的一些通用的功能模块抽取出来,形成独立的一层软件,为应用软件提供一个灵活、安能模块抽取出来,形成独立的一层软件,为应用软件提供一个灵活、安全、移植性好、相互通信、协同工作的平台。全、移植性好、相互通信、协同工作的平台。o嵌入式中间件可以分为消息中间件、对象中间件、远程过程调用嵌入式中间件可以分为消息中间件、对象中间件、远程过程调用(Remote Procedure Calls,RPC)、数据库访问中间件、安全中间、数据库访问中间件、安全中间件等不同的类型。件等不同的类型。o一些公司可提供嵌入式中间件

25、集成解决方案,如一些公司可提供嵌入式中间件集成解决方案,如Sun公司的嵌入式公司的嵌入式Java,微软公司的,微软公司的.NET Compact Frame-work,OMG(Object Management Group)的嵌入式的嵌入式CORBA等。等。2022-1-1914内容提要内容提要嵌入式软件基础嵌入式软件基础嵌入式操作系统基础嵌入式操作系统基础嵌入式系统的任务管理嵌入式系统的任务管理嵌入式系统的存储管理嵌入式系统的存储管理I/O设备管理设备管理2022-1-1915嵌入式操作系统的功能嵌入式操作系统的功能o 嵌入式系统的操作系统称为嵌入式系统的操作系统称为EOS(Embedded

26、 Operating System,嵌入式操作系统,嵌入式操作系统),EOS的基本功能主要体现在的基本功能主要体现在以下两个方面:以下两个方面:n1构成一个易于编程的虚拟机平台构成一个易于编程的虚拟机平台o EOS构成一个虚拟机平台,构成一个虚拟机平台,EOS把底层的硬件细节封装起来,把底层的硬件细节封装起来,为运行在它上面的软件(如中间件软件和各种应用软件)提供为运行在它上面的软件(如中间件软件和各种应用软件)提供了一个抽象的编程接口。软件开发在这个编程接口的上进行,了一个抽象的编程接口。软件开发在这个编程接口的上进行,而不直接与机器硬件层打交道。而不直接与机器硬件层打交道。EOS所提供的编

27、程接口实际上所提供的编程接口实际上就是操作系统对外提供的系统调用函数。就是操作系统对外提供的系统调用函数。n2系统资源的管理者系统资源的管理者o 负责管理系统当中的各种软硬件资源,如处理器、内存、各种负责管理系统当中的各种软硬件资源,如处理器、内存、各种I/O设备、文件和数据等,使得整个系统高效、可靠运转。设备、文件和数据等,使得整个系统高效、可靠运转。2022-1-1916嵌入式操作系统的功能嵌入式操作系统的功能o运行在嵌入式环境中的运行在嵌入式环境中的EOS其目标是为了完成某一项或有限项功能,其目标是为了完成某一项或有限项功能,而非通用型的操作系统,因此在性能和实时性方面有严格的限制,能耗

28、、而非通用型的操作系统,因此在性能和实时性方面有严格的限制,能耗、成本和可靠性通常是影响设计的重要因素,要求占用资源少,适合在有成本和可靠性通常是影响设计的重要因素,要求占用资源少,适合在有限存储空间运行,要求系统功能可以根据产品的设计要求进行剪裁、调限存储空间运行,要求系统功能可以根据产品的设计要求进行剪裁、调整。整。o所有的所有的EOS都有一个内核(都有一个内核(kernel),内核是系统当中的一个组件,),内核是系统当中的一个组件,它包含了任务管理、存储管理、输入输出(它包含了任务管理、存储管理、输入输出(I/O)设备管理和文件)设备管理和文件系统管理四个功能模块。其中:系统管理四个功能

29、模块。其中:n任务管理:对嵌入式系统中的运行软件进行描述和管理,并完成处任务管理:对嵌入式系统中的运行软件进行描述和管理,并完成处理机资源的分配与调度;理机资源的分配与调度;n存储管理:用来提高内存的利用率,方便用户的使用,并提供足够存储管理:用来提高内存的利用率,方便用户的使用,并提供足够的存储空间;的存储空间;nI/O设备管理:方便设备的使用,提高设备管理:方便设备的使用,提高CPU和输入输出设备的和输入输出设备的利用率;利用率;n文件管理:解决文件资源的存储、共享、保密和保护等问题。文件管理:解决文件资源的存储、共享、保密和保护等问题。o注意:不同的嵌入式系统的注意:不同的嵌入式系统的E

30、OS所包含的组件可能各不相同,内核设所包含的组件可能各不相同,内核设计也可能各不相同的,完全取决于系统的设计以及实际的应用需求计也可能各不相同的,完全取决于系统的设计以及实际的应用需求。2022-1-1917嵌入式操作系统的分类嵌入式操作系统的分类oEOS可以按照系统的类型、响应时间和软件结构等不同的来分类。可以按照系统的类型、响应时间和软件结构等不同的来分类。o1按系统的类型分类按系统的类型分类n(1)商业化系统)商业化系统oVxWorks、Windows CE、PalmOS等。等。n(2)专用系统)专用系统n(3)开放源代码系统)开放源代码系统oC/OS和各类嵌入式和各类嵌入式Linux系

31、统。系统。o2按响应时间分类按响应时间分类n分为分为RTOS(Real Time Operating Systems ,实时操作系统),实时操作系统)和非实时操作系统。和非实时操作系统。nRTOS对响应时间有非常严格的要求,当某一个外部事件或请求发对响应时间有非常严格的要求,当某一个外部事件或请求发生时,相应的任务必须在规定的时间内完成相应的处理。生时,相应的任务必须在规定的时间内完成相应的处理。RTOS可可以分为硬实时和软实时两种情形。以分为硬实时和软实时两种情形。n非实时系统对响应时间没有严格的要求,各个进程分享处理器,以非实时系统对响应时间没有严格的要求,各个进程分享处理器,以获得各自所

32、需要的运行时间。获得各自所需要的运行时间。2022-1-1918嵌入式操作系统的分类嵌入式操作系统的分类o 3按软件结构分类按软件结构分类nEOS可以分为单体结构、分层结构和微内核结构三大类可以分为单体结构、分层结构和微内核结构三大类单体结构 分层结构 微内核结构2022-1-1919常见嵌入式操作系统简介常见嵌入式操作系统简介o嵌入式操作系统是操作系统研究领域中的一个重要分支,有许多公司在嵌入式操作系统是操作系统研究领域中的一个重要分支,有许多公司在从事相关方面的研究,开发了数以百计的各具特色的嵌入式操作系统产从事相关方面的研究,开发了数以百计的各具特色的嵌入式操作系统产品,其中比较有影响的

33、系统有品,其中比较有影响的系统有VxWorks、嵌入式、嵌入式Linux、Windows CE、C/OS-II和和PalmOS等。等。o1VxWorksn美国美国WindRiver System公司开发的嵌入式实时操作系统公司开发的嵌入式实时操作系统VxWorks采用基于微内核的体系结构,整个系统由四百多个相对采用基于微内核的体系结构,整个系统由四百多个相对独立、短小精练的目标模块组成,用户可以根据自己的需要选择适独立、短小精练的目标模块组成,用户可以根据自己的需要选择适当的模块,进行裁减和配置。当的模块,进行裁减和配置。VxWorks采用采用GNU类型的编译和调类型的编译和调试器,专有的试器

34、,专有的API函数,支持函数,支持x86、Motorola MC68xxx、Coldfire、PowerPC、MIPS、ARM、i960等主流的等主流的32位处理器,位处理器,具有良好的可靠性和卓越的实时性,是目前嵌入式系统领域中使用具有良好的可靠性和卓越的实时性,是目前嵌入式系统领域中使用最广泛、市场占有率最高的商业系统之一。最广泛、市场占有率最高的商业系统之一。n在在VxWorks操作系统中,主要包含有实时微内核操作系统中,主要包含有实时微内核Wind、I/O处理处理系统、文件系统、网络处理模块、虚拟内存模块系统、文件系统、网络处理模块、虚拟内存模块VxVMI、板级支持、板级支持包包BSP

35、等功能模块。等功能模块。2022-1-1920常见嵌入式操作系统简介常见嵌入式操作系统简介o2嵌入式嵌入式Linuxn嵌入式嵌入式Linux(Embedded Linux)是指对标准是指对标准Linux进行小型化剪裁处进行小型化剪裁处理之后,可固化在存储器或单片机中,适合于特定嵌入式应用场合的专用理之后,可固化在存储器或单片机中,适合于特定嵌入式应用场合的专用Linux操作系统。常见的嵌入式操作系统。常见的嵌入式Linux有有Clinux、RT-Linux、Embedix和和Hard Hat Linux等,具有如下特点:等,具有如下特点:o具有高性能、可裁剪的内核,用户可以根据自己的需要,实时

36、地将某些模块插具有高性能、可裁剪的内核,用户可以根据自己的需要,实时地将某些模块插入到内核或从内核中移走,很适合于嵌入式系统的小型化的需要。入到内核或从内核中移走,很适合于嵌入式系统的小型化的需要。o具有完善的网络通信和文件管理机制,支持所有标准的具有完善的网络通信和文件管理机制,支持所有标准的Internet网络协议,支网络协议,支持持ext2,fat16, fat32, romfs等文件系统。等文件系统。o可提供完整的工具链可提供完整的工具链(Tool Chain),利用利用GNU的的gcc做编译器,用做编译器,用gdb, kgdb, xgdb做调试工具,能方便地实现从操作系统到应用软件各

37、级别的调试。做调试工具,能方便地实现从操作系统到应用软件各级别的调试。o嵌入式嵌入式Linux是开放源码的自由操作系统,用户可以根据自己的应用需要方便是开放源码的自由操作系统,用户可以根据自己的应用需要方便地对内核进行修改和优化。地对内核进行修改和优化。o支持支持x86、ARM、MIPS、Alpha、PowerPC等多种体系结构,支持各种主流等多种体系结构,支持各种主流硬件设备和最新硬件技术。硬件设备和最新硬件技术。o几乎每一种通用程序在几乎每一种通用程序在Linux上都能找到,具有丰富的软件资源。上都能找到,具有丰富的软件资源。oC linux主要针对没有主要针对没有MMU的微处理器;的微处

38、理器;RT-Linux是最早实现硬实时支持的是最早实现硬实时支持的Linux版本;版本;Embedix采用模块化的设计方案,方便系统剪裁;采用模块化的设计方案,方便系统剪裁;Hard Hat Linux是一个嵌入式实时系统,可以针对硬件环境进行配置,以获得最佳的性是一个嵌入式实时系统,可以针对硬件环境进行配置,以获得最佳的性能和最小的容量。能和最小的容量。2022-1-1921常见嵌入式操作系统简介常见嵌入式操作系统简介o3Windows CEnWindows CE是一个基于优先级的多任务嵌入式操作系统,提供了是一个基于优先级的多任务嵌入式操作系统,提供了256个优先级别,基本内核需要至少个优

39、先级别,基本内核需要至少200KB的的ROM,支持,支持Win32API子集、支持多种用户界面硬件、支持多种串行和网络通子集、支持多种用户界面硬件、支持多种串行和网络通信技术。信技术。Windows CE不是一个硬实时系统。不是一个硬实时系统。nWindows CE主要包含内核模块、内核系统调用接口模块、文件系主要包含内核模块、内核系统调用接口模块、文件系统模块、图形窗口和事件子系统模块和通信模块五个功能模块。其统模块、图形窗口和事件子系统模块和通信模块五个功能模块。其中:内核模块支持进程和线程处理及内存管理等基本服务。内核系中:内核模块支持进程和线程处理及内存管理等基本服务。内核系统调用接口

40、模块允许应用软件访问操作系统提供的服务。文件系统统调用接口模块允许应用软件访问操作系统提供的服务。文件系统模块支持模块支持DOS等格式的文件系统。图形窗口和事件子系统模块控制等格式的文件系统。图形窗口和事件子系统模块控制图形显示,并提供图形显示,并提供Windows GUI图形界面。通信模块允许同其他图形界面。通信模块允许同其他的设备进行信息交换。的设备进行信息交换。nWindows CE操作系统集成了大量的操作系统集成了大量的Windows XP Professional的特性,能提供与的特性,能提供与PC机类似的桌面、任务栏、窗口、图标、控件等机类似的桌面、任务栏、窗口、图标、控件等图形界

41、面和各种应用程序。熟悉图形界面和各种应用程序。熟悉Windows操作系统的用户可以很操作系统的用户可以很快地使用基于快地使用基于Windows CE的嵌入式设备。另外,微软公司提供了的嵌入式设备。另外,微软公司提供了Visual Studio.NET、Embedded Visual C+、Embedded Visual Basic等一组功能强大的应用程序开发工具,专门用于对等一组功能强大的应用程序开发工具,专门用于对Windows CE操作系统的开发。操作系统的开发。2022-1-1922常见嵌入式操作系统简介常见嵌入式操作系统简介o4 C/OS-IInC/OS-II是一种免费、开放源代码、结

42、构小巧、基于可抢占优先是一种免费、开放源代码、结构小巧、基于可抢占优先级调度的实时操作系统,其内核提供任务调度与管理、时间管理、级调度的实时操作系统,其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。名称任务间同步与通信、内存管理和中断服务等功能。名称C/OS-II来源于术语来源于术语Micro-Controller Operating System(微控制器操(微控制器操作系统),它通常也称为作系统),它通常也称为MUCOS或者或者UCOS。nC/OS-II内核在内核在2KB 10KB数量级,具有执行效率高、占用空数量级,具有执行效率高、占用空间小、实时性能优良

43、和可扩展性强等特点,主要面向中小型嵌入式间小、实时性能优良和可扩展性强等特点,主要面向中小型嵌入式系统。系统。C/OS-II内核提供最基本的系统服务,例如信号量、邮箱、内核提供最基本的系统服务,例如信号量、邮箱、消息队列、内存管理、中断管理等。消息队列、内存管理、中断管理等。C/OS-II内核本身并不支持内核本身并不支持文件系统,但它具有良好的扩展性能,可以根据需要自行加入。文件系统,但它具有良好的扩展性能,可以根据需要自行加入。C/OS-II具有良好的可移植性。具有良好的可移植性。C/OS-II的大部分代码都是用的大部分代码都是用C语言写成的,只有与处理器的硬件相关的一部分代码采用汇编语言语

44、言写成的,只有与处理器的硬件相关的一部分代码采用汇编语言编写。编写。C/OS-II并不是一个商业实时操作系统,但并不是一个商业实时操作系统,但C/OS-II的稳的稳定性和实用性却被数百个商业级的应用所验证,定性和实用性却被数百个商业级的应用所验证,C/O S-II已在众已在众多的商业领域中获得了广泛的应用。多的商业领域中获得了广泛的应用。nC/OS-II支持支持ARM、PowerPC、MIPS、68k/ColdFire和x86等等多种体系结构。多种体系结构。2022-1-1923内容提要内容提要嵌入式软件基础嵌入式软件基础嵌入式操作系统基础嵌入式操作系统基础嵌入式系统的任务管理嵌入式系统的任务

45、管理嵌入式系统的存储管理嵌入式系统的存储管理I/O设备管理设备管理2022-1-1924单道程序设计和多道程序设计单道程序设计和多道程序设计o 嵌入式操作系统可分为单道程序设计和多道程序设计。嵌入式操作系统可分为单道程序设计和多道程序设计。o 1单道程序设计类型单道程序设计类型n采用单道程序设计的操作系统在任何时候只能有一个程序在采用单道程序设计的操作系统在任何时候只能有一个程序在运行。运行。o 2. 多道程序设计类型多道程序设计类型n采用多道程序设计的操作系统允许多个程序同时存在并运行,采用多道程序设计的操作系统允许多个程序同时存在并运行,采用多道程序技术可以有效提高系统资源的利用率。采用多

46、道程序技术可以有效提高系统资源的利用率。2022-1-1925单道程序设计和多道程序设计单道程序设计和多道程序设计单道程序与多道程序的运行过程2022-1-1926进程、线程和任务进程、线程和任务o1进程(进程(process)n进程是在描述多道系统中并发活动过程引入的一个概念。进程和程进程是在描述多道系统中并发活动过程引入的一个概念。进程和程序是两个既有联系又有区别的概念。序是两个既有联系又有区别的概念。n一个进程通常包含有以下几个方面的内容:一个进程通常包含有以下几个方面的内容:o相应的程序:进程是一个正在运行的程序,有相应程序的代码和数据。相应的程序:进程是一个正在运行的程序,有相应程序

47、的代码和数据。oCPU上下文:程序在运行时,上下文:程序在运行时,CPU中含有中含有PC、PSW、通用寄存器、段、通用寄存器、段寄存器、栈指针寄存器等各种寄存器的当前值内容寄存器、栈指针寄存器等各种寄存器的当前值内容o一组系统资源:包括操作系统用来管理进程的数据结构、进程的内存一组系统资源:包括操作系统用来管理进程的数据结构、进程的内存地址空间、进程正在使用的文件等。地址空间、进程正在使用的文件等。o总而言之,进程包含了正在运行的一个程序的所有状态信息。进程具有总而言之,进程包含了正在运行的一个程序的所有状态信息。进程具有动态性,进程是一个正在运行的程序,程序的运行状态都在不断地变化,动态性,

48、进程是一个正在运行的程序,程序的运行状态都在不断地变化,如如PC寄存器的值、堆和栈的内容、通用寄存器存放数据和地址等。进寄存器的值、堆和栈的内容、通用寄存器存放数据和地址等。进程具有独立性,一个进程是一个独立的实体,占有计算机的系统资源,程具有独立性,一个进程是一个独立的实体,占有计算机的系统资源,每个进程都有自己的运行上下文和内部状态,在它运行的时候独立于其每个进程都有自己的运行上下文和内部状态,在它运行的时候独立于其他的进程。进程具有并发性,在系统中同时有多个进程存在,它们相互他的进程。进程具有并发性,在系统中同时有多个进程存在,它们相互独立地运行。独立地运行。2022-1-1927进程、

49、线程和任务进程、线程和任务o2线程(线程(thread)n线程是一个比进程更小的能独立运行的基本单位。所谓的线程,就线程是一个比进程更小的能独立运行的基本单位。所谓的线程,就是进程当中的一条执行流程。是进程当中的一条执行流程。n从资源组合的角度来看,进程把一组相关的资源组合起来,构成了从资源组合的角度来看,进程把一组相关的资源组合起来,构成了一个资源平台(资源环境。从程序运行的角度来看,进程就是一个一个资源平台(资源环境。从程序运行的角度来看,进程就是一个正在运行的程序。可以把进程看成是程序代码在这个资源平台上的正在运行的程序。可以把进程看成是程序代码在这个资源平台上的一条执行流程(线程),也

50、就是可以认为进程等于线程加资源平台。一条执行流程(线程),也就是可以认为进程等于线程加资源平台。2022-1-1928进程、线程和任务进程、线程和任务o 3任务(任务(task)n在一些嵌入式系统中,把能够独立运行的实体称为在一些嵌入式系统中,把能够独立运行的实体称为“任务任务”,并没有使用并没有使用“进程进程”或或“线程线程”这两个概念。任务到底是进这两个概念。任务到底是进程还是线程,在研究一个具体的嵌入式操作系统的时候,要程还是线程,在研究一个具体的嵌入式操作系统的时候,要注意加以区分。注意加以区分。n在任务的创建过程需要定义的主要参数有任务的优先级、栈在任务的创建过程需要定义的主要参数有

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(嵌入式系统课件:第九讲.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|