- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 处理程序与执行绪的描述和排程
这个章节将详细介绍Windows CE 系统中的处理程序 (process) 和执行绪 (thread),并对Windows CE操作系统所使用的排程策略进行分析。处理程序是资源分配的基本单位,而执行绪是排程的基本单位。这一章的程序代码主要节选于 [CEROOT]PRIVATE\WINCEOS\COREOS\NK\KERNEL\ 目录的 schedule.c、intrapi.c 以及 [CEROOT]PRIVATE\WINCEOS\COREOS\NK\INC 目录的 schedule.c、kernel.h的几个档案,其目的在于了解程序在开发执行时,对系统资源的共享以及程序的排程。
3.1 处理程序的定义和描述
3.1.1 处理程序概述
处理程序是一个具有一定独立功能之程序的动态执行过程。处理程序由正文段 (text)、用户数据段 (user segment) 以及系统数据段 (system segment) 共同组成一个执行环境,负责处理器、内存和外围等资源的分配和回收。处理程序是计算机系统资源的使用主体,是操作系统分配资源的基本单位。
处理程序具有动态性、独立性、并行性和结构化等特征。动态性是指处理程序具有动态的地址空间,地址空间的大小和内容都是动态变化的。地址空间的内容包括程序代码 (指令执行和处理器状态的改变)、数据 (变量的生成和初始化) 和系统控制信息 (PCB (Process Control Block) 的生成和删除)。独立性是指各个处理程序的地址空间相互独立,除非采用处理程序间通信服务,否则不能相互影响。并行性也称为异步性,是指从宏观上来看,各个处理程序是同时独立运行的。结构化是指处理程序对于地址空间的结构划分,如程序代码段、数据段和核心段划分。
我们必须了解处理程序和程序的区别,程序是一个普通档案,是一个程序代码指令和数据的集合,这些指令和程序代码储存在磁盘上成为可执行映像 (Executable Image),是一个静态的实体。我们可以用下面简单的方式了解处理程序和程序的关系:
处理程序和程序的关系
程序是处理程序的两个重要组成之一。处理程序的主要目的是执行它所对应的程序。
处理程序和程序的区别
主要有以下三种:
程序是静态的,处理程序是动态的;
程序可以在储存设备 (如:磁盘) 上长期保存,而处理程序则是在 建立处理程序后产生,结束处理程序后消失。
一个程序可以对应多个处理程序,但是一个处理程序只能对应一个程序。例如:打开Word的两个窗口,编辑两个不同的文字文件,就对应到两个不同的处理程序。
3.1.2 Windows CE处理程序的描述
Windows CE的处理程序不同于Windows 98或Windows NT,最大差别在于 Windows CE最多只可以支持32个处理程序在系统中同时运行,系统启动的时候,将至少自动启动四个处理程序,一个是NK.exe,用来提供操作系统中kernel的服务,第二个是FILESYS.EXE,它用来提供相关档案系统的服务,第三个是GWES.EXE,它用来提供对GUI系统的支持,第四个是DEVICE.EXE,它用来加载和管理外围的驱动程序。他们占据虚拟地址的前四个slots,一个slot有32MB空间,详见资料储存部分的介绍,目前执行的处理程序将会对应到第一个slot (slot 0)。大部分的Windows CE系统,也会同时建立EXEPLORER.EXE处理程序﹔如果Windows CE系统正在与个人计算机相连,则会启动REPLLOG.EXE和PAPISRV.EXE,他们用来管理个人计算机和Windows CE系统之间的连接服务。所以使用者可以启动的处理程序最多大概有24个,或稍微多一点,但是对一般的使用来说,这是足够的。
不同于Windows 98或Windows NT系统,Windows CE系统不支持一些功能,例如Windows CE系统不支持许多处理程序和与执行绪相关的函数。Windows CE系统不支持环境 (environment),所有与处理环境有关的Win32函数在Windows CE系统中并不存在。
3.1.3 Windows CE处理程序结构分析
在Windows CE中,每一个处理程序由一个程序结构来描述。也就是我们平时说的PCB。它定义于NK/INC/kernel.h。处理程序的所有信息都保存在这个结构中,当系统建立一个处理程序时,将分配一个新的程序结构,处理程序结束时,这个结构将被回收。
与Windows 98或Windows NT的处理程序相比较,Windows CE处理程序包含比较少的状态信息。由于Windows CE不支
文档评论(0)