第9章:WinCE体系结构

上传人:妈**** 文档编号:242975021 上传时间:2024-09-13 格式:PPT 页数:58 大小:1.23MB
返回 下载 相关 举报
第9章:WinCE体系结构_第1页
第1页 / 共58页
第9章:WinCE体系结构_第2页
第2页 / 共58页
第9章:WinCE体系结构_第3页
第3页 / 共58页
点击查看更多>>
资源描述
,东南大学集成电路学院,国家,ASIC,系统工程技术研究中心,国家,ASIC,系统工程技术研究中心,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,嵌入式操作系统,第九章,WinCE,体系结构,戚隆宁,概述,什么是WinCE,WinCE的发展历程,WinCE的特点,WinCE 5.0的总体结构,(一)什么是WinCE,全称为,Windows Embedded CE,,简称为,WinCE,为大名鼎鼎的微软公司研发的嵌入式操作系統,可以应用在各类嵌入式系统中,或是硬件性能較低的,PC,系統(例如很少的存储器,较慢的,CPU,等),微软并未定义,CE,两个英文单词的含义,一般解释則有,Compact Edition,、,Customer Embedded,、,Consumer Electronics,等,属于,Windows Embedded,系列产品中的一员,(一)什么是WinCE,Windows Embedded,系列产品,Windows Embedded Standard,Windows XP Embedded,及,Windows NT 4.0 Embedded,Windows Embedded Compact,即,Windows Embedded CE,Windows Embedded Enterprise,Windows XP Professional for Embedded Systems,Windows Vista Business for Embedded Systems,Windows Vista Ultimate for Embedded Systems,未来发布的,Windows 7 Ultimate for Embedded Systems,Windows Embedded POSReady,专为开发POS(Point of Service)解决方案的OEM厂商以及使用POS设备的企业提供的一款嵌入式操作系统,在,2008,年,4,月,15,日举行的嵌入式系统大会上,,微软宣布將,Windows Embedded CE,系列,更名为,Windows Embedded Compact,(二)WinCE的发展历程,版本,发布时间,描述,开发工具,WinCE1.0,1996,年,无太大实用价值,但为后继发展奠定了基础。,WinCE2.0,1997,年秋,进入实用阶段,增加了控制台、命令提示行、快速红外、,IE4.0,、消息队列等支持,并使在对象存储里的文件可以大于,4MB,。,系统开发:,WinCE Embedded Toolkit2.0,应用开发:,WinCE Toolkit for VC6.0/VB6.0,WinCE2.1/2.11,1998,年,8,月,WinCE2.12,1999,年初,WinCE3.0,2000,年中,线程优先级从原来的,8,增加到,256,,对象存储支持达到,256MB RAM,,文件大小限制增加到,32MB,。优化了实时性。,系统开发:,WinCE PB3.0,应用开发:,EVC3.0,、,EVB3.0,WinCE.NET4.0,2001,年初,新的驱动加载模型;新的基于文件的注册表选项;蓝牙、,802.11,支持,应用程序虚拟内存空间增加到原来的两倍。,4.0,版本不支持,.NET, 4.1,支持,,4.2,增加了对,PocketPC,应用程序的支持。,系统开发:,PB4.0,应用开发:,EVC4.0+SP1/2/3,、,Visual Studio.NET2003,WinCE.NET4.1,2001,年底,WinCE.NET4.2,2003,年,2,季度,Windows CE5.0,2004,年,6,月,支持,32,个进程,每个进程,64M,虚拟内存,;,系统的功能更加丰富、性能更加稳定。,系统开发:,PB5.0,应用开发:,EVC4.0+SP4,、,Visual Studio.NET2003,、,Visual Studio.NET2005,Windows CE6.0,2006,年,分享核心源代码;支持,3.2,万个并发进程,每个为,2GB,的虚拟内存空间。增加了一个新的文件系统,支持更大的存储介质和文件尺寸。,开发环境,Platform Builder,整合到,Visual Studio,中:,Visual Studio 2005,本课程的学习实例,当前,WinCE,的主流,发布版已到,R3,(三)WinCE的特点,总体特点,精简的模块化操作系统,WinCE,是高度模块化的嵌入式操作系统,用户可以为了满足特定的要求而对操作系统进行定制,WinCE,的可剪裁性使其体积也可以很小。,多硬件平台支持,嵌入式系统的特点决定了嵌入式系统硬件设备是多种多样的,,WinCE,需要运行在不同,CPU,组成的硬件平台上,支持有线和无线网络连接,实时性支持,丰富的多媒体和多语言支持,强大易用的开发工具,商业操作系统,,not free,!,(三)WinCE的特点,WinCE 5.0,的特点,操作系统增强,新增对,USB2.0,的支持;新增对,Direct 3D Mobile,的支持,系统中断从,32,个增加到,64,个,新增电源管理库;增强设备管理器功能;增加新的资源管理器功能,增加了网络媒体设备(,Networked Media Device,,,NMD,)特征包,统一的构建系统,使用,Platform Builder,构建操作系统与使用命令行构建操作系统进行了统一,,PB,对命令行界面进行了简单封装,使用,PB,与使用命令行构建操作系统没有任何功能上的区别。,高质量的,BSP,(,Board Support Package,),将,BSP,的功能提炼为一些小的库文件(提炼出,OAL,),修改了某些驱动接口,并且对,BSP,的目录及文件等做了限定。这样就简化了,BSP,的开发,更加模块化,结构更加清晰,微软与开发人员共享了,250,万行的操作系统源代码,微内核结构,(三)WinCE的特点,WinCE 6.0,的特点,同时运行进程数量的增加,可以同时运行的进程数量从,32,个上升到,32000,个,解决了进程数量受到限制的问题,虚拟内存空间的增加,WinCE,是,32,位的操作系统,具有,4G,的虚拟地址空间,其中,2G,为内核空间,,2G,为用户空间,在,WinCE 5.0,中,用户空间被分成了,64,个槽(,slot,),每个槽,32MB,大小,一个进程只能有一个槽,WinCE 6.0,中,由于其采用了新的存储机制,因此使得每个进程可以使用最大,2GB,的虚拟内存,(三)WinCE的特点,WinCE 6.0,的特点,100%,公开了源代码,在,WinCE 5.0,中,微软公司公开了,70%,的核心源代码,而到了,WinCE 6.0,中,这一比例提高到了,100%,推出了新的开发工具,在,WinCE 5.0,中,开发工具为,Embedded Visual C+,、,Embedded Visual Basic,和,Visual S 2003,,内核定制工具则使用,Platform Builder,在,WinCE 6.0,中,开发工具为,Visual Studio 2005,,内核定制工具,Platform Builder,,变成了,VS2005,的一个插件,宏内核结构,(三)WinCE的特点,WinCE 6.0 R3,的新增功能,Silverlight for Windows Embedded,在,Windows Embedded CE,中引入了,Silverlight,的强大功能,从而能够创建丰富多彩的应用程序和用户界面,嵌入式,Internet Explorer,Internet Explorer,具有平移和缩放功能以及可自定义界面,可优化设备上的 浏览体验,Flash Lite,新增的浏览器插件,可呈现多媒体网站,触摸和手势,新增的插件引擎,可实现自然输入功能和手势动画连接管理器基础设施技术,可管理设备上的多个网络接口,Microsoft Office,和,PDF,查看器,可在设备上呈现,Microsoft Office Word,、,PowerPoint,、,Excel,和,Adobe PDF,内容,QQ Messenger,设备上的客户端程序,可连接到常用的即时消息传递服务,加强了网络接入与用户交互式体验,符合嵌入式操作系统的发展趋势,(三)WinCE的特点,WinCE,的应用领域,各类生产生活中使用的嵌入式设备,PDA,数字机顶盒,数字电视,车载导航,家庭自动化系统,安全系统,自动售货机,数码相机,工业自动化仪表与医疗仪器,(三)WinCE的特点,WinCE,的应用领域,WinCE,最为著名的应用当属,Windows Mobile,平台,世界著名手机制造商几乎都有基于,Windows Mobile,平台的手机产品,Windows Mobile,面向智能移动电话应用,基于,WinCE,操作系统进行了应用程序及中间件的定制,目前已更名为,Windows Phone,平台,最新版本为,Windows Phone 7,(四)WinCE 5.0的体系结构,总体结构,WinCE 5.0,是高度模块化的嵌入式操作系统,可面向应用需求方便的对操作系统进行定制,WinCE 5.0,是微内核系统,内核只实现基本功能,将图形系统、文件系统、设备驱动及通信功能放在内核之外,内核精练,便于剪裁和移植,系统服务程序运行在用户地址空间,系统的稳定性和安全性较高,(四)WinCE 5.0的体系结构,总体结构图,从底向上依次为:,硬件层,OEM,层,操作系统层,应用层,(四)WinCE 5.0的体系结构,硬件层,以某一种体系结构的,CPU,为核心构建的硬件系统,,CPU,类型不唯一,外设种类繁多,通过外扩实现,通过片上系统(,SoC,)方式实现,(四)WinCE 5.0的体系结构,OEM,层,OEM,(,Original Equipment Manufacturer,,原始设备制造商),OEM,可根据自己产品的硬件特点对,Windows CE,进行定制,从而使,Windows CE,可以运行在这些厂商的设备上,在出售硬件的同时,也会把,OEM,层以,BSP,的形式提供给开发者使用,体现了,WinCE 5.0,对硬件的适配,对体系结构的适配,对硬件设备的适配,OEM,适配层,(,OAL,),(OEM adaptation layer),内核抽象出来的与硬件交互的接口;代码通常是与硬件高度相关;负责内核与硬件的通信。,引导,程序,驱动,程序,配置,文件,初始化硬件,加载操作系统映像,(,OS Image,),到内存,然后跳转到操作系统代码去执行。,BSP,当中应该包括对应开发板上所有的外部设备的驱动程序,保证,WinCE,操作系统能够发挥此开发板的最大效能。,运行时所需的二进制文件,包括:,.,DB,、,REGINIT.ini,、,.DAT,。,O,E,M,层的组成,(四)WinCE 5.0的体系结构,(四)WinCE 5.0的体系结构,关于,BSP,的概念,BSP,(,Board Support Package,),板级支持包,是介于主板硬件和操作系统中的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,使之能够更好的运行与硬件主板,BSP,是相对于操作系统而言的,不同的操作系统对应于不同定义形式的,BSP,所以写,BSP,一定要按照该系统,BSP,的定义形式来写,在,WinCE 5.0,中即为,OEM,层,(四)WinCE 5.0的体系结构,WinCE 5.0,中,BSP,的结构,(四)WinCE 5.0的体系结构,操作系统层,其基本功能被放在多个独立进程(,EXE,)里实现:,NK.EXE,GWES.EXE,FILESYS.EXE,DEVICE.EXE,SERVEICES.EXE,(四)WinCE 5.0的体系结构,操作系统层各组成部分,NK.EXE,微内核进程,,WinCE 5.0,最基本的部分,负责最基本的,OS,功能,线程管理,中断管理,时钟管理,内存管理,GWES.EXE,图形窗口事件系统进程,负责处理输入输出,(四)WinCE 5.0的体系结构,操作系统层各组成部分,FILESYS.EXE,文件管理器进程,负责管理文件系统与对象存储,DEVICE.EXE,设备管理器进程,负责设备驱动的管理(除,GWES,管理的之外),SERVEICES.EXE,负责加载系统服务,操作系统可剪裁,不是所有的进程都必需,只有,NK.EXE,和,FILESYS.EXE,是必不可少的模块,(四)WinCE 5.0的体系结构,WinCE,模块图,1. NK.EXE,系统运行时,,WinCE,的内核表现为一个,NK.EXE,进程。,NK.EXE,是所有基于,WinCE,的系统都存在的核心进程。,它实现了,Win32 API,核心中的:,进程创建加载,线程调度,中断处理,内存管理,实时时钟操作,定时器操作,CPU,配置,NK,。,.,.EXE,OAL,RAM,ROM,/,FLASH,Timer,INTC,CPU,NK.EXE = OAL.LIB + NK.LIB,(四)WinCE 5.0的体系结构,(四)WinCE 5.0的体系结构,NK.EXE,的基本功能,Windows CE,内核是,Windows CE,操作系统的核心,为基于,Windows CE,的设备提供了如下基本功能:,进程、线程管理,内存管理,中断管理,时钟管理,将在之后的课程中讲解,(四)WinCE 5.0的体系结构,进程与线程,(四)WinCE 5.0的体系结构,进程与线程,MODULE,进程,线程,线程间通信,(四)WinCE 5.0的体系结构,进程与线程,MODULE,Windows CE下的模块由EXE文件和DLL文件组成。本质上讲EXE,与DLL都是可执行文件,,都遵守PE文件格式,其差别在于其头文件不同,EXE文件,DLL文件,可以通过LoadLibrary 或LoadLibraryEx函数进行显式加载,可以通过EXE的DLL导入表进行隐式加载,(四)WinCE 5.0的体系结构,进程与线程,进程,WinCE,5.0,是,一个多进程的操作系统,支持最多32进程,每个进程都拥有自己32MB的私有地址空间,CE为每个32MB地址空间划分为一个Slot, 共33个Slot,供,系统使用,(Slot0,Slot32,),进程启动时,内核会为该进程选择一个未被占用的,Slot,作为其地址空间。,Slot 0,总被映射成当前运行进程的地址空间,Slot 1,只用于加载系统所有进程的,XIP Dll,,这样每个进程的实际地址空间变成了,64MB,Windows CE,启动时,系统加载四个主要的进程:,NK.exe,、,Filesys.exe,、,GWES.exe,和,Device.exe,(四)WinCE 5.0的体系结构,进程与线程,进程分布图,(四)WinCE 5.0的体系结构,进程与线程,与进程相关的,API,函数,BOOL CreateProcess( ); /进程的创建:,HANDLE OpenProcess(); /获得进程句柄,VOID ExitProcess(); /结束进程,BOOL TerminateProcess(); /终止某一进程,(四)WinCE 5.0的体系结构,进程与线程,线程,Windows CE的线程按照优先级进行调度,相同优先级的线程按照时间片轮转算法调度,每个线程默认的时间片是100毫秒,OEM可以在OAL中重新设置,Windows CE 将线程划分为256个优先级,0优先级最高,(四)WinCE 5.0的体系结构,进程与线程,线程的优先级分布,(四)WinCE 5.0的体系结构,进程与线程,线程相关的,API,函数,HANDLE CreateProcess(); /创建线程,VOID ExitThread(); /退出线程,BOOL TerminateThread(); /终止线程,DWORD ResumeThread(); /恢复线程,DWORD SuspendThread(); /挂起线程,(四)WinCE 5.0的体系结构,进程与线程,线程间通信,为了提供线程之间的通信,WinCE,5.0,提供如下方式:,互锁函数,临界区,事件对象,互斥对象,信号量,消息队列,(四)WinCE 5.0的体系结构,内存管理,Windows CE 5.0只能管理512MB物理内存和4GB的虚拟地址空间。,MMU(Memory Management Unit) 完成虚拟地址到物理地址的转换,OEM可以通过OEMAddressTable来详细定义虚拟地址和物理地址的映射。,(四)WinCE 5.0的体系结构,内存管理,虚拟内存访问机制,WinCE,5.0,的虚拟地址空间被分成两部分:内核地址空间和用户地址空间,内核地址空间只能被那些拥有内核访问特权的线程访问,用户地址空间可以被所用线程访问,但也要受到进程访问控制机制的约束,(四)WinCE 5.0的体系结构,内存管理,物理地址到虚拟地址的映射,(四)WinCE 5.0的体系结构,内存管理,进程地址空间分配,32MB的进程地址空间被DLLs, Process和虚拟分配共享,所有的虚拟内存分配都是以64 KB的页面为基准的,物理页的颗粒细度是4KB。,Dlls的虚拟地址分配从高端向下生长,进程代码和虚拟分配从低端向上生长,(四)WinCE 5.0的体系结构,内存管理,本地执行(,XIP,),存储在ROM或线性Flash中的未压缩的原始EXE、DLL,映像可以通过XIP的方式运行,。,XIP,既节省了将程序或DLL加载到内存的时间,又节省了实际的物理内存。,XIP,运行速度较慢,所以在强实时的要求下尽量不要使用XIP技术,图形窗口事件系统,(,Graphics Windowing and Event System,,,GWES,),负责操作系统中与图形界面相关的部分,提供基本的绘图功能和窗口管理器,所有输入相关的驱动都是由,GWES.EXE,管理的,2.,GWES.EXE,(四)WinCE 5.0的体系结构,3.,FILESYS.EXE,WinCE 5.0,的文件系统是一种模块化的,设计,用户可以自定义文件系统的类型。,文件系统通过,FileSys.exe,来管理,文件管理器,实现了对象存储和存储管理,包括:,对象存储,ROM,文件系统,存储管理器,(四)WinCE 5.0的体系结构,3.,FILESYS.EXE,(四)WinCE 5.0的体系结构,4.,DEVICE.EXE,负责加载、卸载和管理所有不被,GWES.EXE,管理的设备驱动程序,向系统提供流接口驱动的,API,的实现,(四)WinCE 5.0的体系结构,5.,SERVEICES.EXE,SERVEICES.EXE,是负责加载系统服务的进程。,开机运行,直到系统关闭。,与驱动程序类似,但不管理真实硬件。,提供一些后台处理或为应用程序提供高级功能。例如:网络服务器。,设备管理器加载后才被加载。它也被实现为,DLL,,向外导出流式接口。,(四)WinCE 5.0的体系结构,系统调用与,CoreDLL.DLL,CoreDLL.DLL,不是一个单独的进程,它是一个会被所有用户进程都加载的动态链接库。,(四)WinCE 5.0的体系结构,(四)WinCE 5.0的体系结构,系统调用的过程,(四)WinCE 5.0的体系结构,应用程序层,应用层位于,WinCE,层次结构的最顶层。,每个应用程序都是,WinCE,中的一个单独,的进程。,应用层主要包括以下模块:,WinCE,应用程序(文件编辑、图象查看等),Internet,客户服务,(IE,浏览器,),用户接口(触摸、电池、语言等),客户应用程序(第三方软件),WINCE 5.0,目录结构,PUBLIC,微软提供的,WINCE OS,全部组件,部分组件有源代码,可编译,PRIVATE,WINCE OS,核心组件的部分源代码,,仅用于调试查看,PLATFORM,OEM,提供的板级支持开发包(,BSP,),SDK,编译链接和生成镜像等开发工具,OTHERS,应用程序所需的各种模板库(,ATL,、,MFC,、,.NET,等),PBWorkspaces,用户设计的各种系统平台,(四)WinCE 5.0的体系结构,子目录,内容,CEBASE,微软提供的一些设计模板和组件依赖关系设置,COMMON,微软提供的与平台无关的通用模块,包括驱动程序、构建用的批处理与一些组件,DATASYNC,在桌面,Windows,和,Windows CE,之间同步的组件,DCOM,DCOM,的组件,DIRECTX,DirectX,相关的组件,GDIEX,图像处理相关的组件,IE,IE,浏览器相关的组件,NETCF,.NETCompact Framework,相关的组件,RDP,远程桌面连接,RDP,相关的组件,SCRIPT,Jscript,和,VBScript,脚本引擎相关的组件,SERVERS,网络相关的服务程序组件,SHELL,Windows CE,的,shell,组件,SHELLSDK,支持,Pocket PC,界面,Aygshell,的库,SPEECH,语音识别和朗读的,SAPI,组件,SQLCE,SQL Server CE2.0,组件,VIEWERS,微软提供的文件阅读器组件包括,PDF,、,Word,、,PPT,及,Excel,等,VOIP,基于,SIP,标准的,VOIP,模块,WCEAPPSFE,Windows CE,的应用程序模块,包括,WordPad,及收件箱等,WCESHELLFE,Windows CE,的,Shell,应用模块,包括任务管理器等,(四)WinCE 5.0的体系结构,PUBLIC,目录,PUBLIC,目录,CEBASE,子目录,系统平台的设计模板,模块与组件的选配脚本,建立特性与模块和组件之间的对应关系,建立特性间的依赖关系,建立候选的模块列表和组件列表,(四)WinCE 5.0的体系结构,PUBLIC,目录,COMMON,子目录,CESYSGEN,WINCEOS,核心模块和组件的构建配置脚本(,Makefile,),OAK,DDK,通用驱动开发所需的头文件,SDK,应用程序开发所需的导入库和头文件,应用程序演示用例,(四)WinCE 5.0的体系结构,PUBLIC,目录,COMMON,子目录,OAK,Bin,:系统构建工具(,.EXE,),Catalog,:分类设计文件(,.CEC,),Drivers,:通用驱动源代码(,.C/.CPP,),Misc,:系统构建脚本(,.BAT/.MAK,),Files,:镜像配置和本地化文件(,.BIB/.REG/,),Inc,:核心模块和组件构建所需头文件(,.h,),Lib,:核心组件(,.LIB,),Target,:核心模块(,.DLL/.EXE,),Demos,:驱动演示用例,(四)WinCE 5.0的体系结构,PRIVATE,目录,Microsoft Shared Source License Agreement,增强对,WINCE,系统内部结构的理解,便于程序的诊断和调试,目录结构,WINCEOS,SERVERS,SHELL,WCESHELLFE,(四)WinCE 5.0的体系结构,PLATFORM,目录,COMMON,子目录(,BSP,共用),EMULATOR,子目录(模拟器),CEPC,子目录(,Intel x86,),Geode,子目录(,AMD x86,),MainstoneII,子目录(,Intel XScale,),SMDK2410,子目录(,Samsung S3C2410,),(四)WinCE 5.0的体系结构,PLATFORM,目录,COMMON,子目录,SRC,INC,COMMON,与体系结构无关的处理器底层通用驱动源代码,ARM,x86,MIPS,lib,(四)WinCE 5.0的体系结构,PLATFORM,目录,SMDK2410,子目录,CESYSGEN,构建执行文件,FILES,镜像配置和本地化文件,SRC,INC,COMMON,Bootloader,与,OS,共用的驱动源代码,DRIVERS,KERNEL,内核,OAL,源代码,BOOTLOADER,lib,target,(四)WinCE 5.0的体系结构,嵌入式操作系统,谢 谢!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!