典型题目讲解 下载本文

=750*2000μs=1500000μs,则该程序运行时间为=1500000μs+57000000μs=58.5s。

29、假定占有M块(初始为空)的进程有一个页访问串,这个页访问串的长度为p,其中涉及到q个不同的页号,对于任何页面置换算法,问:(1)缺页中断次数的下届和上届分别是多少?

30、覆盖技术与虚拟存储技术有何本质不同?交换技术与虚拟存储有何不同?

提示:覆盖技术中,覆盖段由用户设计,用户自身对内存的划分要参与操作;虚拟存储技术是由系统提供逻辑空间给用户使用,而用户并不真正了解内存的情况,物理空间的划分和管理由系统完成;交换技术是讲内存中暂时没有运行的进程调出内存,但并没有提供大于实际内存空间的逻辑空间给用户使用,该技术并不是直接面向用户的;虚拟技术可以调出正在运行的进程的内容,它是提供更大的逻辑空间供用户使用,是直接面向用户的。

31、某计算机系统执行一条指令需10ns,一次缺页需额外的20ms,如果每1000000条指令发生一次缺页,则指令平均执行时间为多少? 32、在某页式虚存管理系统中,假定访问内存的时间是10ms,平均缺页中断处理时间为25ms,平均缺页中断率为5%。试计算在该虚存系统中,平均有效访问时间是多少?

33、请求分页系统必须至少具有三种硬件支持(一定量内存和较大量外存、地址转换机构、缺页中断机构)。

34、实现虚拟存储器的关键技术是(请求调入技术和置换技术)。 35、unix为实现请求分页管理,使用了哪些数据结构? 答:(1)页表:(2)磁盘块描述表:记录虚页号对应的盘块号。(3)页框数据表:用于描述每个页框。(4)对换使用表:描述对换设备上的每一页的使用情况。

36、虚拟存储系统的基础是程序的局部性理论,此理论的基本含义是(选项:程序执行时对主存的访问是不均匀的;代码的顺序执行;变量的连续访问);局部性有两种形式:时间局限性和(选项:指令局部性;数据局部性;空间局部性)。它们的意义分别为(选项:最近被访问的单元,很可能在不久的将来还要被访问;最近被访问的单元,很可能它附近的单元也即将被访问;结构化程序设计,很少出现转移语句;程序中循环语句的执行一般时间很长)。根据局部性理论,Denning提出了(选项:Cache结构的思想;工作集理论;LRU算法;) 37、作业在执行中发生缺页中断,经操作系统处理后,应让其执行()指令。

选择:被中断的前一条;被中断的那一条;被中断的后一条;启动时的第一条。 38、什么是Belady现象?

答:Belady现象是指在使用FIFO置换算法转换时,在进程或作业没有得到它所要求的全部页面的情况下,有时会出现的分配给它的页面数越多,缺页次数反而也越多的现象。 39、名词解释:抖动,工作集。

答:在虚拟存储系统中,由于大量页面的换入换出操作导致CPU利用率急剧下降的现象。工作集是在某段时间间隔里,进程实际要访问的页面的集合。

40、在某页式虚存系统中,假定访问内存的时间是10ns,平均缺页中断处理时间为25ms,平均缺页中断率为5%,试计算在该虚存系统中,平均有效访问时间是多少? =25ms*5%+10ns*(1-5%)

40、unix系统中的存储管理时采用(A3)方式;对换空间采用(B2)管理方式。 A:(1)请求分页;(2)动态分段;(3)段页式且支持请求调页;(4)段页式且支持请求调段。 B:(1)固定分区;(2)动态分区;(3)分页;(4)分段

29

41、下面的程序设计技术和数据结构,对于请求分页的环境而言,(3,5,6)是好的,(2,7)是坏的。 (1)栈;(2)hash表;(3)顺序检索;(4)二分查找;(5)纯代码;(6)向量操作;(7)间接寻址

42、假定某一页式虚拟存储器,内存的平均访问时间为1μs,辅存的平均访问时间为10ms,试问如果希望虚拟存储器的平均访问时间仅比内存的增加10%,则需要页面失效率是多少? 答:设页面失效率为f,则虚拟存储器的平均访问时间为: (1-f)*1μs+f*10ms=1+9999*f(μs),据题意,1.10>1+9999*f,所以,f<0.00001

