第七章习题解答
一、填空
1.一个操作系统的可扩展性,是指该系统能够跟上先进计算技术发展的能力。
2.在引入线程的操作系统中,线程是进程的一个实体,是进程中实施调度和处理机分派的基本单位。
3.一个线程除了有所属进程的基本优先级外,还有运行时的当前优先级。
4.在Windows 2000中,具有1~15优先级的线程称为可变型线程。
它的优先级随着时间配额的用完,会被强制降低。
5.Windows 2000在创建一个进程时,在内存里分配给它一定数量的页帧,用于存放运行时所需要的页面。
这些页面被称为是该进程的“工作集”。
6.Windows 2000采用的是请求调页法和集群法相结合的取页策略,把页面装入到内存的页帧里的。
7.分区是磁盘的基本组成部分,是一个能够被格式化和单独使用的逻辑单元。
8.MFT是一个数组,是一个以数组元素为记录构成的文件。
9.只要是存于NTFS卷上的文件,在MFT里都会有一个元素与之对应。
10.在Windows 2000的设备管理中,整个I/O处理过程都是通过I/O请求包(IRP)来驱动的。
二、选择
1.在引入线程概念之后,一个进程至少要拥有D 个线程。
A. 4 B.3 C.2 D.1
2.在Windows 2000中,只有A 状态的线程才能成为被切换成运行状态,占用处理器执行。
A.备用B.就绪C.等待D.转换
3.Windows 2000是采用C 来实现对线程的调度管理的。
A.线程调度器就绪队列表
B.线程调度器就绪队列表、就绪位图
C.线程调度器就绪队列表、就绪位图、空闲位图
D.线程调度器就绪队列表、空闲位图
4.在Windows 2000里,一个线程的优先级,会在A 时被系统降低。
A.时间配额用完B.请求I/O C.等待消息D.线程切换5.在单处理机系统,当要在进程工作集里替换一页时,Windows2000实施的是B 页面淘汰策略。
A. FIFO(先进先出)B.LRU(最近最久未用)
C.LFU(最近最少用)D.OPT(最优)
6.在页帧数据库里,处于下面所列A 状态下的页帧才可以变为有效状态。
A.初始化B.备用C.空闲D.修改7.当属性值能够直接存放在MFT的元素里时,称其为B 。
A.非常驻属性B.常驻属性C.控制属性D.扩展属性8.在NTFS文件系统中,文件在磁盘上存储时的物理结构是采用C 的。
A.连续式B.链接式C.索引式D.组合式9.在Windows 2000的设备管理中,I/O请求包(IRP)是由D 建立的。
A.用户应用程序B.文件系统驱动程序
C.设备驱动程序D.I/O管理器
10.Windows2000处理机调度的对象是B 。
A.进程B.线程C.程序D.进程和线程
三、问答
1.何谓操作系统的‘微内核’设计模式?
答:所谓操作系统的‘微内核’设计模式,其中心思想是将操作系统划分成两个部分:系统的非基本部分和系统的核心部分。
系统的非基本部分以单一功能的进程形式,在用户态下运行;把最为关键的进程管理、内存管理、以及进程通信等功能,留存下来组成系统的内核,在核心态下运行。
2.用微内核模式构造的操作系统,为什么具有可扩展性、可移植性、以及更好的安全性和可靠性?
答:用微内核模式构造操作系统,要增加新的服务时,是增加到用户空间中,而不是修改内核。
当内核确实需要变动时,因为内核本身很小,因此所要做的修改也会很小。
所以说,这样的操作系统能够跟上先进计算技术的发展,具有可扩展性;由于很小,因此稍加改动,就能够从一种硬件平台移到另一种硬件平台,从而具有可移植性;再有,绝大多数服务都运行在用户态,不以内核进程的面目出现,即使一种服务失败,也不会导致整个系统的崩溃或瘫痪,因此使内核具有更好的安全性和可靠性。
3.什么是对称多处理器系统(SMP)?
答:一个计算机系统是所谓的“对称多处理器系统(SMP)”,即该系统具有多个处理器,每个处理器都运行同一个操作系统的拷贝,这些拷贝根据需要可以互相通信。
4.何谓“处理机饥饿”线程?为何要极大地提升它的优先级?
答:所谓“处理机饥饿”,是指在就绪队列里长期等待而一直没有得到运行机会的那种线程。
由于它长时间的等待,得不到CPU,这显然是不公平的。
为了平衡线程间的这种关系,Windows 2000就专门有一个系统线程,定时检查是否存在这样的线程(比如,它们在就绪队列里已经超过了300个时钟中断间隔,相当3~4秒钟)。
如果有,就把该线程的优先级一下提升到15,分配给它长度为正常值两倍的时间配额。
在它用完这个时间配额后,其优先级立即衰减到它原来的基本优先级。
5.何为“置页策略”?Windows 2000具体是怎么做的?
答:当缺页中断时,系统必须确定把虚拟页面放入到物理内存的什么地方。
这就是所谓的“置页策略”。
在Windows 2000,内存中可分配的页帧对象,只能从页帧号数据库的初始化帧链表、空闲帧链表、后备帧链表和修改帧链表里得到。
具体的做法是:
(1)在要求存储分配时,如果需要的是一个零初始化的页帧,那么系统首先试图从初始化帧链表中得到一个可分配的页帧;如果这个链表为空,则从空闲帧链表中选取一帧并将其初始化;如果空闲帧链表也为空,那么就改为从后备帧链表中选取一帧并将其初始化;如此等等。
(2)如果所需要的并不是一个零初始化页帧,那么首先去查看空闲帧链表;如果空,则去查看后备帧链表。
在决定要把后备帧链表里记录的一帧分配出去之前,必须从该元素回溯,找到进程页表里相关的表项,清除其里面的“页帧号”,断绝这个页表项与该页帧的联系。
这样,才能保证分配的安全。
(3)如果必须要把一个处于修改状态的页帧分配出去,那么首先要将该页帧的内容写入磁盘,然后将它链到后备帧链表里去,以便使用。
6.为什么要把一个磁盘划分为若干个分区:
答:把磁盘格式化为若干个分区,主要的目的有三个:第一,使磁盘初始化,以便将其
格式化后用于存储数据;第二,通过一个个分区,可以将不同的操作系统分开,以保证多个操作系统可以在同一个磁盘上得到正常的运行;第三,便于更好地对磁盘进行管理,达到充分利用磁盘空间的目的。
7.什么是NTFS文件系统中的VCN和LCN?
答:在NTFS文件系统中,簇是文件存储的分配单位。
系统按照簇的尺寸来划分文件的虚拟空间,这样形成的顺序号,称为虚拟簇号,即VCN;把整个卷中所有的簇从头到尾进行顺序编号,称为逻辑簇号,即LCN。
8.在NTFS中是如何实现其可恢复性的?
答:为了实现可恢复性,NTFS在主控文件表(MFT)里设置了一个日志文件。
在系统运行过程中,随时向日志文件里存储更新记录,定时地向日志文件里存储检查点记录、事务表记录以及脏页表记录。
为系统的恢复积累所需要的信息。
在系统崩溃而重新启动时,NTFS将对日志文件进行分析扫描、重做扫描和撤消扫描,完成重做和撤消,使系统恢复到发生崩溃之前。
9.Windows 2000为什么采用两级中断处理方式?
答:Windows 2000采用的是中断服务程序(ISR)和延迟过程调用程序(DPC)两级处理中断。
之所以这样,是为了提高系统的并行工作能力,防止因中断服务程序占用较长的处理机时间,引起不必要的阻塞。
因此,中断服务程序(ISR)部分执行尽可能少的关键性操作,并运行在高中断请求级上;余下的中断处理部分称为延迟过程调用程序(DPC),运行在低中断请求级上。
四、计算
1.FAT16文件系统的簇号应该用多少个二进制位标识?如果一簇的尺寸最大为16KB,那么这种卷的尺寸最多为多少?
答:由FAT16表明,这种文件系统的簇号应该用16个二进制位来标识。
也就是说,这种卷最多可以含216(=65536)个簇。
题目中给出一个簇的最大尺寸为16KB,因此这种卷的最大尺寸为216*16KB=1GB。