操作系统教程课件:第七章 Windows系统

上传人:hs****ma 文档编号:568787851 上传时间:2024-07-26 格式:PPT 页数:100 大小:536.50KB
返回 下载 相关 举报
操作系统教程课件:第七章 Windows系统_第1页
第1页 / 共100页
操作系统教程课件:第七章 Windows系统_第2页
第2页 / 共100页
操作系统教程课件:第七章 Windows系统_第3页
第3页 / 共100页
操作系统教程课件:第七章 Windows系统_第4页
第4页 / 共100页
操作系统教程课件:第七章 Windows系统_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《操作系统教程课件:第七章 Windows系统》由会员分享,可在线阅读,更多相关《操作系统教程课件:第七章 Windows系统(100页珍藏版)》请在金锄头文库上搜索。

1、机械工业出版社第七章第七章Windows系统系统n7.1 Windows 2000系统概述n7.2 Windows 2000进程管理n7.3 Windows 2000内存管理n7.4 Windows 2000输入和输出系统n7.5 Windows 2000文件系统n7.6 本章小结 操作系统教程课件第1页机械工业出版社7.1 Windows 2000系统概述系统概述n7.1.1 设计目标n7.1.2 系统模型n7.1.3 系统机制操作系统教程课件第2页机械工业出版社n为什么要选择Windows 2000作为介绍对象呢?nWindows 2000是在Windows NT的基础上发展起来的,具有更

2、高的可靠性和可用性,是一种适合从最小的移动设备至最大的电子商务服务器的操作系统。n为讨论和说明Windows产品,最有意义的是选择Windows NT系统系列,因为现有的和今后的Windows产品都是从Windows NT 发展而来,而Windows 2000是这一产品族成熟的里程碑式的产品,其系统架构已经稳定下来,大的框架并没有发生变化。操作系统教程课件第3页机械工业出版社7.1.1 设计目标设计目标n操作系统的设计目标是操作系统的根本问题,所以如何解决及解决的好坏是关系操作系统质量的最重要的内容。n1操作系统的设计问题n是一个系统问题n2操作系统的设计目标n可靠性(正确性和健壮性)、高效性

3、、简明性、易维护性、易移植性、安全性、可适应性等。n3Windows 2000的设计目标n(13项)操作系统教程课件第4页机械工业出版社7.1.2 系统模型系统模型n操作系统的内核系统模型结构n强内核系统n微内核系统nWindows 2000采用的系统结构是在层次型基础上的微内核(客户/服务器结构)结构。该系统结构非常适宜应用在网络环境下,应用于分布式处理的计算环境中,它由两大部分组成:“微”内核和若干服务。操作系统教程课件第5页机械工业出版社n主要特点:n机制与策略分离比较彻底,可靠,灵活,适合分布式计算的需求;但也有缺点,即效率较低。n机制与策略分离的思想nWindows 2000通过硬件

4、机制实现了核心态以及用户态两个特权级别;对性能影响很大的操作系统组件运行在核心态,核心内没有保护。n可移植性以及效率因素n Windows 2000的核心态组件使用了面向对象设计原则n大部分代码使用了基于C语言的对象实现n高效稳定nWindows 2000的很多系统服务运行在核心态操作系统教程课件第6页机械工业出版社图图7-1 Windows 2000的系统结构的系统结构操作系统教程课件第7页机械工业出版社nWindows 2000的内核n用户态组件n核心态组件操作系统教程课件第8页机械工业出版社n用户态组件n系统支持进程(system support process)n服务进程(servic

5、e process)n环境子系统(environment subsystems)n应用程序(user applications)n子系统动态链接库操作系统教程课件第9页机械工业出版社n核心态组件n内核(kernel,或核心)n执行体(Executive)n硬件抽象层(HAL, Hardware Abstraction Layer)n设备驱动程序(Device Drivers)n窗口和图形系统操作系统教程课件第10页机械工业出版社图图7-2 Windows 2000的系统构成的系统构成操作系统教程课件第11页机械工业出版社n1硬件抽象层(HAL)n将内核、设备驱动程序以及执行体同硬件分隔开来,实

6、现硬件映射的功能。n是实际硬件与Windows 2000抽象计算机描述的接口层和功能映射层,它隐藏各种与硬件有关的细节操作系统教程课件第12页机械工业出版社n2执行体n用来实现高级结构的一组例程和基本对象n由C语言编写的,与硬件体系结构无关,从而只需少量改动就可移植到新机器上n执行体包含基本的操作系统服务n主存管理器、进程和线程管理、安全控制、I/O以及进程间的通信等n执行体由对象管理程序、I/O管理程序、进程管理程序、虚拟内存管理程序、安全管理程序、即插即用管理程序和本地过程调用管理程序多个部件组成。操作系统教程课件第13页机械工业出版社n3设备驱动程序n包括文件系统和硬件设备驱动程序等,其

