




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WindowsEmbeddedCE6 0NewFeatures YingLiDeveloperEvangelistMicrosoft China Co Ltd v lying 我们的议程 WindowsCE的11年发展史 1996 2007WindowsEmbeddedCE6 0的关键特性内核和驱动器的体系结构开发及相应的工具应用场景 2 Set topboxes CE6 0 WindowsXPEmbedded WindowsMobileSmartphone WindowsMobilePocketPCPhone WindowsAutomotive PortableMediaCenter VoIPphones Mobilehandhelds Gateways RetailPoint of Sale Windows basedterminals Medicaldevices Entertainmentdevices Increasingfunctionality Decreasinghardwarerequirements 微软嵌入式系统的布局 SP12 11 SP22 12 McKendric 4 2 Tomatin NMDFP Jameson 4 1 WindowsCE的发展历程 行业趋势 设备设备的联网需求持续增长 在家里 在工作时 在户外 OEM在自己的嵌入式设备中集成许多越来越复杂的应用设备需要和其他设备和技术能更好的在一起工作开发者设备在消费者手里的生命周期正越来越短开发者要在时间减少的同时做更多的开发根据应用场景的不同设备的差异越来越大我们希望在硬件和软件平台上的投资能在多个产品中用到 12months CE6 0 什么保留了下来 32位多任务操作系统内存占用少组件化硬实时处理器体系结构ARM x86 SH4 MIPS开发选项Win32 NETCF MFC ATL 共享源码10年支持策略 6 Page7 CE6 0关键特性 比WindowsCE5 0更多的特性最新的开发工具下一代内核应用程序兼容性增强的健壮性和安全性用户模式驱动器模式增加了许多新特性 CE6 0操作系统 WindowsCE5 0内存模式 虚拟内存映射Kernel有2GB所有进程共享2GB虚拟内存映射被分成32MB slots 32个进程的限制每一个进程分配一个32MB的slot总共只有32个slots可供分配共享内存用户空间的上半部分是共享内存能被所有进程读写 WindowsCE5 0内存模式 Page10 32个进程 所有进程共享2GB虚拟内存 2GB内核空间 Executionslot和共享DLLslot 共享内存 Kernel Slot0 Execution Slot1 ROMDLLs Slot2 Filesys exe Slot3 Device exe Slot4 GWES exe Slot5 Services exe Slot31 Slot32 Slot6 虚拟内存管理器的运作方式决定了固定进程slot模式 所有的slots都在这里 进程Slots占据VM的低位2GB空间 这就使得每个进程有固定的大小以适合32个进程数量 CE5 0 Slot97 Nk exe Page11 WindowsCE5 0ApplicationMemoryMap 00000000 Readonlydata 03FFFFFF Code Readwritedata reserved ROMBasedDLLs Resources Stack reservedspace Heap reservedspace Freevirtualspace ApplicationSpecificSpace ROMDLLspace 02000000 DLLSpace Constantforallapplications non ROMDLLs Page12 WindowsCE5 0系统体系结构 CE6 0新内核介绍 每个进程都有2GB的虚拟内存32K进程统一内核关键的OS组件都移到了kernel空间改进的系统性能增强的安全性和健壮性高度的向后兼容性 WindowsEmbeddedCE6 0内核模式 进程代码 内存映射文件 用户DLLs 32K进程 每个进程都有2GBVM 新的VM管理器不再以进程slot模式来进行操作 您可以随需创建内存 新的虚拟内存管理器给每个进程分配2GB的VM CE6 0 2GB内核空间 32processes Single2GBVMforallprocesses ExecutionslotandsharedDLLslot Sharedmemory Kernel Slot0 Execution Slot1 ROMDLLs Slot2 Filesys exe Slot3 Device exe Slot4 GWES exe Slot5 Services exe Slot31 Slot32 Slot6 Enforcedfixedprocessslotmodelduetothewayvirtualmemorymanagerworked Allslotswerealwaysthere Processslotsoccupiedlower2GBVM thisenforcedafixedsizeperprocesstofit32processes CE5 0 Slot97 Nk exe UserVirtualMemorySpace SharedUserDLLs512MB RAMBackedMapfiles256MB SharedSystemHeap255MB Processspace1GBperprocess UserSpace2GigabytesEachprocesshasitsownmapping R WforOScomponentsReadonlyforuserprocess RAMBackedMapfilesMappedatfixedlocationforbetterbackwardscompatibility AllDLLs codeanddataSamemappingacrossallprocessesDatapagesareuniquephysicalpagesCodepagesareshared ExecutablecodeanddataVMAllocationFileBackMapfiles 0 x00000000 0 x40000000 0 x80000000 Page16 KernelVirtualMemorySpace KernelSpace2GigabytesFixedmappingindependentofuserspace AllXIPDLLsinkernel Cachedaccesstophysicalmemory Uncachedaccesstophysicalmemory Ramfilesystem ramregistry KernelVirtualMemorySharedbyallkernelServersanddrivers SystemTrapArea CPUSpecificVM KernelVM256 512MB ObjectStore 128MB KernelXIPDLLs 128MB StaticMappedUncached512MB StaticMappedCached512MB 0 xFFFFFFFF 0 x80000000 新的OS布局 把关键的驱动程序 文件系统和图形窗口管理器移动到内核益处极大的减少了这些组件间的系统调用开销减少了所有从用户空间到内核空间的调用的开销增加了基本OS服务间的代码共享 Page18 Applications Applications CE6 0系统体系结构 Hardware Bootloader NK EXE Kernel DLL FileSys DLL GWES DLL Device DLL KernelDrivers KCoredll DLL OSDLLs Coredll Winsock CommCtrl Shell Services ServicesManager UMDriverManager UserModeDrivers 用户模式 内核模式 Applications Applications 驱动程序 将支持两种类型的驱动程序追求性能的内核模式追求健壮性的用户模式移植现有驱动器只需极少的工作量每个驱动器只需1 3天的工作量驱动程序的整体结构保持不变主要改变的是驱动器访问客户内存的方式已经没有了SetKMode和SetProcPermissions方法 用户模式的驱动程序 由udevices exe来装载大多数API和内核模式一样没有权限访问内核的数据结构和内存 无SetkMode 例子扩展总线 例如USB键盘和触摸屏性能要求不是很严的驱动程序可以考虑移到用户模式被调用次数比较少但是做得工作比较多 内核模式的驱动程序 驱动程序经由device dll加载到内核空间对内核的数据结构和内存有完全的访问权限能够使用的APIs没有改变内核模式的驱动程序不能显示UI使用CeCallUserProc来调用用户模式下的DLL网络 CE6 0支持的BSPs Page22 Page23 OAL的变化 把OAL从内核分离了出来OAL变成了 NK EXE Kernel代码变成了 Kernel DLL 可以独立升级整体的OAL结构仍然不变OEM功能不变OAL Kernel的接口经由共享结构 Page24 WindowsCE5 0OAL的设计 Kernel OAL Hardware RTC Cachelibrary Interruptlibrary IOCTLlibrary Startuplibrary RTClibrary KITLlibrary OSTimerlibrary Timers Caches Serialport Ethernetport USBport Nk exe Page25 kernel dll nk exe RTC Cachelibrary Interruptlibrary IOCTLlibrary Startuplibrary RTClibrary kitl dll OSTimerlibrary Timers Caches Serialport Ethernetport USBport Hardware NKGLOBAL KITLIOCTL OEMGLOBAL NKStub lib WindowsEmbeddedCE6 0OAL的设计 CE6 0增强的安全特性 新安全基础构架允许我们在将来构建更好的安全模式用户和内核模式空间的分离与安全开发生命周期 SDL 的一致性在整个操作系统中实现了深度防护战略安全的C运行时库SafeSEHPREfast工具 Page26 Page27 应用程序兼容性 应用程序应用程序二进制兼容性是主要目标良好的应用程序 Win32兼容的 几乎不需要有任何改动托管应用程序已经从操作系统中抽象出来了 平台调用服务问题 P Invoke 如果应用程序使用CE特定的技巧则可能有问题使用 CEAppCompat 工具来评估兼容性问题全球就绪操作系统组件支持14种语言跨语言和地区的深度功能测试改进了我们的操作系统全球支持特性 CE6 0API上的变化 一些APIs移动到内核空间例如 InterruptInitialize InterruptDone ReadRegistryFromOEM 一些APIs不复存在例如 SetKMode CEZeroPointer RemoteHeapAlloc SetProcPermissions一些APIs不被鼓励使用例如 RegisterDevice CreateFileForMappingW IsAPIReady Exposedtousermodedriversthroughkernelreflector CE6 0工具 集成开发环境转换到VisualStudio2005shell 集成到VisualStudio2005 文档与VisualStudio2005集成在一起 最新的catalog功能 PlatformBuilder里面集成了设备模拟器 NETCompactFrameworkv2 0 支持新的调试器传输 事后分析 Postmortemdebugging CE6 0的开发工具 C VB NET NETCompactFramework2 0 C C Win32 WindowsEmbeddedCE6 0OperatingSystem NativeApplications NETApplications VisualStudio2005 PlatformBuilder PlatformBuilder Configuration Build Download DeviceUnderDevelopment DeviceEmulation Debug BSP OAL BootLoader Drivers ExportSDK EmbeddedVisualC VisualStudio2005 StandardSDK OEMISV 开发一个WindowsCE设备 编译器来自VisualStudio2005的附加值 基于VisualStudio2005的编译器益处 改进的C 语言一致性改进的库CRTATLMFC改进的运行时安全检测 CompilersVisualStudio2005Compilers v8 ImprovedconformanceImprovedcodegenerationSupportssafeSEHforsecuritycomplianceSecureCRTAllowspluggableCRun TimesupportPluggableFloatingPointsupportPREfastsupportforARM MIPS x86andSH4 VisualStudioCompilers 集成开发环境 IDE 编辑器和视图 Bib和Reg编辑器Intellisense语法突出图形化Reg文件编辑器Catalog编辑器创建和编辑CatalogXML文件运行时镜像观测器nk bin文件的静态分析工具 诊断USB下载服务 描述 增加了通过USB下载到一个设备上去的能力益处 使得下载到各种新设备上去成为可能 CreateanewOSImageAddanApplicationShownewPlatformBuilderFeaturesShowappdevelopment CE6 0Demo Page38 Page39 Page40 Page41 IntheBox 共享源码 Premium共享源码 只对符合条件的国家内的合格OEMs和合作伙伴通过安全网站开放代码 Premium 例如 网络 权利 PremiumDerivatives参考调试 PremiumRedistribution参考调试修改 Rightsaredefinedandsubjecttoconditionsdescribedineachspecificlicenseagreement Page42 CE6 0共享源码项目 比WindowsCE5 0的源码量增加了56 新内核100 共享源码管理进程 线程和内存为WindowsEmbeddedCE6 0重新设计了内核源码访问能帮助使用那些最好的内核功能驱动程序管理器装载设备驱动器和他们的接口源码访问能帮助调试硬件文件系统管理读和写文件源码访问能帮助改进文件系统的性能 Page43 许多设备驱动程序USBActiveSync Modem之类的驱动程序 USBfnPrinter WiFi驱动还有许多其它的驱动程序通过源码访问 通过修改已有的驱动程序可以为类似的外围设备快速开发出一个新的驱动程序 WindowsEmbeddedCE6 0的新特性 MicrosoftWindowsCETestKit CETK WindowsCETKisthetoolweusetovalidatequalityinWindowsCEWorksonbothretailanddevelopmentdevicesShipswithCE6 0PortedtonewCE6 0kernelNewdesignandarchitecturetoextendthekitbeyonditscurre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北汽知识培训集团课件
- 校园食堂食品安全知识培训课件
- 校园消防知识培训课件新闻稿
- 校园消防安全知识培训
- 物业人民调解员考试试题及答案
- 国画荷花面试题及答案
- 电气制图考试题及答案
- java算法排序面试题及答案
- 法院审判面试题及答案
- 石油普工考试试题及答案
- 2025食品安全考试题库及答案
- 福建省厦门中烟益升华滤嘴棒有限责任公司招聘笔试题库2025
- 2025年小学体育教师资格考试题及答案
- 浙江隆宸现代农业科技有限公司年产4500吨双孢蘑菇技改项目环评报告
- 《城镇房屋租赁合同(示范文本)》(GF-2025-2614)
- 2025上半年广西现代物流集团社会招聘校园招聘149人笔试参考题库附带答案详解
- T-CEPPEA 5002-2019 电力建设项目工程总承包管理规范
- DB63T 1987-2021干拌水泥碎石桩施工技术规范
- 教师遴选笔试试题及答案
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
- 市卫生健康信息化项目建设方案
评论
0/150
提交评论