43、虚拟存储管理利用了交换区、内存已经Cache。假设从Cache读取一个字节数据需Ans;如果该数据不在Cache,却在内存,则从内存读至Cache需Bns,然后还需从Cache得到;如果该数据既不在Cache,又不在内存,则从交换区读入内存需Cns,然后还需传至Cache,才能读取。已知Cache的命中率为n,内存的命中率为m,求平均访问时间。

44、现有一请求分页的虚拟存储器,内存最多容纳4个页面,对于下面的引用串:1,2,3,4,5,3,4,1,6,7,8,9,5,4,5,4,2.分别采用FIFO,LRU,OPT页面替换算法,各将产生多少次缺页中断?

第五章 设备管理

5.1 I/O系统

1、判断:(1)共享设备必须是可寻址的和可随机访问的设备。

(2)字符设备的基本特征是可寻址到字节,即能指定输入的源地址和输出的目标地址;

(3)共享设备是指同一时间内运行的多个进程能同时访问的设备; (4)在分配共享设备和独占设备时都可能引起死锁; (5)通道是处理输入、输出的软件;

(6)所有外围设备的启动工作都由系统统一来做; (7)来自通道的I/O中断由设备管理负责处理; (8)编制好的通道程序是存放在主存储器中的。

(9)只有引入通道后,cpu计算与I/O操作才能并行执行。

(9)设备控制器是可编址设备,当用于控制多台设备时,则具有多地址(对) (10)处理器与外围设备的并行工作能力是由()提供的:硬件;系统软件;应用软件;支援软件。

(11)存储型设备可以作为主存储器的扩充,信息传输单位为块。

(12)按设备的使用特性,可将计算机设备分为存储型设备和输入输出设备。 (13)输入输出型设备负责主存储器与外围设备间的信息传输,信息传输单位是字符。 (14)存储型设备一般属于共享设备,而输入输出型设备则属于独占设备。 (15)独占设备一般不宜采用静态分配策略。

30

(16)作业指定独占设备的方式包括直接指定设备绝对号和指定设备类与相对号两种。 (17)指定绝对设备号的方式使设备分配的适应性好、灵活性强,用户程序中经常使用。 (18)在unix系统中,标准输入和标准输出都是终端设备,即键盘和显示器。 (19)在unix系统中,使用“>”或“》”可以使输出重定向,“<”可以使输入重定向。

(20)在unix系统中,管道pipe是连接在进程间的可共享文件。

(21)在unix系统中,Shell文件相当于MS-DOS的批处理文件,直接执行即可。 2、填空:通道技术的引入,实现了(处理器与设备的)并行、(设备与设备的)并行、(进程与进程的)并行。

3、把设备作为特殊文件处理,系统可以不必提供设备驱动程序。 4、下面关于设备属性的论述中正确的是(2)

(1)字符设备的一个基本特性是可寻址的,即能指定输入时的源地址和输出时的目标地址;(2)共享设备必须是可寻址的和可随机访问的设备;(3)共享设备是指在同一时刻内,允许多个进程同时访问的设备;(4)在分配共享设备和独占设备时,都可能引起死锁。

5、以下关于外部设备的说法,错误的是(4)

(1)外部设备分为存储型和I/O型两种。(2)存储型设备可以作为内存的扩充,信息传送单位为块。(3)I/O型设备负责内存与外设之间的信息传递,信息传输的单位是字符。(4)存储型设备一般属于共享设备,而I/O型设备则属于独占设备。 6、下面关于设备管理的论述中正确的是(1,2,3)

(1)所以外设的启动工作都是由系统统一来做。(2)来自通道的I/O中断事件由设备管理负责处理。(3)编制好的通道程序存放在内存中。(4)由用户给出的设备编号是设备的绝对号。

7、计算机系统启动设备是按(3)来启动的。

(1)设备名;(2)设备相对号;(3)设备绝对号;(4)设备地址

5.2 I/O控制

1、I/O控制发展的主要推动因素是什么?