7、中硬件设备驱动程序将用户的I/O函数调用转换为对特定硬件设备的I/O请求n设备驱动程序是可加载的核心态模块,是一组I/O系统和相关硬件之间的接口n管理方式:nWDM(Windows Drivers Model,Windows驱动程序模型)n加强的WDM方式操作系统教程课件第14页机械工业出版社n4环境子系统n环境子系统是指将基本执行体的系统服务的某些子集以特定的形态展示给应用程序,且函数调用不能在不同子系统之间混用,因此每一个可执行的映像都受限于唯一的子系统。n它们向应用程序提供操作系统功能调用接口,包括Win32、POSIX和OS/2接口操作系统教程课件第15页机械工业出版社图图7-3 环境

8、子系统示意图环境子系统示意图操作系统教程课件第16页机械工业出版社n5NTDLL子系统动态链接库n用于调用层转换和映射nNTDLL.DLL文件主要用于子系统动态链接库的特殊系统支持库n提供系统调用入口;为子系统、子系统动态链接库及其他本机映像提供内部支持函数操作系统教程课件第17页机械工业出版社n6系统支持进程n不是Windows 2000的服务,不由服务控制器启动n在执行体中系统运行的支持性的进程有:nIdle进程n系统进程n会话管理器SMSSnWin32子系统CSRSSn登录进程WINLOGINn本地安全身份验证服务器LSASSn服务控制器SERVICES及其相关的服务进程操作系统教程课件

9、第18页机械工业出版社n7Window 2000服务进程n是Windows 2000的服务,由服务控制器启动nWin32 服务由三部分组成:n服务应用程序n服务控制程序(SCP)n服务控制管理器(SCM)。操作系统教程课件第19页机械工业出版社操作系统教程课件第20页Windows 2000服务过程所经过的4个主要步骤如图7-4所示机械工业出版社7.1.3 系统机制系统机制nWindows 2000的系统的工作由四种系统机制来完成:n陷阱调度n执行体对象管理器n同步n本地过程调用操作系统教程课件第21页机械工业出版社1 陷阱调度陷阱调度n陷阱调度:n中断n延迟过程调用(DPC,Deferred

10、 Procedure Call)n异步过程调用(APC,Asynchronous Procedure Call)n异常调度(Exception Dispatching)n系统服务调度(System Service Dispatching)。操作系统教程课件第22页机械工业出版社图图7-5 陷阱调度陷阱调度操作系统教程课件第23页机械工业出版社nWindows 2000内核将程序执行中遇到的事件分为中断和异常两类事件。n中断是异步事件n它可以在任意时刻出现,与处理器正在执行的内容无关。n中断主要是由硬件引起的,如处理器时钟,定时器时钟,或I/O设备等。n异常是同步事件n是某条特别指令执行的结果。

11、n在同样条件下使用相同的数据运行同样的程序可重复产生异常,如内存存取错误、除0出错等。n当发生了中断和异常事件,且被系统捕捉到后,系统将执行线程从用户态切换到核心态,将处理器控制权转交给操作系统中放在固定内存地址的陷阱(陷入)处理程序。操作系统教程课件第24页机械工业出版社n软件和硬件都可以产生异常和中断,异常和中断之间的区别是:n异常是同步事件,它是某一特定指令执行的结果。在相同条件下,异常可以重现。例如主存访问错误、调试指令以及被零除的运算等;系统服务调用也视作异常。n中断是异步事件,可能随时发生,与处理器正在执行的内容无关。中断主要由I/O设备、处理器时钟或定时器产生,可以被启用或禁用。

12、操作系统教程课件第25页机械工业出版社n(1) 中断调度的内容nWindows 2000中将中断请求级别(IRQL,Interrupt Request Level)划分为32个优先级别。0级最低(普通线程执行),31级最高(机器检查或总线错)。n中断分为两类:硬件中断和软件中断。如图7-6所示。操作系统教程课件第26页机械工业出版社n在Windows 2000下的硬件中断处理过程n首先,保存计算机的状态并禁用中断;然后,调用中断调度程序;提高处理器的IRQL到中断源的级别;再重新启用中断;在中断分配表中查找处理特定中断的例程;服务例程执行;降低处理器的IRQL到该中断发生前的级别;加载保存的机

13、器状态;最后,中断返回。n在Windows 2000下对应的软件中断处理过程n首先,由定时器产生一个中断信号延迟过程调用(DPC,Deferred Procedure Call),将等待定时器的线程释放;当中断优先级低于DPC / dispatch的优先级时,延迟过程调用(DPC,Deferred Procedure Call)中断产生;此时在延迟过程调用(DPC,Deferred Procedure Call)中断之后,系统控制权交给调度程序;调度程序执行延迟过程调用(DPC,Deferred Procedure Call)队列中的每一个例程。这一过程请参考图7-7所示的软件中断的处理情况。

14、操作系统教程课件第27页机械工业出版社图图7-7 软件中断的处理软件中断的处理-延迟过程调用延迟过程调用操作系统教程课件第28页机械工业出版社n(2) 异常调度的内容n异常调度是指在Windows 2000中用于处理由硬件或软件产生的异常事件,异常直接由运行程序的执行所产生。除了那些可由陷阱处理程序解决的简单异常外,所有异常都是由异常调度程序接管。其处理的过程是:先进行结构化异常处理,调用基于框架的异常处理程序,运行异常调度过程。图7-8给出了异常调度程序处理软件或硬件产生的异常事件。操作系统教程课件第29页机械工业出版社图图7-8 异常调度程序处理软件或硬件产生的异常事件异常调度程序处理软件

