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

第三章 模型、进程和线程.ppt

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

第三章 模型、进程和线程 内容提要 模型 进程 线程 同步 Windows CE 安全 进程间通信 异常处理 1. 模型 相当于Windows XP中使用的PE格式 Windows CE.NET支持两种模型: 应用程序 扩展名.EXE 动态链接库 扩展名.DLL EXE模型和DLL模型 实际上区别很细微 使用中区别很明显 EXE模型可以独立安装 DLL模型不可以独立安装 被EXE模型调用或者被其他DLL模型调用 通过明确的下载实现安装 2. 进程 进程概述 Windows CE的进程描述 Windows CE进程结构分析 进程的创建和终止 2.1 进程概述 进程是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。 进程具有动态性、独立性、并发性和结构化等特征。 进程与程序关系: 联系 程序是构成进程的两个组成部分之一 区别 程序是静态的,进程是动态的 程序可以在长期保存,而进程有它的生命周期,不能长期保存 一个程序可对应多个进程,而一个进程只能对应一个程序。 2.2 Windows CE的进程描述 Windows CE中的进程 最多只能支持32个进程同时运行; 系统启动时,至少默认启动四个进程: NK.exe 提供有关内核的服务 FILESYS.EXE 提供有关文件系统的服务 GWES.EXE 提供对GUI系统的支持 DEVICE.EXE 载入和管理设备驱动程序 2.3 Windows CE进程结构分析 Windows CE中,每一个进程由process结构来描述,也就是进程控制块(PCB,Process Control Block); 系统创建一个进程时,将分配一个新的process结构;进程结束时,这个结构将被回收; 与 Windows 98或NT 进程比较,Windows CE进程包含较少的状态信息; 进程是系统资源分配的基本单位。 在Windows CE中process结构的主要部分有: procnum 当前进程ID号 ,用来识别一个进程 pProxList 存放proxy的队列,LPPROXY结构的链表 hProc 此进程的句柄,在调用SC_GetProcFromPtr时使用 dwVMBase 该进程在内存中所占区域的基地址 pTh 表示当前进程中所有的第一个线程 BasePtr 指向加载EXE可执行文件的基址针 lpszProcName 该进程的名称 PfnEH 进程异常处理例程 pMainTh 该进程所拥有的主线程 pmodeResource 包含资源的模块指针 oe 指向可执行文件句柄的指针 2.4 进程的创建和终止 创建进程 CreatProcess 终止进程 从WinMain过程返回 可以使用GetExitCodeProcess函数确定进程的退出代码 其他进程 OpenProcess 返回已运行的进程的句柄 GetWindowThreadProcessId 获取窗口的句柄,并返回创建该窗口的进程的进程ID 3.线程 线程概述 Windows CE的线程结构分析 系统调度 创建线程 线程本地存储器 3.1 线程概述 线程是进程的一个实体 线程自身不拥有系统资源,但是线程可共享资源; 线程具又被称为轻量级进程; 通常一个进程都有若干个线程,至少有一个(Windows CE中是主线程)。 线程和进程: 调度方面 并发性 拥有的资源 系统开销 线程的优点 创建一个新线程花费的时间比创建进程的时间要少得多; 两个线程之间的切换花费的时间非常少; 在同一个进程内的线程共享进程所拥有的资源,所以之间的通信不需要额外的机制。 3.2 Windows CE线程结构分析 Windows CE中的线程数据结构大致可以分为: wInfo信息 各种链接信息 线程调度信息 线程时间信息 一些有关计数的信息 有关Windows CE的调度 3.3 系统调度 Windows CE以抢先方式调度线程 线程以“时间片”运行 线程可以拥有各自不同的优先级 高优先级的线程先运行 低优先级的线程不会抢占高优先级的线程 Windows CE中的8种优先级 Windows CE调度概述 Windows CE采用基于优先级的时间片轮转方法; 线程是调度的基本单位,运行一个固定的时间片; Windows CE中的许多队列,分别对应不同目录下的进程,一个进程一个时刻只能在一个队列中,而当前运行的进程则例外; 基于优先级来选择线程运行,拥有高优先级的线程将在低优先级的线程前面运行。 线程调度的时机 线程状态转换 可运行队列的头部插入了一个线程 时间片用完或被抢占 中断处理完成后 跟调度有关的函数简介 MakeRunIfNeeded 函数 在需要的时候调度线程 MakeRun 函数 RunqDequeue 函数 从运行队列中删除一个线程

文档评论(0)

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

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

版权声明书
用户编号:7065201001000004

1亿VIP精品文档

相关文档