1.WindowsNT的设计目标:①可扩充性 ②可移植性 ③可靠性 ④兼容性 ⑤性能
2.WindowsNT的结构:①系统用户态部分(WindowsNT保护子系统) ②系统核心态部分(NT执行体)
3.对象:对象是个抽象数据结构,在WindowsNT中用以表示所有资源。对象用来表示资源。
对象类:具有相同特性的对象可归为一个对象类,对象是对象类中的一个实例。对象类是描述资源类型的。
对象的组成结构:对象头和对象体。对象管理程序控制对象头,其他执行体部件控制它们自己创建的对象体。
4.WindowsNT进程的定义:一个程序的动态调用。
WindowsNT进程的组成:①一个可执行的程序②一个私用的地址空间③系统资源④至少有一个执行线程。
WindowsNT进程的特点:
④进程是作为对象来实现的。⑤进程要求至少有一个执行线程。⑥进程没设进程控制块PCB,进程的控制和管理信息被放在进程对象的对象体中以及局限于进程的对象表中。⑦WindowsNT中的进程,不是处理机调度的基本单位,所以没有必要区分进程的状态。⑧当系统启动时,系统为每一环境子系统建立一个服务器进程。每当用户的应用程序启动时,相应的环境子系统进程调用执行体的进程管理程序为之建立一个进程,然后进程管理程序又调用对象管理程序为之建立一个进程对象。⑨进程管理程序不维护进程的父子或其他关系。⑩进程有内含的同步机制。
5.WindowsNT线程的定义:进程内的一个可调度实体。
线程的组成:①一个唯一的标识符,即客户ID.②描述处理机状态的一组寄存器内容。③两个栈:用户栈和核心栈。④一个私用存储区。
引进线程目的:主要目的是要有效地实现并行性。多进程的方式虽然也可以实现并行性,但采用线程比采用进程实现并行性更方便、更有效。以UNIX为例,当一个进程创建一个子进程时,系统必须把父进程地址空间的所有内容拷贝到子进程的地址空间中去。对大地址空间来说,这样的操作是很费时的,更何况两进程还要建立共享数据。如果采用多线程要好得多,因为这些线程共享进程的同一地址空间、对象句柄及其他资源。
6.进程和线程之间的区别和联系:
①线程是进程的一个组成部分。每个NT进程在创建时只有一个线程,需要时这个线程可以再创建其他线程。②一个进程的多个线程都在这个进程的地址空间内活动。③进程是资源的基本分配单位。这就是资源是分配给进程的,而不是分配给线程的,并且系统还为分配给进程的资源规定了配额。④处理机调度的基本单位是线程,在线程之间竞争处理机。真正在处理机上执行的是线程,线程在执行中需要资源时,系统从进程的配额中扣除并分配给它。⑤线程在执行过程中,需要同步,在不同的进程的线程之间的同步要用消息传递机制。消息传递要用到进程的资源——端口(端口也是对象,端口上有消息队列)。因此,可以这们说,通信的是线程,使用的资源却是进程的(服务器进程可以创建多端口,以利于多线程通信。)
7.WindowsNT内核的特点:WindowsNT内核的特点是采用微内核技术。它提供了一组精心设计的操作系统原语和机制,通过使用这些原语和机制,执行体可以构造更多高级的操作系统功能。内核与其它执行体不同的是,内核永久驻留内存,内核的执行是不可抢占的,并总运行在核心态。
内核的基本(主要)功能:①调度线程的执行②中断和异常的处理③完成低级的多处理机间的同步④电源故障的排除(实现系统的恢复过程)。
8.线程调度采用的调度算法是什么?
线程调度采用的调度算法是可抢占的动态优先级调度算法。线程调度程序按线程的优先级进行调度,高优先级的线程先被调度。线程在执行过程中优先级可以变化,调度程序调度时所依据的要主数据结构是多优先级就绪队列。
9.中断是什么?
WindowsNT中,中断是异步事件,主要由硬件如I/O设备、处理机、时钟或定时器引起的,是随机发生的中断处理机的事件。异常:异常是同步事件,是某些特定指令执行的结果,如主存存取错、浮点数被零除等,WindowsNT还把系统服务调用看作是异常。
WindowsNT如何处理中断与异常?
当中断或异常发生被系统捕捉后,系统将执行的线程从用户态转换到核心态,将处理机的控制权转交给其首地址存放在主存固定单元的陷阱处理程序。陷阱处理程序被调用后,它首先保护执行线程被中断的断点现场,在此期间屏蔽中断,其次根据中断/异常的原因决定将控制权交给相应的处理程序:①如果是中断,根据中断源将控制权转交给相应的处理程序。
②如果是异常,对于处理简单的异常由陷阱程序解决,其余由异常调度程序处理。根据异常的原因转入异常处理程序。③如果是系统服务,陷阱处理程序由系统服务调度程序去查找系统服务调度表,转入相应的系统服务程序。④如果是虚地址异常,则转入VM管理器页面调度程序。
10.WindowsNT如何实现处理机之间的同步?
WindowsNT中对内核全局数据结构的修改必须互斥地执行。
解决内核临界区的互斥,采用的主要方法是?
①提高临界区代码执行的中断优先级。②使用转锁。
11.说明WindowsNT虚拟地址空间的划分。
WindowsNT为每个进程提供了一个4GB在的虚拟地址空间。高地址的2GB保留给系统使用(系统存储区:①非页交换区0.5GB;②页交换区0.5GB;③直接映射地址1GB),低地址的2GB是用户的存储区(用户存储区:页面交换区),这个存储区可被用户态和核心态的线程访问。
12.WindowsNT的存储管理所采用的页面淘汰算法是什么?
采用先进先出(FIFO)页面转换算法,即把在主存中驻留时间最长的页面淘汰出去。
13.WindowsNT的I/O系统组成部件是?
①I/O管理程序②文件系统③设备驱动程序④缓冲存储管理程序⑤网络驱动程序(网络转发程序和网络服务程序)。WindowsNT在I/O系统的设计方面,建立了一个统一、一致的高层界面——I/O设备的虚拟界面,即把所有的读写数据都看成是直接送往虚拟文件的字节流。
14.举例说明WindowsNT中的同步I/O过程。
当应用程序调用一个I/O服务,例如应用程序WriteFile(file_handle,datd,…)调用Win32的API,Win32子系统调用NT的写文件服务,由用户态进入核心态。
在核心态下,I/O管理程序检查调用参数并建立I/O请求包IRP,然后调用设备驱动程序。设备驱动程序接收IRP,负责排队I/O请求,再由设备执行I/O数据
转换,当I/O完成产生I/O中断。由设备驱动程序处理中断,再交I/O管理程序完成IRP的处理并返回,由核心态回到用户态。最后将返回的状态传送给应用程序,应用程序可以立即存取这些已转换的数据。
①按用户要求,I/O管理程序为之形成IRP,并把它传送给设备驱动程序,由驱动程序完成I/O操作。②设备完成I/O操作后,发中断请求,设备驱动程序的中断处理程序进行相应中断处理。③I/O管理程序完成I/O请求。
15.试说明WindowsNT中异步I/O操作的特点。
异步I/O相对于同步I/O有一重要特点:具有提高应用程序执行速度的潜力。当设备在忙于读写的同时,应用程序可继续其他的工作。为了使用异步I/O,应用程序必须在其参数中指出异步I/O,在Win32中使用参数overlapped表示异步I/O.在发出异步I/O操作后,线程要小心,不要在设备驱动程序完成数据读写前再去读写I/O操作中的数据。也就是说,线程的执行必须通过等待一个句柄,和I/O请求的完成保持同步。
16.内装网络是什么?
WindowsNT网络是内装网络,它把网络软件作为NT执行体的I/O系统中的一个组件嵌入系统内部(即网络功能包含于操作系统中),这使得WindowsNT无需安装其他网络软件,即可为用户提供资源共享和各种网络功能。
特点?
①WindowsNT的网络软件不是作为操作系统的一个附加层来运行,而是作为NT执行体的I/O系统中的一个组件而嵌入系统内部,这使得WindowsNT无需安装其他网络软件,即可为用户提供资源共享和各种网络功能。②WindowsNT中的网络组件可以直接利用NT内部的系统功能。
WindowsNT网络具有以下特点:
①NT网络是内装,从而WindowsNT是真正的网络操作系统。②NT网络与其它网络系统的互操作性。③提供方便的建立和运行分布式应用程序的机制。④系统开放性好。
17.WindowsNT网络中作为内装网络的两个主要部件是?
转发程序和服务程序。转发程序也称重定向程序,用于客户方。
转发程序的主要功能是?
解释网络I/O请求并生成对下层协议的调用,以实现网络的I/O功能。转发程序作为客户方,执行SMB(ServerMessageBlock)协议,与服务器方的服务程序同处于会话层。转发程序可以访问远程节点上的文件,命名管道和打印机,以实现网络的资源共享。
服务程序的主要功能?
接收网络传输驱动程序来的I/O请求,执行这些请求,然后将结果通过网络送回。服务程序作为驱动程序可以存在于NT执行体内,并可调用高速缓冲管理程序直接优化它所要传送的数据。
18.为什么说WindowsNT具有开放式的结构?
①WindowsNT网络是一个内装网络,而不是像其他网络操作系统那样,在一个多任务传统的操作系统上附加一层网络软件。NT网络操作系统把网络功能包含在操作系统中,并可直接使用WindowsNT内部的系统功能。NT网络软件包含有将其内部网络软件装入和卸出的机制,同样的机制也可将其他网络软件装入和卸出操作系统。②WindowsNT考虑到应用程序如何网络,WindowsNT提供了多种访问方法:Win32I/OAPI、Win32WnetAPI、WindowsSocketsAPI、NetBIOSAPI、RPCAPI、Win32命令管道与邮件槽API③WindowsNT的供应者接口:多供应者路由器MPR,当应用程序利用Win32Wnet浏览远程文件系统时,能确定存取哪个网络。多UNC供应者MUP,当应用程序利用Win32I/OAPI打开远程文件时,能确定存取哪个网络。
④WindowsNT提供了传输驱动程序接口TDI,它使得转发程序和服务程序可保持独立于网络。WindowsNT网络上可以使用的传输协议有:NetBEUI、TCP/IP、IPX/SPX、DECnet、AppleTalk、XNS.有了上述协议,WindowsNT网络就可以与其他厂商的网络产吕互连。⑤网络驱动程序的NDIS环境。使得任何协议驱动程序可以通过调用NDIS接口将网络请求引导到网卡。因而,用户使用一个网卡或单一的网络驱动程序便可在TCP/IP网络和NetBEUI上通信