15、或硬件产生的异常事件操作系统教程课件第30页机械工业出版社n(3) 系统服务调度的内容n在Intel x86处理器上执行int 2E指令或在Alpha处理器上执行syscall指令都会引起系统服务调度。系统服务调度程序将依次完成下面几件事:校验参数,调用者的参数从线程的用户堆栈复制到它的核心堆栈中;执行系统服务;返回结果。图7-9 给出了Intel x86处理器上执行int 2E指令的过程示意。操作系统教程课件第31页机械工业出版社2 执行体对象管理器执行体对象管理器(Executive Object Manager)n执行体对象管理器是执行体组件之一,用于创建、删除、保护和跟踪对象,并提供使

16、用系统范围内资源使用的公共、一致的机制;另外,它还用于实现对象的集中保护;实现资源的访问控制。对象管理器有一套对象命名方案和统一的保留规则,能够容易地操纵现有对象。操作系统教程课件第32页机械工业出版社3 同步同步(Synchronization)n在Windows 2000中同步包括自旋锁(Spin lock)、内核调度程序对象(Kernel Dispatcher Objects)。这里所说的同步机制,是由内核同步和执行体同步构成。操作系统教程课件第33页机械工业出版社n执行体同步在实现过程中要解决好如下几个关键问题:n被保护的资源必须被快速访问,并且没有与其他代码的复杂交互作用n自旋锁使用

17、在限制范围内n调度程序对象的使用正确n临界区代码不能换出主存,不能引用可分页数据,不能调用外部程序(包括系统服务),不能生成中断或异常情况等操作系统教程课件第34页机械工业出版社4 本地过程调用(本地过程调用(LPC,Local Procedure Call)n本地过程调用是一个用于高速信息传输的进程间通信机制(使用共享主存)。LPC常常被使用在一个服务器进程与该服务器的一个或多个客户进程之间,或在两个用户态进程之间,或一个核心态组件和一个用户态进程之间。nLPC中提供三种交换信息的方法:n方法一:使用包含信息的缓冲区调用LPC可以发送少于256字节的信息,然后,这个信息又从发送进程的地址空间

18、复制到系统地址空间,再从那里拷贝到接收进程的地址空间。n方法二:如果用户和服务器想交换大于256字节的数据,那么它们可以选择使用双方都映射了的共享区,发送方将信息数据放到共享区,然后向接收方发送一小段信息表明在共享区的什么地方可以找到数据。n方法三:当服务器想读/写大量数据,而共享区又太小时,数据可以直接从客户地址空间读出或向客户地址空间写入。是在WIN32系统中采用的一种优化的本地过程调用消息传递形式。操作系统教程课件第35页机械工业出版社7.2 Windows 2000进程管理进程管理n7.2.1 进程n7.2.2 进程互斥和同步n7.2.3 线程操作系统教程课件第36页机械工业出版社n进

19、程的管理是处理机调度的核心内容之一;进程是操作系统中资源分配的最小单位。进程本身就是由于程序的并发执行所引出的概念。n线程的引入解决了处理机确定谁是最小执行单位,区别了执行调度和资源分配。线程是比进程粒度更细的调度单位。操作系统教程课件第37页机械工业出版社7.2.1 进程进程nWindows 2000中使用进程对象来记录这些信息:n包括指令执行和处理器状态的改变、数据(变量)和系统控制信息(进程控制块PCB的生成和删除)nWindows 2000中进程的基本状态是就绪态、运行态和阻塞态,以及创建状态和退出状态。进程在这些状态之间转换。操作系统教程课件第38页机械工业出版社常见的状态转换常见的

20、状态转换n1)创建新进程:n创建一个新进程,以运行一个程序。创建新进程的可能原因包括用户登录、操作系统创建以提供某项服务、批处理作业等。n2)收容(Admit,也称为提交):n收容一个新进程,进入就绪状态。由于性能、内存等原因,系统会限制并发进程总数。n3)调度运行(Dispatch):n从就绪进程表中选择一个进程,进入运行状态。n4)释放(Release):n由于进程完成或失败而终止进程运行,进入退出状态。运行到退出的转换可分为正常退出(Exit)和异常退出(abort);其中异常退出是指进程执行超时、内存不够、非法指令或地址访问、I/0操作失败、被其他进程所终止等原因而退出。从就绪状态或阻

21、塞状态到退出状态的释放转换可能是由于多种原因引发,如父进程可在任何时间终止子进程。操作系统教程课件第39页机械工业出版社n5)超时(Timeout):n由于用完时间片或高优先级进程就绪等原因导致进程暂停运行。n6)事件等待(Event Wait):n进程要求的事件未出现而进入阻塞;可能的原因包括申请系统服务或资源、通信、I/O操作等。n7)事件出现(Event Occurs):n进程等待的事件出现;如操作完成、申请成功等。操作系统要解决的一个重要问题是当一个事件出现时如何检查阻塞进程表中的进程状态。当进程多时,这对系统性能影响很大。一种可能的做法是按等待事件类型,排成多个队列。操作系统教程课件

