您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 嵌入式(5操作系统-WinCE架构)
嵌入式软件开发技术(5操作系统——WinCE系统简介及架构)林毅申sunsoftware@qq.com信息学院·计算机科学与工程系·软件工程教研室505GeneratedbyFoxitPDFCreator©FoxitSoftware©FoxitSoftware概述系统架构NK.EXEFILESYS.EXEDEVICE.EXEGWES.EXESERVICES.EXEThreadMigrationGeneratedbyFoxitPDFCreator©FoxitSoftware(s)COREDLLNK.EXEOALGWES.EXEFILESYS.EXEObjectStoreTouchDisplayKeyboardROMFSStorageManagerDEVICE.EXESERVICES.EXEFTPHTTPDTELNETDRAMROM/FLASHTimerINTCCPUHARDWARESerialUSB(Function)PCCard...DevMgr.DllBlockDeviceSerialCustomGeneratedbyFoxitPDFCreator©FoxitSoftwareNK.LIB+OAL.LIB=NK.EXE内核是硬件体系结构无关但是是处理器相关的OAL越小越好微软提供了预先编译的NK.LIB库文件NK.lib的大多数代码都是公开的通过高级代码共享,可以得到更多代码提供:内存管理调度管理系统调用转发实现了一些基本的Win32函数NK.EXEOALRAMROM/FLASHTimerINTCCPUGeneratedbyFoxitPDFCreator©FoxitSoftware©FoxitSoftware图形窗口事件系统(GWES)管理所有的图形界面处理以及用户输入桌面的USER32+GDI32作为一个单独的进程GeneratedbyFoxitPDFCreator©FoxitSoftware设备管理器电池驱动已经被从GWES中拿走了大多数功能都放在了devmgr.dll中。提供所有的与驱动相关的函数实现在启动的时候通过注册表加载驱动程序DEVICE.EXEHARDWAREDevMgr.DllBlockDeviceSerialCustomGeneratedbyFoxitPDFCreator©FoxitSoftware所有服务的宿主进程与Device.exe分开FTP,TELNET,HTTPD(Web),UPnP,SMB,其它…用户可以添加服务提供命令行工具来启动、关闭服务提供API管理服务SERVICES.EXEFTPHTTPDTELNETDGeneratedbyFoxitPDFCreator©FoxitSoftware文件系统所有与文件系统相关的函数都在FileSys.exe中实现单根“\”,没有像“C:\”一样的盘符有三个组件:对象存储存储管理器ROM文件系统GeneratedbyFoxitPDFCreator©FoxitSoftware©FoxitSoftware对象存储被FileSys.exe管理的一个堆包括:RegistryDatabaseRAM文件系统RAM文件系统通常位于根目录Ex:“\myfile.txt”存在于RAM中GeneratedbyFoxitPDFCreator©FoxitSoftware文件系统被映射成“\Windows”目录“\Windows”目录中所有的文件都是只读的通常是nk.bin或nk.nb0中的文件GeneratedbyFoxitPDFCreator©FoxitSoftware存储管理负责:StoragedevicedriverPartitiondevicedriverFileSystemdevicedriverFileSystemfilterGeneratedbyFoxitPDFCreator©FoxitSoftware内核特征多进程可以支持最多32个进程多线程支持256个线程优先级内存模型Virtualmemory,CodesectionsPaged,NobackingstoreforDatasectionsGeneratedbyFoxitPDFCreator©FoxitSoftware进程静态上下文,线程的容器进程不被执行,线程被执行系统中同时最多只能有32个进程:对大多数嵌入式系统来说都已经足够。推荐用多线程而不是多进程迎合一些体系结构的支持WindowsCE5使用与WindowsXP一样的加载/卸载模型(与其它桌面Window一样)支持命令行程序但是与桌面Win32API不一样GeneratedbyFoxitPDFCreator©FoxitSoftware线程Win32的执行的单元按照优先级调度高优先级的线程会抢占低优先级的线程同样的优先级使用Round-Robin算法默认的时间片是100毫秒,OEM可以在OAL中重新设置GeneratedbyFoxitPDFCreator©FoxitSoftware线程调度线程A拥有最高的优先级,他会一直执行直到结束或阻塞线程B和C使用Round-Robin算法运行在round-robin每个线程都运行一个固定的时间,叫做时间片优先级数字越小,优先级越高GeneratedbyFoxitPDFCreator©FoxitSoftware线程优先级分布图(例)Open-Applications252-255Normal251WaveAPI250WaveDev,Mouse,PnP,Power249PowerManagement248TAPI150IRComm148PS2Keyboard145CxPort132VMini131KITL130IRSIR1,NDIS,Touch109-129USBOHCIUHCI,Serial100-108PowermanagementResumeThread99GraphicsVerticalRetrace20Open–RealTimeAboveDrivers0-19ComponentPriorityGeneratedbyFoxitPDFCreator©FoxitSoftware优先级反转AvoidpriorityinversionbykeepingallthreadswaitingforsameresourceatthesamepriorityThread3HighPriorityMediumPriorityLowPriorityThread3ResourceOwner:Thread2Thread1Thread1PriorityInversionPreemptPreemptBlockedPriorityRestoredThread3Example:Thread1blockedwaitingforresourceownedbyThread3,causingPriorityInversionThread3BlockedThread1Thread2BlockedGeneratedbyFoxitPDFCreator©FoxitSoftware内存管理*只在桌面Windows上存在PhysicalMemory*StorageDeviceVirtualMemoryLogicalMemory(Heap,stack)CRuntime(malloc,new…)ApplicationGeneratedbyFoxitPDFCreator©FoxitSoftware内存结构物理内存在内部或外部总线上可访问的实际的RAM/ROM虚拟内存通过内存管理单元MMU转换过的虚拟地址允许代码在需要的时候再换入GeneratedbyFoxitPDFCreator©FoxitSoftware©FoxitSoftware目录WindowsCE的发展史WindowsEmbeddedCE6.0的关键特性内核和驱动器的体系结构开发及相应的工具GeneratedbyFoxitPDFCreator©FoxitSoftware
本文标题:嵌入式(5操作系统-WinCE架构)
链接地址:https://www.777doc.com/doc-4927321 .html