自考《网络操作系统》课后答案(9)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第⼋章 Windows NT
1. Windows NT 的设计⽬标:①可扩充性②可移植性③可靠性④兼容性⑤性能
2. Windows NT的结构:①系统⽤户态部分(Windows NT保护⼦系统)②系统核⼼态部分(NT执⾏体)
3. 对象:对象是个抽象数据结构,在Windows NT中⽤以表⽰所有资源。
对象⽤来表⽰资源。
对象类:具有相同特性的对象可归为⼀个对象类,对象是对象类中的⼀个实例。
对象类是描述资源类型的。
对象的组成结构:对象头和对象体。
对象管理程序控制对象头,其他执⾏体部件控制它们⾃⼰创建的对象体。
4. Windows NT进程的定义:⼀个程序的动态调⽤。
Windows NT进程的组成:①⼀个可执⾏的程序②⼀个私⽤的地址空间③系统资源④⾄少有⼀个执⾏线程。
Windows NT进程的特点:④进程是作为对象来实现的。
⑤进程要求⾄少有⼀个执⾏线程。
⑥进程没设进程控制块PCB,进程的控制和管理信息被放在进程对象的对象体中以及局限于进程的对象表中。
⑦Windows NT中的进程,不是处理机调度的基本单位,所以没有必要区分进程的状态。
⑧当系统启动时,系统为每⼀环境⼦系统建⽴⼀个服务器进程。
每当⽤户的应⽤程序启动时,相应的环境⼦系统进程调⽤执⾏体的进程管理程序为之建⽴⼀个进程,然后进程管理程序⼜调⽤对象管理程序为之建⽴⼀个进程对象。
⑨进程管理程序不维护进程的⽗⼦或其他关系。
⑩进程有内含的同步机制。
5. Windows NT线程的定义:进程内的⼀个可调度实体。
线程的组成:①⼀个的标识符,即客户ID.②描述处理机状态的⼀组寄存器内容。
③两个栈:⽤户栈和核⼼栈。
④⼀个私⽤存储区。
引进线程⽬的:主要⽬的是要有效地实现并⾏性。
多进程的⽅式虽然也可以实现并⾏性,但采⽤线程⽐采⽤进程实现并⾏性更⽅便、更有效。
以UNIX为例,当⼀个进程创建⼀个⼦进程时,系统必须把⽗进程地址空间的所有内容拷贝到⼦进程的地址空间中去。
对⼤地址空间来说,这样的操作是很费时的,更何况两进程还要建⽴共享数据。
如果采⽤多线程要好得多,因为这些线程共享进程的同⼀地址空间、对象句柄及其他资源。
6. 进程和线程之间的区别和联系:
①线程是进程的⼀个组成部分。
每个NT进程在创建时只有⼀个线程,需要时这个线程可以再创建其他线程。
②⼀个进程的多个线程都在这个进程的地址空间内活动。
③进程是资源的基本分配单位。
这就是资源是分配给进程的,⽽不是分配给线程的,并且系统还为分配给进程的资源规定了配额。
④处理机调度的基本单位是线程,在线程之间竞争处理机。
真正在处理机上执⾏的是线程,线程在执⾏中需要资源时,系统从进程的配额中扣除并分配给它。
⑤线程在执⾏过程中,需要同步,在不同的进程的线程之间的同步要⽤消息传递机制。
消息传递要⽤到进程的资源——端⼝(端⼝也是对象,端⼝上有消息队列)。
因此,可以这们说,通信的是线程,使⽤的资源却是进程的(服务器进程可以创建多端⼝,以利于多线程通信。
)
7. Windows NT内核的特点:Windows NT内核的特点是采⽤微内核技术。
它提供了⼀组精⼼设计的操作系统原语和机制,通过使⽤这些原语和机制,执⾏体可以构造更多⾼级的操作系统功能。
内核与其它执⾏体不同的是,内核永久驻留内存,内核的执⾏是不可抢占的,并总运⾏在核⼼态。
内核的基本(主要)功能:①调度线程的执⾏②中断和异常的处理③完成低级的多处理机间的同步④电源故障的排除(实现系统的恢复过程)。
8. 画图说明线程的调度状态及其转换条件。
(P191)
9. 线程调度采⽤的调度算法是什么?线程调度采⽤的调度算法是可抢占的动态优先级调度算法。
线程调度程序按线程的优先级进⾏调度,⾼优先级的线程先被调度。
线程在执⾏过程中优先级可以变化,调度程序调度时所依据的要主数据结构是多优先级就绪队列。
10. 中断:Windows NT中,中断是异步事件,主要由硬件如I/O设备、处理机、时钟或定时器引起的,是随机发⽣的中断处理机的事件。
异常:异常是同步事件,是某些特定指令执⾏的结果,如主存存取错、浮点数被零除等,Windows NT还把系统服务调⽤看作是异常。
Windows NT如何处理中断与异常:当中断或异常发⽣被系统捕捉后,系统将执⾏的线程从⽤户态转换到核⼼态,将处理机的控制权转交给其⾸地址存放在主存固定单元的陷阱处理程序。
陷阱处理程序被调⽤后,它⾸先保护执⾏线程被中断的断点现场,在此期间屏蔽中断,其次根据中断/异常的原因决定将控制权交给相应的处理程序:①如果是中断,根据中断源将控制权转交给相应的处理程序。
②如果是异常,对于处理简单的异常由陷阱程序解决,其余由异常调度程序处理。
根据异常的原因转⼊异常处理程序。
③如果是系统服务,陷阱处理程序由系统服务调度程序去查找系统服务调度表,转⼊相应的系统服务程序。
④如果是虚地址异常,则转⼊VM管理器页⾯调度程序。
11. Windows NT如何实现处理机之间的同步:Windows NT中对内核全局数据结构的修改必须互斥地执⾏。
解决内核临界区的互斥,采⽤的主要⽅法是:①提⾼临界区代码执⾏的中断优先级。
②使⽤转锁。
12. 画图说明Windows NT虚拟地址空间的划分:Windows NT为每个进程提供了⼀个4GB在的虚拟地址空间。
⾼地址的2GB保留给系统使⽤(系统存储区:①⾮页交换区0.5GB;②页交换区0.5GB;③直接映射地址1GB),低地址的2GB是⽤户
的存储区(⽤户存储区:页⾯交换区),这个存储区可被⽤户态和核⼼态的线程访问。
P197
13. 举例说明Windows NT虚拟地址到物理地址的变换过程:
14. Windows NT的存储管理所采⽤的页⾯淘汰算法是什么:采⽤先进先出(FIFO)页⾯转换算法,即把在主存中驻留时间最长的页⾯淘汰出去。
15. Windows NT的I/O系统组成部件:①I/O管理程序②⽂件系统③设备驱动程序④缓冲存储管理程序⑤络驱动程序(络转发程序和络服务程序)。
Windows NT在I/O系统的设计⽅⾯,建⽴了⼀个统⼀、⼀致的⾼层界⾯——I/O设备的虚拟界⾯,即把所有的读写数据都看成是直接送往虚拟⽂件的字节流。
P202
16. 举例说明Windows NT中的同步I/O过程:P205 当应⽤程序调⽤⼀个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请求。
17. 试说明Windows NT中异步I/O操作的特点:异步I/O相对于同步I/O有⼀重要特点:具有提⾼应⽤程序执⾏速度的潜⼒。
当设备在忙于读写的同时,应⽤程序可继续其他的⼯作。
为了使⽤异步I/O,应⽤程序必须在其参数中指出异步I/O,在Win32中使⽤参数overlapped表⽰异步I/O.在发出异步I/O操作后,线程要⼩⼼,不要在设备驱动程序完成数据读写前再去读写I/O操作中的数据。
也就是说,线程的执⾏必须通过等待⼀个句柄,和I/O请求的完成保持同步。
18. 内装络:Windows NT络是内装络,它把络软件作为NT执⾏体的I/O系统中的⼀个组件嵌⼊系统内部(即络功能包含于操作系统中),这使得Windows NT⽆需安装其他络软件,即可为⽤户提供资源共享和各种络功能。
其特点:①Windows NT 的络软件不是作为操作系统的⼀个附加层来运⾏,⽽是作为NT执⾏体的I/O系统中的⼀个组件⽽嵌⼊系统内部,这使得Windows NT⽆需安装其他络软件,即可为⽤户提供资源共享和各种络功能。
②Windows NT中的络组件可以直接利⽤NT内部的系统功能。
Windows NT络具有以下特点:
①NT络是内装,从⽽Windows NT是真正的络操作系统。
②NT络与其它络系统的互操作性。
③提供⽅便的建⽴和运⾏分布式应⽤程序的机制。
④系统开放性好。
19. 画图说明Windows NT络的体系结构(P207):低四层统称为通信⼦,驻留在⾼三层的软件称为通信⼦的⽤户。
20. Windows NT络中作为内装络的两个主要部件是:转发程序和服务程序。
转发程序,也称重定向程序,⽤于客户⽅。
转发程序的主要功能是:解释络I/O请求并⽣成对下层协议的调⽤,以实现络的I/O功能。
转发程序作为客户⽅,执⾏
SMB(Server Message Block)协议,与服务器⽅的服务程序同处于会话层。
转发程序可以访问远程节点上的⽂件,命名管道和打印机,以实现络的资源共享。
服务程序的主要功能:接收络传输驱动程序来的I/O请求,执⾏这些请求,然后将结果通过络送回。
服务程序作为驱动程序可以存在于NT执⾏体内,并可调⽤⾼速缓冲管理程序直接优化它所要传送的数据。
21. 为什么说Windows NT具有开放式的结构?
①Windows NT络是⼀个内装络,⽽不是像其他络操作系统那样,在⼀个多任务传统的操作系统上附加⼀层络软件。
NT络操作系统把络功能包含在操作系统中,并可直接使⽤Windows NT内部的系统功能。
NT络软件包含有将其内部络软件装⼊和卸出的机制,同样的机制也可将其他络软件装⼊和卸出操作系统。
②Windows NT考虑到应⽤程序如何络,Windows NT提供了多种访问⽅法:Win32 I/O API、Win32 Wnet API、Windows Sockets API、NetBIOS API、RPC API、Win32命令管道与邮件槽 API
③Windows NT的供应者接⼝:多供应者路由器MPR,当应⽤程序利⽤Win32 Wnet浏览远程⽂件系统时,能确定存取哪个络。
多UNC供应者MUP,当应⽤程序利⽤Win32 I/O API打开远程⽂件时,能确定存取哪个络。
④Windows NT提供了传输驱动程序接⼝TDI,它使得转发程序和服务程序可保持独⽴于络。
Windows NT络上可以使⽤的传输协议有:NetBEUI、TCP/IP、IPX/SPX、DECnet、Apple Talk、XNS.有了上述协议,Windows NT络就可以与其他⼚商的络产吕互连。
⑤络驱动程序的NDIS环境。
使得任何协议驱动程序可以通过调⽤NDIS接⼝将络请求引导到卡。
因⽽,⽤户使⽤⼀个卡或单⼀的络驱动程序便可在TCP/IP络和NetBEUI上通信。