22、第40页机械工业出版社n引入虚拟存储管理技术后,需要进一步区分进程的地址空间状态,从而需要引入新的状态,挂起状态。n把原来的就绪状态和阻塞状态进行了细分。好处是:n提高处理器效率n可为运行进程提供足够内存n有利于调试操作系统教程课件第41页机械工业出版社n新引入的状态转换有挂起和激活两类,意义有变化的状态转换有事件出现和收容两类。n1)挂起(suspend):把一个进程从内存转到外存;可能有以下几种情况:n阻塞到阻塞挂起n就绪到就绪挂起n运行到就绪挂起n2)激活(activate):把一个进程从外存转到内存,可能有以下几种情况:n就绪挂起到就绪n阻塞挂起到阻塞n3)事件出现(event occ

23、ur):进程等待的事件出现,如操作完成、申请成功等;可能的情况有:n阻塞到就绪n阻塞挂起到就绪挂起n4)收容(admit):收容一个新进程,进入就绪状态或就绪挂起状态。进入就绪挂起的原因是系统希望保持一个大的就绪进程表(挂起和非挂起)。操作系统教程课件第42页机械工业出版社7.2.2 进程互斥和同步进程互斥和同步n在具体的操作系统中,有了进程对象后,进程的并发现象不可避免,如何解决并发带来的与时间有关的问题,即互斥和同步问题,用户如何与进程通信呢?nWindows 2000为用户提供了对互锁变量、信号量对象、互斥对象、临界区对象、事件对象等的API调用,可以方便用户实现进程间的互斥和同步,而无

24、需深入互斥和同步的具体实现。n另外,提供的信号(signal)通信方式,实现进程向外界通信,使得外界用户可以通过信号来处理进程。操作系统教程课件第43页机械工业出版社n1互斥和同步的相关对象n在Windows 2000中提供了互斥对象、信号量对象和事件对象等三种同步对象和相应的系统调用,用于进程和线程同步n对象中的对象名称和状态,分别用于识别和引用n对象状态可分成可用和不可用两种n对象可用(signaled state)表示该对象不被任何线程使用或所有n对象不可用(nonsignaled state)表示该对象被某线程使用操作系统教程课件第44页机械工业出版社n互锁变量访问是最基本的互斥手段,

25、其他的互斥和共享机制都是以它为基础的。n临界区对象(Critical Section),只能用于在同一进程内使用的临界区,同一进程内各线程对它的访问是互斥进行的。n信号量对象(Semaphore)的取值在0到指定最大值之间,用于限制并发访问的线程数。n互斥对象(Mutex),相当于互斥信号量,在一个时刻只能被一个线程使用。n事件对象(Event)相当于触发器,可通知一个或多个线程某事件的出现。操作系统教程课件第45页机械工业出版社n2Windows 2000的信号(signal)nWindows 2000的信号n是进程与外界的一种低级通信方式n进程可发送信号,每个进程都有指定信号处理例程。n信

26、号通信是单向和异步的。nWindows 2000有两组与信号相关的系统调用,分别处理不同的信号:nSetConsoleCtrlHaldlernGenerateConsoleCtrlEvent。操作系统教程课件第46页机械工业出版社7.2.3 线程线程nWindows 2000用进程和线程概念表示可执行代码的活动。n在Windows 2000中n线程是可被内核调度的执行单位n每个进程有一个或多个线程n处理机调度的调度对象是线程n线程调度并不是单纯使用某一种调度算法,而是多种算法的综合体,针对实际系统的需要进行针对性的优化和改进。操作系统教程课件第47页机械工业出版社nWindows 2000的线

27、程是内核线程nWindows 2000把线程状态分成七种状态,与单挂起进程模型很相似,区别在于从就绪状态到运行状态的转换中多了一个备用状态,以此来优化线程的抢先特征。n、创建和初始化线程对象;n、等待运行的就绪状态;n、优先级最高的就绪线程转为备用状态;n、运行态;n、等待信号的等待态;n、为等待执行时所需资源所处的转换态;n、执行完成后所处的终止态。操作系统教程课件第48页机械工业出版社操作系统教程课件第49页图7-11 Windows 2000的线程状态机械工业出版社nWindows 2000中线程控制采用的系统调用:n(1)CreateThread完成线程创建,在调用进程的地址空间上创建

28、一个线程,以执行指定的函数;它的返回值为所创建线程的句柄。n(2)ExitThread用于结束当前线程。n(3)SuspendThread可挂起指定的线程。n(4)ResumeThread可激活指定线程,它的对应操作是递减指定线程的挂起计数,当挂起计数减为0时,线程恢复执行。操作系统教程课件第50页机械工业出版社nWindows 2000严格基于线程的优先级来确定哪一个线程将占用处理机并进入运行状态。n线程的优先级分为32个级别,优先级0由系统所保留,分为两大类:n实时优先级类(1631)n可变优先级类(115)操作系统教程课件第51页机械工业出版社nWindows 2000在单处理机系统和多

