操作系统原理徐宗元OS--第二章

操作系统原理徐宗元OS--第二章

ID:39700884

大小:962.50 KB

页数:77页

时间:2019-07-09

操作系统原理徐宗元OS--第二章_第1页
操作系统原理徐宗元OS--第二章_第2页
操作系统原理徐宗元OS--第二章_第3页
操作系统原理徐宗元OS--第二章_第4页
操作系统原理徐宗元OS--第二章_第5页
资源描述:

《操作系统原理徐宗元OS--第二章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.Windows2000的基元成分――对象(object)、进程(process)、线程(Thread)对象、进程、线程是Windows2000三个基元成份,它们之间有互相交叉的关系。对象是一个抽象的数据结构,在Windows2000中用以表示广义的资源。它是构成OS的三个基元成份中非活动的成份,对象是数据和有关操作的封装体,它包装数据、数据的属性以及可以施加于数据的操作等三个成份。具有相同特性的对象也可归为一个对象类,在软件设计中定义了对象类(称为类Class),而对象则是对象类一个具体实现的示例。对象作为抽象数据而封装在其内部的操作函数所提供的操

2、作也给人活动成份的感觉,但是从操作系统这一角度来认识,对象是构成操作系统的非活动成份。而进程和线程则是构成OS的两个活动成份。Windows2000的基元成分――对象-1Windows2000中的实体,当数据或资源对用户态开放时,或者当数据访问是共享的或受限制时,才使用对象。采用对象方法表示的实体有文件、进程、线程、信号量、互斥量、事件、计时器等。Windows2000通过对象管理器以一致的方法创建和管理所有的对象类型,对象管理器代表应用程序负责创建和删除对象,并负责授权访问对象的数据和服务。每一个对象都有一个对象头和一个对象体。对象管理器控制对象头,

3、各执行体组件控制它们自己创建的对象类型的对象体。当进程通过名称来创建或打开一个对象时,它会收到一个代表进程访问对象的句柄。所有用户态进程只有获得了对象句柄之后才可以使用这个对象。句柄作为系统资源的间接指针来使用,这种不直接的方式阻止了应用程序对系统数据结构直接地随便操作。ThestructureofanobjectSomecommonexecutiveobjecttypes managedbytheobjectmanagerWindows2000的基元成分――进程-1Windows2000中进程被定义为表示OS所要做的工作,是OS用于组织其必须完成诸工

4、作的一种手段。NT中的进程由一个可执行的程序、一个私用的虚地址空间、系统资源和至少一个执行线程等四部分组成。NT的进程概念与传统OS进程概念有所不同,NT进程是作为对象来实现,因此从广义角度来说,进程也是共享的资源(多个用户进程可共享服务器进程提供的服务)。Windows2000的基元成分――进程-2NT定义了一个进程对象类,进程的对象类的对象体和所包含的属性定义了进程对象的数据及其属性和施加其上的操作(服务)(进程对象体属性见下页),但描述进程组成的两个主要部分――进程地址空间和局限于进程的对象表,不包含在属性表中,因为它是附属的、不可见的。NT进程

5、要求一个独特的组成成分――至少一个执行线程,这在传统OS中是没有的。NT进程的组成中没有进程控制块,有关进程的信息在进程对象的对象体中以及局限于进程的对象表中。WindowsNTProcessObjectAttributesProcessIDSecurityDescriptorBasepriorityDefaultprocessoraffinity(亲合关系)Quotalimits(配额)ExecutiontimeI/OcountersVMoperationcountersException/debuggingportsExitstatusWindow

6、sNT/2000的基元成分――对象、进程、线程-3NT的线程是进程内的一个执行单元,是进程内的一个可调度实体。一个线程是由唯一的标识符客户ID、描述处理器状态的一组状态寄存器的内容、用户栈和核心栈、一个私用存贮器等四部分组成,线程也是作为对象来实现,线程对象体属性见下页。每个进程创建时只有一个线程,需要时这个线程创建其它线程。线性是进程的一个组成部分,一个NT进程可以有多个线程在其地址空间内执行。资源分配的单位是进程,调度和执行的基本单位是线程。Windows2000ThreadObjectAttributesThreadIDThreadcontext

7、DynamicpriorityBasepriorityThreadprocessoraffinityThreadexecutiontimeAlertstatusSuspensioncountImpersonationtokenTerminationportThreadexitstatusNT进程结构2.Windows进程控制API函数---CreateProcess函数当一个线程调用CreateProcess时,系统就会创建一个进程内核对象,为新进程创建一个虚拟地址空间,并将可执行文件加载到该进程的地址空间中。然后系统再为新进程的主线程创建一个线程内核

8、对象。通过执行启动代码,该主线程便开始运行,它最终调用WinMain、wWinMain、mai

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。