文档详情

嵌入式软件开发导论-6系统架构.ppt

发布:2019-01-24约8.01千字共45页下载文档
文本预览下载声明
Session 2: Testing Windows CE .NET Alan Page, Microsoft 概述 系统架构 NK.EXE FILESYS.EXE DEVICE.EXE GWES.EXE SERVICES.EXE Thread Migration Windows CE 系统架构 NK.EXE NK.LIB + OAL.LIB = NK.EXE 内核是硬件体系结构无关但是是处理器相关的 OAL越小越好 微软提供了预先编译的 NK.LIB 库文件 NK.lib的大多数代码都是公开的 通过高级代码共享,可以得到更多代码 提供: 内存管理 调度管理 系统调用转发 实现了一些基本的Win32函数 Protected Server Libraries (PSL) 实现API的系统函数 把操作系统的功能放在多个进程的机制 PSL Calls run through the Kernel (NK.EXE) 不对最终用户开放 你不能创建一个PSL GWES.EXE 图形窗口事件系统 (GWES) 管理所有的图形界面处理以及用户输入 桌面的 USER32 + GDI32 作为一个单独的进程 DEVICE.EXE 设备管理器 电池驱动已经被从GWES中拿走了 大多数功能都放在了devmgr.dll中。 提供所有的与驱动相关的函数实现 在启动的时候通过注册表加载驱动程序 Services.EXE 所有服务的宿主进程 与Device.exe分开 FTP, TELNET, HTTPD (Web), UPnP, SMB, 其它… 用户可以添加服务 提供命令行工具来启动、关闭服务 提供API管理服务 文件系统 所有与文件系统相关的函数都在 FileSys.exe中实现 单根 “\”, 没有像“C:\”一样的盘符 有三个组件: 对象存储 存储管理器 ROM 文件系统 文件系统概述 目标存储 被 FileSys.exe管理的一个堆 包括: Registry Database RAM文件系统 RAM 文件系统通常位于根目录 Ex : “\myfile.txt” 存在于RAM中 ROM 文件系统 被映射成“\Windows” 目录 “\Windows” 目录中所有的文件都是只读的 通常是nk.bin或nk.nb0中的文件 存储管理 负责: Storage device driver Partition device driver File System device driver File System filter 线程迁移 概述 进程 线程 虚拟内存 Windows CE 内核特征 多进程 可以支持最多32个进程 多线程 支持256个线程优先级 Fibers 只能被应用程序手工调度的执行单元 同步对象 Critical Sections, Mutexes, Semaphores, Events, Message Queues 内存模型 Virtual memory, Code sections Paged, No backing store for Data sections 进程 静态上下文,线程的容器 进程不被执行,线程被执行 系统中同时最多只能有32个进程: 对大多数嵌入式系统来说都已经足够。推荐用多线程而不是多进程 迎合一些体系结构的支持 Windows CE 使用与 Windows XP一样的加载/卸载模型 (与其它桌面Window一样) 支持命令行程序 但是与桌面Win32 API不一样 调用 CreateProcess() 启动进程 线程 Win32的执行的单元 按照优先级调度 高优先级的线程会抢占低优先级的线程 同样的优先级使用Round-Robin算法 默认的时间片是 100毫秒,OEM可以在OAL中重新设置 线程调度 线程A拥有最高的优先级,他会一直执行直到结束或阻塞 线程B和C使用Round-Robin算法运行 在round-robin 每个线程都运行一个固定的时间,叫做时间片 优先级数字越小,优先级越高 线程优先级分布图(例) 优先级反转 Avoid priority inversion by keeping all threads waiting for same resource at the same priority Thread API 线程创建 CreateThread – 创建一个普通优先级的线程 线程优先级 GetThreadPriority – 当前线程的优先级 SetThreadPriority – 改变当前线程的优先级 (251) CeGetThreadPriority – 得到实时线程的优先级 CeSetThreadPriority – 改变实时线程的优先级 线程睡眠 S
显示全部
相似文档