29、处理机系统中的线程调度是不同的n引起调度程序重新调度的时机和事件有:n、当线程变为就绪时;n、当线程的时间段(片)结束或线程终止时;n、当调度程序或执行体改变线程优先级时;n、当执行体或应用程序改变正在运行线程的处理器族时。n还要强调的是,内核的线程调度程序采用可抢占的动态优先级调度算法操作系统教程课件第52页机械工业出版社7.3 Windows 2000内存管理内存管理n7.3.1 概述n7.3.2 内存对象n7.3.3 动态链接库(DLL)n7.3.4 页面文件操作系统教程课件第53页机械工业出版社7.3.1 概述概述n存储管理是操作系统一个不可缺少的功能。n介绍Windows 2000n

30、组成n分配n保护机制操作系统教程课件第54页机械工业出版社n1组成部分nWindows 2000系统中存储器管理由一组执行体系统服务程序,一个转换无效和访问错误陷阱处理程序和六个关键的组件组成。操作系统教程课件第55页机械工业出版社n2主存分配方式nWindows 2000对系统主存的分配主要采用两种方式:n非分页缓冲池方式由系统虚拟地址组成,它们长期驻留在物理主存中,在任何时候都可以被访问到(从任何IRQL级和任何进程上下文),而不会发生页错误。n分页缓冲池方式是指系统中可以被分配的页与系统空间中虚拟主存组成的一个区域。执行体系统服务程序不必从延迟过程调用(DPC,Deferred Proc

31、edure Call)或更高一级去访问主存的设备驱动程序,可以使用分页缓冲池。nWindows 2000的主存分配是使用三组函数实现:n以页为单位的虚拟主存函数(Virtualxxx);n主存映射文件函数( CreateFileMapping , MapViewOfFile);n堆函数(Heapxxx )。操作系统教程课件第56页机械工业出版社n3主存保护机制n所有系统范围内的核心态组件使用的数据结构和主存缓冲池只能在核心态下被访问n每个进程有一个独立、私有的地址空间,禁止其它进程的线程访问n主存保护的支持提供了主存保护措施(如读/写,只读等) n共享主存区域对象具有标准的Windows 20

32、00存取控制表(ACLs)n系统主存的地址变换机制操作系统教程课件第57页机械工业出版社操作系统教程课件第58页图7-12 地址变换机制机械工业出版社n4虚拟存储管理n虚拟存储管理程序使用32位地址,每个进程有4GB的虚拟地址空间。n高地址部分保留给系统使用,低地址部分是用户存储区,它们各占2GB。n用户存储区可被用户态和核心态线程存取,并对每个进程都是惟一的;n系统存储区只能供核心态线程存取,且对所有进程都相同。操作系统教程课件第59页机械工业出版社 操作系统教程课件第60页图7-13 虚拟地址空间机械工业出版社 n在Windows 2000中,采用请求分页的虚拟存储管理技术,页帧和页面的大

33、小均为4KB。nWindows 2000的地址机构不同于传统的页面地址转换机构,它采用二级页表结构。操作系统教程课件第61页图7-14 二级页表地址转换机构机械工业出版社7.3.2 内存对象内存对象nWindows 2000是多任务系统,它的内存管理和单任务的DOS相比有很大的差异nDOS是单任务操作系统,应用程序分配到内存后,如果它不主动释放,系统是不会对它作任何改变的;nWindows 2000在同一时刻可能有多个应用程序共享内存,有时为了使某个任务更好地执行,Windows 2000系统可能会对其它任务分配的内存进行移动,甚至删除。操作系统教程课件第62页机械工业出版社n1、内存对象nW

34、indows 2000应用程序可以申请分配属于自己的内存块,内存块是应用程序操作内存的单位,它也称作内存对象n在Windows 2000中通过内存句柄来操作内存对象n内存对象根据分配的范围可分为:n全局内存对象n局部内存对象n根据性质可分为:n固定内存对象n可移动内存对象n可删除内存对象。操作系统教程课件第63页机械工业出版社n2、局部内存对象和全局内存对象n(1)、 局部内存对象管理n局部内存对象在局部堆中分配,局部堆是应用程序独享的自由内存,它只能由应用程序的特定实例访问。n局部堆建立在应用程序的数据段中,用户可分配的局部内存对象的最大内存空间不能超过64K。n局部堆由Windows 20

35、00应用程序在模块定义文件中用HEAPSIZE语句申请,HEAPSIZE指定以字节为单位的局部堆初始空间尺寸。操作系统教程课件第64页机械工业出版社n局部内存对象管理n1)、 分配局部内存对象n2)、 加锁与解锁n3)、 改变局部内存对象n4)、 释放与删除操作系统教程课件第65页机械工业出版社n(2)、全局内存对象管理n全局内存对象在全局堆中分配。n应用程序在全局堆中进行大型内存分配(约大于1KB),在全局堆还可以分配大于64K的巨型内存。操作系统教程课件第66页机械工业出版社n全局内存对象管理n1)、 分配全局内存对象n2)、 加锁与解锁n3)、 修改全局内存对象n4)、 内存释放及其它操

