欢迎来到天天文库
浏览记录
ID:19177128
大小:249.00 KB
页数:29页
时间:2018-09-21
《windows ce 处理程序与执行绪的描述和排程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章处理程序与执行绪的描述和排程这个章节将详细介绍WindowsCE系统中的处理程序(process)和执行绪(thread),并对WindowsCE操作系统所使用的排程策略进行分析。处理程序是资源分配的基本单位,而执行绪是排程的基本单位。这一章的程序代码主要节选于[CEROOT]PRIVATEWINCEOSCOREOSNKKERNEL目录的schedule.c、intrapi.c以及[CEROOT]PRIVATEWINCEOSCOREOSNKINC目录的schedule.c、kernel.h的几个档案,其目的在于了解程序在开发执
2、行时,对系统资源的共享以及程序的排程。3.1处理程序的定义和描述3.1.1处理程序概述处理程序是一个具有一定独立功能之程序的动态执行过程。处理程序由正文段(text)、用户数据段(usersegment)以及系统数据段(systemsegment)共同组成一个执行环境,负责处理器、内存和外围等资源的分配和回收。处理程序是计算机系统资源的使用主体,是操作系统分配资源的基本单位。处理程序具有动态性、独立性、并行性和结构化等特征。动态性是指处理程序具有动态的地址空间,地址空间的大小和内容都是动态变化的。地址空间的内容包括程序代码(指令执行和处理器状态的改变
3、)、数据(变量的生成和初始化)和系统控制信息(PCB(ProcessControlBlock)的生成和删除)。独立性是指各个处理程序的地址空间相互独立,除非采用处理程序间通信服务,否则不能相互影响。并行性也称为异步性,是指从宏观上来看,各个处理程序是同时独立运行的。结构化是指处理程序对于地址空间的结构划分,如程序代码段、数据段和核心段划分。我们必须了解处理程序和程序的区别,程序是一个普通档案,是一个程序代码指令和数据的集合,这些指令和程序代码储存在磁盘上成为可执行映像(ExecutableImage),是一个静态的实体。我们可以用下面简单的方式了解处
4、理程序和程序的关系:1.处理程序和程序的关系程序是处理程序的两个重要组成之一。处理程序的主要目的是执行它所对应的程序。2.处理程序和程序的区别主要有以下三种:l程序是静态的,处理程序是动态的;l程序可以在储存设备(如:磁盘)上长期保存,而处理程序则是在建立处理程序后产生,结束处理程序后消失。l一个程序可以对应多个处理程序,但是一个处理程序只能对应一个程序。例如:打开Word的两个窗口,编辑两个不同的文字文件,就对应到两个不同的处理程序。3.1.2WindowsCE处理程序的描述WindowsCE的处理程序不同于Windows98或WindowsNT,
5、最大差别在于 WindowsCE最多只可以支持32个处理程序在系统中同时运行,系统启动的时候,将至少自动启动四个处理程序,一个是NK.exe,用来提供操作系统中kernel的服务,第二个是FILESYS.EXE,它用来提供相关档案系统的服务,第三个是GWES.EXE,它用来提供对GUI系统的支持,第四个是DEVICE.EXE,它用来加载和管理外围的驱动程序。他们占据虚拟地址的前四个slots,一个slot有32MB空间,详见资料储存部分的介绍,目前执行的处理程序将会对应到第一个slot(slot0)。大部分的WindowsCE系统,也会同时建立EXE
6、PLORER.EXE处理程序﹔如果WindowsCE系统正在与个人计算机相连,则会启动REPLLOG.EXE和PAPISRV.EXE,他们用来管理个人计算机和WindowsCE系统之间的连接服务。所以使用者可以启动的处理程序最多大概有24个,或稍微多一点,但是对一般的使用来说,这是足够的。不同于Windows98或WindowsNT系统,WindowsCE系统不支持一些功能,例如WindowsCE系统不支持许多处理程序和与执行绪相关的函数。WindowsCE系统不支持环境(environment),所有与处理环境有关的Win32函数在WindowsC
7、E系统中并不存在。3.1.3WindowsCE处理程序结构分析在WindowsCE中,每一个处理程序由一个程序结构来描述。也就是我们平时说的PCB。它定义于NK/INC/kernel.h。处理程序的所有信息都保存在这个结构中,当系统建立一个处理程序时,将分配一个新的程序结构,处理程序结束时,这个结构将被回收。与Windows98或WindowsNT的处理程序相比较,WindowsCE处理程序包含比较少的状态信息。由于WindowsCE不支持驱动程序及工作目录(WorkingDirectory)的概念,所以每个处理程序不需要保存这些信息。Windows
8、CE也不需要保存一系列的环境变量,所以PCB中不需要有关于环境变量的部分。WindowsCE不支持句柄继承,
此文档下载收益归作者所有