网站大量收购独家精品文档,联系QQ:2885784924

Windows CE 操作系统分析.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows CE 操作系统分析

Windows CE 操作系统分析 南京大学软件学院 2005年5月 内容 Windows CE概述 进程和线程 内存管理 创建Win CE (little) 内容 Windows CE概述 进程和线程 内存管理 创建Win CE (little) Windows CE是什么(1) 从最终用户角度看, Windows CE是一个嵌入式操作系统 从开发者角度看, Windows CE是一个包括多种目标处理器和板卡设备支持、系统开发工具、应用开发工具,集成应用程序和 Compact Framework的集合 Windows CE是什么(2) 源代码开放70% 图形化界面 Win32 API,ActiveX控件,消息队列,COM接口,ATL和MFC 通过ActiveSync实现嵌入式设备与台式计算机之间的通信 Windows CE的设计目标(1) 为嵌入式开发人员和原始设备制造商(OEM)提供支持 PDA/Pocket PC, Smartphone, Internet appliance, Media, appliance, Set-top box, …… Windows CE的设计目标(2) 适应小型系统,为低成本、弱计算能力的系统提供简洁、高效、完善的控制手段 支持多种处理器和计算机结构,支持多种设备接口 支持高要求的实时设计,提供可靠的内核服务 操作系统各部分模块化,可选择定制,以适应ROM并以最佳方式使用内存 为应用提供网络通信、图形用户界面、数据库和文件等支持 高级电源管理 Windows CE体系结构 分层模型 硬件层、OEM层、操作系统层、应用层 组件模型 内容 Windows CE概述 进程和线程 内存管理 创建Win CE (little) 一些基本概念 进程,线程 抢占式多任务 线程的优先级 中断 ISR,IST 中断延迟减少 进程 最多32个进程同时运行 进程地址空间0x0000 0000 – 0x4200 0000; 33 slots (32MB/slot); Slot 0: 0x0000 0000 – 0x01ff 0000 每个进程可创建多个线程 主线程 依靠Win32消息初始化进程,控制系统资源,并与用户通信 进程(续) 由两个部分组成: 操作系统用来管理这个进程的内核对象 该进程拥有的地址空间,包括: 代码段、静态数据段、堆、栈,非XIP (Execute In Place) DLL 进程与slot Windows CE 以前的版本: 进程启动时,内核选择一个没有被占用的槽作为这个进程的地址空间。 进程在即将得到CPU控制权时,将整个地址映射到Slot 0-当前运行进程。 分配一个槽后,内核在这个槽内按由低地址到高地址顺序为代码段、静态数据段分配足够的地址空间,然后是堆、栈,栈之后的空间为所有 DLL保留,包括XIP和非XIP DLL。 从Slot 1 到 Slot32 为进程使用;前几个槽一般为系统程序使用,如filesys.exe、device.exe、gwes.exe等。 注意Slot 0最底部64KB是永远保留的。 Windows CE : Slot 1也用于当前进程(Slot 1只用于加载所有XIP DLL) 进程地址空间32MB-64MB。 进程与slot(续) 当前运行进程 Slot 0(0x0000 0000 - 0x01FF FFFF) 创建进程 终止进程 WinMain或其他主函数返回 ExitProcess函数 ExitThread函数 主线程中调用 TerminateProcess函数 当前进程终止另一个进程; 当调用TerminateProcess函数使指定进程退出时,它会通知指定进程加载的所有DLL;这样DLL就能做结束的处理工作了。 线程 线程: 真正的执行单元 除了能访问进程的资源外,每个线程拥有自己的栈 线程的栈: 以内存页为单位 默认大小:64K;顶端永远保留2KB防止溢出 线程的状态: 运行、挂起、睡眠、阻塞、终止 创建一个线程 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId ); 退出线程 退出进程 函数返回 ExitThead函数 TerminateThread函数 当前进程终止另一个进程;危险! 此函数一旦成功执行,指定的线程会立刻终止执行,那么可能有很多的结束处理工作还没来得及进行,但是此线程加载的DL

文档评论(0)

ranfand + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档