36、作n5)、 巨型内存对象n如果全局内存对象的大小为64KB或更大,那它就是一个巨型内存对象,使用GlobalLock函数加锁巨型内存对象将返回一个巨型指针。操作系统教程课件第67页机械工业出版社7.3.3 动态链接库动态链接库(DLL)n使用动态链接库是Windows的一个很重要的特点,它使得多个Windows应用程序可以共享函数代码、数据和硬件,这可以大大提高Windows内存的利用率。n动态链接库是一个可执行模块,它包含的函数可以由Windows应用程序调用执行,为应用程序提供服务。它和我们以前用的C函数库相比,在功能上是很类似的,其主要区别是动态链接库在运行时连接,C函数库(静态连接库)

37、是在生成可执行文件时由连接器(LINK)连接。操作系统教程课件第68页机械工业出版社 n动态链接库中的代码只有在应用程序要用到该代码段时才动态调入DLL中的相应代码。Windows在连接生成应用程序时,如果使用动态链接库函数,连接器并不拷贝DLL中的任何代码,它只是将引入库中指定所需函数在DLL中位置的信息拷贝在应用程序模块中,当应用程序运行时,这些定位信息在可执行应用程序和动态链接库之间建立动态连接。操作系统教程课件第69页静态库、引入库和动态库之间的区别如表7-3所示机械工业出版社nDLL不能独立执行,也不能使用消息循环。n每个DLL都有一个入口点和一个出口点,具有自己的实例句柄、数据段和

38、局部堆,但DLL没有堆栈,它使用调用程序的堆栈。nDLL也包括有.C文件,.H文件,.RC文件和.DEF文件,n在连接时一般要加入SDK库中的LIBENTRY.OBJ文件。操作系统教程课件第70页机械工业出版社n1、 创建动态链接库n要创建动态链接库,至少有三个文件:nC语言源文件;n一个模块定义文件(.DEF);nmakefile文件。n有了这些文件后,就可以运行Microsoft的程序维护机制(NMAKE),编译并连接源代码文件,生成DLL文件。操作系统教程课件第71页机械工业出版社n2、 应用程序访问DLLn应用程序要访问动态链接库函数,它应该做下面三件事:n建立库函数原型n调用库函数n

39、引入库函数操作系统教程课件第72页机械工业出版社7.3.4 页面文件页面文件n对于庞大的Windows操作系统以及功能越来越强大、占用系统内存资源也越来越多的各种软件来说,内存资源远远不能满足其要求。Windows使用的页面文件来解决这一问题,其功能相当于虚拟内存。n其实现的原理是将一部分硬盘空间设置为虚拟内存,从而扩大了计算机的可用“内存”空间来满足程序的运行要求。操作系统教程课件第73页机械工业出版社nWindows 3.X到 Windows 9X,通常是利用Windows安装目录中的Win386.swp这个交换文件来实现nWindows 2000采用页面文件的方式来实现虚拟内存的创建,此

40、页面文件是安装逻辑磁盘根目录下的Pagefile.sys文件n这两种交换文件的作用大致是一样的,都是当程序运行时主存空间不够用的时候用于创建虚拟内存的操作系统教程课件第74页机械工业出版社 n1页面文件的大小n微软的建议是页面文件的最小值,应该是当前系统内存容量再加上12MB(RAM12MB)n页面文件的最大值,应该设置得越大越好,通常建议将它设置为最小值的2到3倍。n2页面文件的存放位置nWindows 2000允许使用者通过将页面文件分布到各个不同的物理硬盘上的方法来提高系统的执行性能n实际上,如果硬盘可用空间允许的话,则应该尽量将页面文件的位置设置在同一的分区中 n3页面文件的连续性n页

41、面文件的连续性在Windows 2000的相关设置中并没有相应的显示。n连续的页面文件的工作效率将比不连续的高很多,其中的原因是不连续的页面文件也将导致系统在使用虚拟内存时硬盘磁头频繁地在不连续的扇区间“跳”动操作系统教程课件第75页机械工业出版社7.4 Windows 2000输入和输出输入和输出系统系统n7.4.1 I/O系统的组成n7.4.2 驱动程序操作系统教程课件第76页机械工业出版社nWindows 2000的I/O系统是重要的执行体组件n设计目标是:n在单处理器或多处理器系统中都可以快速进行I/O处理n使用标准的Windows 2000安全机制保护共享的资源n满足Win32、OS

42、/2和POSIX子系统指定的I/O服务的需要n使设备驱动程序的开发尽可能地简单,并且允许用高级语言编写驱动程序n根据用户的配置或者系统中硬件设备的添加和删除,允许在系统中动态地添加或删除相应的设备驱动程序n通过添加驱动程序透明地修改其他驱动程序或设备的行为n为包括FAT、CDFS、UDF文件系统和Windows 2000文件系统(NTFS)的多种文件系统提供支持n允许整个系统或者单个硬件设备进入和离开低功耗状态,以节约能源操作系统教程课件第77页机械工业出版社 操作系统教程课件第78页Windows 2000的I/O系统如图7-15所示机械工业出版社7.4.1 I/O系统的组成系统的组成n图7

