第7章 实例分析:Windows 2000操作系统.ppt
《第7章 实例分析:Windows 2000操作系统.ppt》由会员分享,可在线阅读,更多相关《第7章 实例分析:Windows 2000操作系统.ppt(117页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、7.1 Windows 20007.1 Windows 2000的处理机管理的处理机管理7.2 Windows 20007.2 Windows 2000的存储管理的存储管理7.3 Windows 20007.3 Windows 2000的文件管理的文件管理7.4 Windows 20007.4 Windows 2000的设备管理的设备管理第第7 7章章 WWindowsindows 2000 2000 操作系统操作系统实例分析实例分析(1 1)Windows 2000Windows 2000的微内核结构、线程概念及的微内核结构、线程概念及其调度策略;其调度策略;(2 2)Windows 200
2、0Windows 2000的页目录、页表两级地址转的页目录、页表两级地址转换过程,以及进程工作集概念;换过程,以及进程工作集概念;(3 3)Windows 2000Windows 2000支持的支持的NTFSNTFS文件系统及基于文件系统及基于日志文件的可恢复性技术;日志文件的可恢复性技术;(4 4)Windows 2000Windows 2000的的I/OI/O请求包(请求包(IRPIRP)和两级)和两级中断处理(中断处理(ISRISR和和DPCDPC)。)。本章主要内容本章主要内容7 7.1 Windows 20001 Windows 2000的处理机管理的处理机管理7 7.1 1.1 W
3、indows 20001 Windows 2000的结构的结构 当今,可以用一种名为当今,可以用一种名为“客户客户-服务服务器器”的模型,来构造操作系统。的模型,来构造操作系统。图图7-1 7-1 客户客户-服务器模型服务器模型 用这种方法来构造操作系统,其中心用这种方法来构造操作系统,其中心思想是将系统中的非基本部分从内核里思想是将系统中的非基本部分从内核里移走,只把最为关键的进程管理、内存移走,只把最为关键的进程管理、内存管理以及进程通信等功能,留存下来组管理以及进程通信等功能,留存下来组成系统的内核。这就是所谓的成系统的内核。这就是所谓的“微内核微内核”构造模式。构造模式。7 7.1 1
4、.1 Windows 20001 Windows 2000的结构的结构 Windows 2000Windows 2000就是基于这样一种模式就是基于这样一种模式来构造和设计的,图来构造和设计的,图7-27-2是它的整体结构。是它的整体结构。Windows 2000系统内核特点图图7-2 Windows 20007-2 Windows 2000的整体结构的整体结构7 7.1 1.2 Windows 20002 Windows 2000的进程和线程的进程和线程1 1线程的概念线程的概念 以往的操作系统中,进程具有的两个以往的操作系统中,进程具有的两个基本特征。基本特征。(操作系统只有进程,没有(操
5、作系统只有进程,没有线程)线程)n进程是系统进行资源分配的单位;进程是系统进行资源分配的单位;n进程是系统进行处理机调度分派的单位。进程是系统进行处理机调度分派的单位。Windows 2000Windows 2000把这两个都维系在进程把这两个都维系在进程一体的特征分开来处理,形成不同的实一体的特征分开来处理,形成不同的实体:让进程只具有体:让进程只具有“资源拥有者资源拥有者”这个这个特征,而特征,而“调度和运行调度和运行”这个特征则赋这个特征则赋予一个新的实体予一个新的实体线程。线程。进程与线程区别线程概念 “线程(线程(threadthread)”是进程的一个实是进程的一个实体,是进程中实
6、施调度和处理机分派的体,是进程中实施调度和处理机分派的基本单位。基本单位。进程与线程的关系 因此,如果把进程理解为是操作系统因此,如果把进程理解为是操作系统在逻辑上需要完成的一个任务,那么线在逻辑上需要完成的一个任务,那么线程则是完成该任务时可以并发执行的多程则是完成该任务时可以并发执行的多个子任务。个子任务。图图7-3 7-3 进程和线程的关系示意进程和线程的关系示意2 2、Windows 2000Windows 2000的进程和线程的进程和线程 引入了线程后,系统中既有进程控制块引入了线程后,系统中既有进程控制块也有线程控制块,它们分别描述了进程也有线程控制块,它们分别描述了进程和线程应有
7、的一些基本属性。和线程应有的一些基本属性。3 3Windows 2000Windows 2000线程的状态及状态变迁线程的状态及状态变迁 一个进程在一个进程在Windows 2000Windows 2000里,仍然只里,仍然只有就绪、运行、等待(阻塞)三种基本有就绪、运行、等待(阻塞)三种基本状态。但线程则有六种可能的状态:就状态。但线程则有六种可能的状态:就绪、备用、运行、等待、转换和终止。绪、备用、运行、等待、转换和终止。图图7-4 Windows 20007-4 Windows 2000线程的状态及其变迁线程的状态及其变迁4 4进程与线程的比较进程与线程的比较图图7-5 7-5 进程与线
8、程间的比较进程与线程间的比较进程和线程比较进程和线程比较(1 1)地址空间)地址空间 不同进程的地址空间是相互独立的,不同进程的地址空间是相互独立的,同一进程的各个线程共享同一个地址空同一进程的各个线程共享同一个地址空间。因此,进程中的线程,不可能被另间。因此,进程中的线程,不可能被另一个进程所看见。一个进程所看见。进程和线程比较(续)进程和线程比较(续)(2 2)通信关系)通信关系 不同进程间的通信,必须使用操作系统提供不同进程间的通信,必须使用操作系统提供的进程通信机制。同一进程的各个线程间的通的进程通信机制。同一进程的各个线程间的通信,可以直接通过访问共享的进程地址空间来信,可以直接通过
9、访问共享的进程地址空间来实现。实现。(3 3)调度切换)调度切换 不同进程间的调度切换,系统要花费很大的不同进程间的调度切换,系统要花费很大的开销(比如,要从这个地址空间转到那个地址开销(比如,要从这个地址空间转到那个地址空间)。同一进程的线程间的切换,无须转换空间)。同一进程的线程间的切换,无须转换地址空间,显然会减少很多的系统开销。地址空间,显然会减少很多的系统开销。7 7.1 1.3 Windows 20003 Windows 2000的线程调度的线程调度 Windows 2000Windows 2000处理机调度的对象是线处理机调度的对象是线程,进程只是以资源和运行环境提供者程,进程只
10、是以资源和运行环境提供者的身份出现。的身份出现。线程调度策略 Windows 2000Windows 2000实施的是一个基于优先实施的是一个基于优先级的、抢占式的多处理机调度策略。调级的、抢占式的多处理机调度策略。调度时,只是针对线程队列进行,并不去度时,只是针对线程队列进行,并不去考虑被调度线程属于哪一个进程。考虑被调度线程属于哪一个进程。线程调度时机 一个线程进入就绪状态;一个线程进入就绪状态;一个线程运行的时间片到时;一个线程运行的时间片到时;一个线程的优先级被改变;一个线程的优先级被改变;1 1Windows 2000Windows 2000进程的优先级进程的优先级 在在Window
11、s 2000Windows 2000里,进程可以有四里,进程可以有四种优先级:实时(种优先级:实时(Real-TimeReal-Time)、高)、高(HighHigh)、普通()、普通(NormalNormal)以及空闲)以及空闲(IdleIdle)。这四种优先级的默认取值是:)。这四种优先级的默认取值是:2424、1313、7/97/9、4 4。2 2Windows 2000Windows 2000线程的优先级线程的优先级 在在Windows 2000Windows 2000里,一旦线程被创建,里,一旦线程被创建,它就取所属进程的优先级。它就取所属进程的优先级。Windows Windows
12、 20002000线程的优先级,可以取线程的优先级,可以取0 03131的值。的值。图图7-6 7-6 线程的优先级分布线程的优先级分布进程与线程优先级特点n 一个进程只能有单个优先级的取值,一个进程只能有单个优先级的取值,因此称其为基本优先级。一个进程里的因此称其为基本优先级。一个进程里的线程,除了仍然有所属进程的基本优先线程,除了仍然有所属进程的基本优先级外,还有运行时的当前优先级。级外,还有运行时的当前优先级。n线程的当前优先级,随占用线程的当前优先级,随占用CPUCPU时间的长时间的长短等因素,会不断地得到调整(在短等因素,会不断地得到调整(在1 11515的范围)。的范围)。3 3线
13、程时间的配额线程时间的配额n线程时间的配额,就是所谓的时间片,线程时间的配额,就是所谓的时间片,它不是一个时间的长度值,而是一个配它不是一个时间的长度值,而是一个配额单位的整数。额单位的整数。n每个线程都有一个代表本次运行最大时每个线程都有一个代表本次运行最大时间长度的时间配额。由于间长度的时间配额。由于Windows 2000Windows 2000采用的是抢占式调度,因此一个线程有采用的是抢占式调度,因此一个线程有可能在没有用完它的时间配额时,就被可能在没有用完它的时间配额时,就被其他线程所抢占。其他线程所抢占。4 4线程调度的管理线程调度的管理nWindows 2000Windows 2
14、000用一张所谓的用一张所谓的“线程调度线程调度器就绪队列器就绪队列”表、一个就绪位图、一个表、一个就绪位图、一个空闲位图来管理有关线程的调度。如图空闲位图来管理有关线程的调度。如图7-87-8所示。所示。图图7-8 Windows 20007-8 Windows 2000线程调度的管理线程调度的管理5 5单处理机系统中的线程调度策略单处理机系统中的线程调度策略nWindows 2000Windows 2000在单处理机系统和多处理在单处理机系统和多处理机系统中,所实施的线程调度是不同的。机系统中,所实施的线程调度是不同的。n 单处理机系统中的线程调度策略,是严单处理机系统中的线程调度策略,是
15、严格基于优先级来确定哪个线程占用处理格基于优先级来确定哪个线程占用处理机,并进入运行状态。多处理机系统中机,并进入运行状态。多处理机系统中的线程调度,本书不去涉及。的线程调度,本书不去涉及。(1 1)主动切换)主动切换图图7-9 7-9 线程的主动切换调度线程的主动切换调度(2 2)抢占)抢占图图7-10 7-10 线程的抢占调度线程的抢占调度(3 3)时间配额用完)时间配额用完图图7-11 7-11 时间配额用完时的线程调度时间配额用完时的线程调度(4 4)结束)结束5 5线程优先级的升降线程优先级的升降图图7-12 7-12 线程优先级升降过程示意线程优先级升降过程示意7 7.2 Wind
16、ows 20002 Windows 2000的存储管理的存储管理7 7.2 2.1 Windows 20001 Windows 2000进程的空间布局进程的空间布局nWindows2000Windows2000采采用用的的是是3232位位的的虚虚拟拟地地址址结结构构。因因此此,每每一一个个用用户户进进程程最最大大的的虚虚拟拟地址空间可以是地址空间可以是2 23232=4GB=4GB。图图7-13 Windows 20007-13 Windows 2000虚拟地址空间的两种布局虚拟地址空间的两种布局7 7.2 2.2 Windows 20002 Windows 2000的地址变换机构的地址变换机
17、构1 1虚拟地址的划分虚拟地址的划分nWindows 2000Windows 2000是通过请求分页的方式,向用是通过请求分页的方式,向用户提供虚拟存储的。户提供虚拟存储的。n在在Windows 2000Windows 2000中,物理内存中划分的块被中,物理内存中划分的块被称为称为“页帧页帧”(有的书上也称为(有的书上也称为“页框页框”),),每个页帧的尺寸为每个页帧的尺寸为4KB4KB。这就是说,虚拟地。这就是说,虚拟地址空间里一页的尺寸,也是址空间里一页的尺寸,也是4KB4KB大小。大小。Windows 2000Windows 2000虚拟地址的划分虚拟地址的划分n图图7-147-14给
18、出了给出了Windows 2000Windows 2000虚拟地址的虚拟地址的划分情况。图中一个虚拟地址被划分成划分情况。图中一个虚拟地址被划分成三个部分:页目录索引、页表索引、页三个部分:页目录索引、页表索引、页内位移量。内位移量。图图7-14 Windows 20007-14 Windows 2000虚拟地址的构成虚拟地址的构成2 2页目录与页目录项页目录与页目录项n每个进程都有一个页目录,通过它能够每个进程都有一个页目录,通过它能够获得该进程所有(小)页表的位置。获得该进程所有(小)页表的位置。n页目录由一个个页目录项(也就是图页目录由一个个页目录项(也就是图7-7-1414里的页目录索
19、引,英文缩写为里的页目录索引,英文缩写为PDEPDE)组)组成。每个页目录项为成。每个页目录项为4 4个字节长,记录了个字节长,记录了进程一个(小)页表的状态和位置。进程一个(小)页表的状态和位置。3 3页表与页表项页表与页表项nWindows 2000Windows 2000中,每一个进程都有一个中,每一个进程都有一个(小)页表集合(里面最多可以是(小)页表集合(里面最多可以是1K1K个个页表),由它们完成具体的地址变换。页表),由它们完成具体的地址变换。n任何一个进程的页表集合,都可分为两任何一个进程的页表集合,都可分为两部分:进程页表和系统页表。部分:进程页表和系统页表。图图7-15 W
20、indows 20007-15 Windows 2000的进程页表和系统页表的进程页表和系统页表图图7-16 Windows 20007-16 Windows 2000页表项结构页表项结构4 4虚拟地址的变换过程虚拟地址的变换过程n图图7-177-17描述了描述了Windows 2000Windows 2000将一个虚拟将一个虚拟地址变换成物理地址的过程。地址变换成物理地址的过程。图图7-17 7-17 虚拟地址的变换过程示意图虚拟地址的变换过程示意图7 7.2 2.3 Windows 20003 Windows 2000对内存的管理对内存的管理1 1进程的工作集概念进程的工作集概念 Wind
21、ows 2000Windows 2000在创建一个进程时,就在创建一个进程时,就在内存中分配给它一定数量的页帧私用,在内存中分配给它一定数量的页帧私用,存放运行所需要的页面。称这些页面为存放运行所需要的页面。称这些页面为该进程的该进程的“工作集工作集”。2 2页帧号数据库页帧号数据库nWindows 2000Windows 2000是通过一个叫是通过一个叫“页帧号数页帧号数据库据库”的数据结构,来管理内存中的各的数据结构,来管理内存中的各个页帧,跟踪它们的使用情况的。个页帧,跟踪它们的使用情况的。n一个内存的页帧必定属于下面六种状态一个内存的页帧必定属于下面六种状态之一。之一。页帧状态(1 1
22、)有效)有效 (2 2)零初始化)零初始化 (3 3)空闲)空闲(4 4)后备)后备 (5 5)修改)修改 (6 6)坏死)坏死 图图7-18 7-18 页表与页帧号数据库的关系示意页表与页帧号数据库的关系示意3 3页帧的各种队列页帧的各种队列n页帧号数据库中处于不同状态的元素,页帧号数据库中处于不同状态的元素,由指针组成由指针组成5 5个链表,个链表,图图7-19 7-19 页帧号数据库中的各种链表页帧号数据库中的各种链表7 7.2 2.4 Windows 20004 Windows 2000的页面调度的页面调度nWindows 2000Windows 2000在实施请求页式存储管理在实施请
23、求页式存储管理时,制定了三种策略:取页策略、置页时,制定了三种策略:取页策略、置页策略和换页策略,以求在不同场合决定策略和换页策略,以求在不同场合决定如何实施具体的页面调度。如何实施具体的页面调度。1 1Windows 2000Windows 2000的取页策略的取页策略n所谓所谓“取页策略取页策略”,即是指决定什么时候把一,即是指决定什么时候把一个页面从磁盘调入内存。个页面从磁盘调入内存。Windows 2000Windows 2000采用的采用的是请求调页法和集群法相结合的形式,把所需是请求调页法和集群法相结合的形式,把所需要的页面装入内存的。要的页面装入内存的。内内 存存 大大 小小代代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 实例分析:Windows 2000操作系统 实例 分析 Windows 2000 操作系统
限制150内