答:(1)力图减少CPU对I/O操作的干预,把CPU从繁重的I/O控制中解脱出来,以充分发挥CPU数据处理的能力;(2)缓和CPU的高速性和I/O设备的低速性之间速度不匹配的矛盾,以提高CPU的利用率和系统吞吐量;(3)提高CPU和I/O设备的并行程度,使他们处于忙碌状态。

5.3缓冲管理

1 高速缓存和缓冲区的区别:

两者都是介于一个高速设备和一个低速设备之间的,但是它们之间有着很大的区别:(1)两者存放的数据不同。高速缓存上放的是低速设备上某些数据的一个拷贝,即高速缓存上有的数据低速设备上一定有;而缓冲区则是放置低速设备传递给高速设备的数据,然后再从缓冲区送到高速设备,而在低速设备上不一定有备份;(2)两者的目的不同:高速缓存是为了

31

存放低速设备上经常要被访问的数据,如果不能命中,高速设备仍然要访问低速设备;而缓冲区是为了缓和高速设备与低速设备间速度不匹配的矛盾而设置的,高速设备和低速设备间通信每次都要经过缓冲区,高速设备不会直接去访问低速设备。 2、判断:换冲技术是借用外存储器的一部分区域作为缓冲池。 3、在缓冲区实现机制中,为什么要将缓冲区的头部和缓冲体分开?

提示:(1)使系统更加安全,不会产生越界访问;(2)可以提高访问效率,比如将头部放入cache,可以减少缓冲区查找时间。

4、在某系统中,从磁盘将一块数据输入到缓冲区需要花费的时间为T,cpu对一块数据进行处理的时间为C,将缓冲区的数据传送到用户区所花的时间为M,那么单缓冲和双缓冲情况下,系统处理大量数据是,一块数据的处理时间为多少? 5、UNIX中是如何进行块设备缓冲区管理的?

6、判断:缓冲技术是以空间换取时间,而且只能在设备使用不均衡时起到平滑作用(对) 7、在多用户系统中,实现减排驱动程序需要字符缓冲技术,请给出两种实现字符缓冲的方法。

8、若数据输入一缓冲区的设计tio始终大于对该数据的处理时间tc或者反之。试问,对上述两种情况各应采取哪种缓冲区较为合适?

答:若tio大于tc,采用单缓冲;反之,应采用循环缓冲或者缓冲池。 9、unix如何管理缓冲区?

答:unix分别为字符设备和块设备设置了缓冲区。(1)字符设备缓冲区管理:系统设置了一组字符缓冲区,供各种字符设备使用。其中,每个缓冲区的大小为70字节,包括4项:第一个字符位置,最后一个字符位置,指向下一个缓冲区的指针,余下的64个字节存放数据。所有空闲缓冲区链接成一个队列。缓冲区的分配和释放均可在链首处进行。(2)块设备缓冲区管理:类似缓冲池管理。每个缓冲区分成两部分:用于存放管理控制信息的缓冲首部和存放数据的缓冲区,两者一一对应,但物理上不相连,而是独立存储,只是在缓冲首部中用一个指针指向对应的缓冲区。缓冲首部还包括设备号和块号,以分别指出对应的文件系统和磁盘上的数据块。为了对缓冲区进行管理,系统设置一个双向链接的空闲链表,系统初启时,将所有的缓冲区首部链入空闲链表中。为了加速对缓冲区的查找,系统把所有缓冲区按设备号及块号所计算的散列值组织成多个散列队列,每个散列队列仍是一个双向链表。由于每一个缓冲区都在一个散列队列中,而空闲缓冲区又应链入空闲缓冲区队列,因此一个空闲缓冲区可同时链入两个队列中,从而使对一空闲缓冲区的查找可通过两种方式进行:A 若要获取任意一个空闲缓冲区,从空闲链首摘下一个即可;B 若要寻找一特定的空闲缓冲区,则搜索散列队列更方便。

10、假定吧磁盘上一个数据块中信息输入到一单缓冲区的时间T为100μs,将缓冲区中数据传送到用户区的时间M为50μs,而CPU对这一块数据进行计算的时间C为50μs,这样系统对每一块数据的处理时间为(150μs),如果将单缓冲改为双缓冲,则系统对每一块数据的处理时间为(100μs)。

5.4 I/O软件的设计目标

补充内容:中断处理:

32