43、-15较为详细地给出了组成Windows系统的输入输出系统结构的组件n注册表nI/O管理器n电源管理器nPnP(即插即用,plug and play)管理器n WMI(Windows Management Instrumentation)支持例程,或称Windows驱动程序模型(WDM,Windows Driver Model)WMI提供者n设备驱动程序n硬件抽象层(HAL)操作系统教程课件第79页机械工业出版社n在Windows 2000中,所有的I/O操作都通过虚拟文件执行,这样做隐藏了I/O操作目标的实现细节,并为应用程序提供了一个统一的到设备的接口界面。n用户态的应用程序如何读写文件呢

44、?n用户态应用程序通过调用文档化的函数来实现,这些函数再依次地调用内部I/O子系统函数来实现从文件中读取、对文件写入和执行其他的操作。nI/O管理器动态地把这些虚拟文件请求指向适当的设备驱动程序。n图7-16 典型的I/O请求操作系统教程课件第80页机械工业出版社7.4.2 驱动程序驱动程序nWindows 2000设备驱动程序由用户模式驱动程序和核心模式驱动程序组成。n用户模式驱动程序包括:nWin32多媒体驱动n虚拟设备驱动程序VDDn其他保护子系统的驱动程序n核心模式驱动程序包括:nPnP驱动程序nWindows驱动程序模型(WDM,Windows Drivers Model)驱动程序n

45、小端口驱动程序n文件系统驱动程序n遗留设备驱动程序。操作系统教程课件第81页机械工业出版社nWindows 2000支持多种类型的设备驱动程序和编程环境。核心驱动程序完成如下工作:n(1)文件系统驱动,接受访问文件的I/O请求n(2)与Windows 2000的PnP(即插即用)管理器和电源管理器有关的设备驱动程序n(3)为Windows NT编写设备驱动程序n(4)其中的Win32子系统显示驱动程序和打印驱动程序将把设备无关的图形设备接口(GDI, Graphic Device Interface)请求转换为设备专用请求n(5)对符合Windows驱动程序模型(WDM,Windows Dri

46、vers Model)的WDM驱动程序,包括对PnP,电源管理和WMI的支持操作系统教程课件第82页机械工业出版社nWindows 2000中有三种类型的WDM驱动程序:n总线驱动程序n功能驱动程序n过滤驱动程序操作系统教程课件第83页机械工业出版社7.5 Windows 2000文件系统文件系统n7.5.1 磁盘管理n7.5.2 文件系统操作系统教程课件第84页机械工业出版社7.5.1 磁盘管理磁盘管理nWindows NT借鉴了MSDOS的分区机制,扩展了MSDOS分区的基本概念,支持企业级操作系统所需的一些存储管理的特征:n跨磁盘管理(disk spanning)n容错(fault to

47、lerance)操作系统教程课件第85页机械工业出版社n卷:n简单卷(又称基本卷)是被文件系统驱动程序作为一个独立单元管理的来自一个分区的所有扇区。n多分区卷(如跨区卷、镜像卷、带区卷和 RAID-5 卷等)是被文件系统驱动程序作为一个独立单元管理的来自多个分区的所有扇区;它还提供了简单卷所不能支持的性能、可靠性和大小等特性。n分区:n有两种:基本分区和动态分区。n基本分区主要是:主分区、扩展分区或逻辑驱动器n动态分区由Windows 2000中逻辑磁盘管理子系统(LDM)负责管理操作系统教程课件第86页机械工业出版社Windows 2000磁盘管理功能经常涉及到的磁盘管理功能经常涉及到的概念

48、和术语概念和术语n分区:n是物理磁盘的一部分,其作用如同一个物理分隔单元。分区通常指主分区或扩展分区。n主分区:n是标记为由操作系统使用的一部分物理磁盘。一个磁盘最多可有4个主分区(或者如果有1个扩展分区,则最多有3个主分区)。n扩展分区:n是从硬盘的可用空间上创建的分区,而且可以将其再划分为逻辑驱动器。每个物理磁盘上的4个分区只允许使用其中之一作为扩展分区。创建扩展分区不需要有主分区。n卷:n是格式化后由文件系统使用的分区或分区集合。可以为Windows 2000的卷指定驱动器名,并使用它组织目录和文件。操作系统教程课件第87页机械工业出版社n卷集:n是作为一个逻辑驱动器出现的分区组合。系统

49、分区包含特定于硬件的文件( Ntldr、Osloader、Boot.ini和N),这些文件用于加载Windows 2000。n磁盘分区:n就是将硬盘分割成几个部份,而每一个部份都可以单独使用。用户可以创建一个分区用来储存信息(例如备份数据),或者和另一个操作系统双重启动。当用户在硬盘上创建分区时,磁盘被分割成一个或多个可用不同文件系统(例如FAT或NTFS)格式的区域。n引导分区:n包含Windows 2000操作系统文件,这些文件位于%Systemroot%和%Systemroot%System32目录中。操作系统教程课件第88页机械工业出版社操作系统教程课件第89页表7-5 显示了用户应如

50、何将分区转换为卷机械工业出版社7.5.2 文件系统文件系统n用户对所有的文件和文件夹的操作都是通过文件系统来完成的。操作系统教程课件第90页机械工业出版社n1Windows 2000中的文件系统n(1)FAT(File Allocation Table,文件分配表)文件系统nFAT文件系统最初用于小型磁盘和简单文件结构的简单文件系统。nWindows 2000仍然提供对FAT的支持,每一种FAT文件系统都用一个数字来标识磁盘上簇号的位数。n采用FAT文件系统格式化的卷以簇的形式进行分配。默认的簇大小由卷的大小决定(簇数目必须可以用16位的二进制数字表示,并且是2的乘方)操作系统教程课件第91页

51、机械工业出版社 操作系统教程课件第92页表7-6 FAT默认的簇大小机械工业出版社n (2) FAT32文件系统n作为FAT文件系统的增强版本,它可以在支持容量从512 MB到2TB的磁盘驱动器上使用。操作系统教程课件第93页机械工业出版社n(3)NTFS (New Technology File System,NT文件系统)n是Windows 2000的首选文件系统。nNTFS的簇标识为64位(二进制数)nNTFS中包含:文件与目录的安全性,文件与目录的压缩,文件与目录的加密,文件与目录的可恢复性等各项内容。nNTFS设计目标是:可恢复性、安全性、数据冗余和容错。nNTFS的高级特性:多数据

52、流、基于Unicode的名称、通用索引机制、动态坏簇重印映射、POSIX支持、文件压缩、日志记录、磁盘限额、硬链接与软链接、链接跟踪、加密、碎片整理。nNTFS磁盘结构具有众多优点n划分磁盘n组织文件与目录n存储文件属性与数据n压缩文件数据nNTFS可恢复性支持,是通过日志记录(logging)来实现文件系统的可恢复性。操作系统教程课件第94页机械工业出版社nWindows 2000中使用的NTFS文件系统支持以下特性:n、活动目录n、域n、文件加密n、稀松文件n、其他的数据存储模式n、磁盘活动的恢复日志n、磁盘配额n、对于大容量驱动器的良好扩展性操作系统教程课件第95页机械工业出版社n(4)

53、UDF(Universal Disk Format,通用磁盘格式)n是于1995年由OSTA(Optical Storage Technology Association,光学存储技术协会)为光磁盘存储媒介如DVD-ROM等所制定的,用来代替CDFS,比CDFS更加灵活。操作系统教程课件第96页机械工业出版社n(5)CDFS(CDROM File system,只读光盘文件系统)n是1988年为只读光盘所制定的文件系统标准。操作系统教程课件第97页机械工业出版社n2 NTFS磁盘结构描述nWindows 2000中使用NTFS有许多优点,比FAT和FAT32具有更多扩展的功能。NTFS具有众多

54、优点,这主要是因为它在磁盘上独特的实现方法可以更好地划分磁盘,组织文件与目录,存储文件属性与数据,压缩文件数据等。操作系统教程课件第98页机械工业出版社nNTFS磁盘结构的组成内容有:卷,簇,主控文件表,文件引用号,文件记录,文件名称,常驻属性与非常驻属性,索引,数据压缩。n卷是建立在磁盘分区上 。n簇在Windows2000中作为磁盘空间分配和回收的基本单位,簇的大小是用户在使用Format命令或其他的格式化程序格式化卷时确定的。n主控文件表(MFT,Master File Table)是NTFS卷结构的核心,是NTFS中最重要的系统文件,包含了卷中所有文件的信息。n每个文件都有一个64位(

55、bit)的称为文件引用号(File Reference Number)的唯一标识。n由两部分组成:一是文件号;二是文件顺序号nNTFS文件是属性/属性值的集合。文件数据就是未命名属性的值,其他文件属性包括文件名、文件拥有者、文件时间标记等。每个属性由单个的流(stream)组成,即简单的字符队列。操作系统教程课件第99页机械工业出版社7.6 本章小结本章小结nWindows操作系统是目前最为成功的磁盘操作系统之一n设计的操作系统需要解决什么问题?n必须达成哪些基本目标?n遵照怎样的基本原则?n系统的具体的设计问题:系统体系架构及其构成nWindows系统中相应实现了进程和线程的概念,以及进程的同步和互斥,实现了信号量的组织和管理,也引入了状态和优先权管理等知识nWindows系统引入了经典的页式管理,有关存储的管理功能方面实现了主存的分配和保护机制。nWindows系统中实现了常见的文件系统:FAT、FAT322、NTFS、UDF、CDFS等。nWindows系统对周边设备管理,识别设备和调度设备工作在Windows系统中由用户模式驱动和核心模式驱动两种方式实现。操作系统教程课件第100页

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号