您的当前位置:首页2022年南京林业大学软件工程专业《操作系统》科目期末试卷A(有答案)

2022年南京林业大学软件工程专业《操作系统》科目期末试卷A(有答案)

2023-03-16 来源:乌哈旅游
2022年南京林业大学软件工程专业《操作系统》科目期末试卷A(有

答案)

一、选择题

1、下列指令中,不能在用户态执行的是( ) A.trap指令 B.跳转指令 C.压栈指令 D.关中断指令

2、一个多道批处理系统中仅有P1,和P2两个作业,P2比P1晚5ms到达。它们的计算和I/O操作顺序如下:

P1:计算60ms,I/O 80ms,计算20ms P2:计算120ms,I/O 40ms,计算40ms。

若不考虑调度和切换时间,则完成两个作业需要的时间最少是( )。 A.240ms B.260ms C.340ms D.360ms

3、在使用信号量机制实现互斥时,互斥信号量的初值一般为( ):而使用信号量机,制实现同步时,同步信号量的初值般为( )。

A.0:1 B.1:0 C.不确定:1 D.1:不确定

4、若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。

I.若该文件的数据不在内存中,则该进程进入睡眠等待状态 II.请求rcad系统调用会导致CPU从用户态切换到核心态 III.read系统调用的参数应包含文件的名称

A.仅I、II B. 仅I、III C.仅II、III D. I、II和III

5、有3个作业J1,J2,J3,其运行时间分别为2h,5h,3h,假定同时到达,并在同…台处理器上以单道方式运行,则平均周转时间最短的执行序列是( )。 A.J1,J2,J3 B.J3,J2,J1 C.J2,J1,J3 D.J1,J3,J2 6、程序员利用系统调用打开I/O设备时,通常使用的设备标识是( ), A.逻辑设备名 B.物理设备名 C.主设备号 D.从设备号

7、某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块人小相同,把一个磁盘块读入缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs.CPU对一块数据进行分析的时间为50us。在单缓冲区和双缓冲区结构ド,读入并分析完该文件的时间分别是( )。 Α.1500μs,1000μs B.1550μs,1100μs C.1550μs,1550μs D.2000μs,2000μs

8、( )结构的文件最适合于随机存取的应用场合。 A.流式 B.索引 C.链接 D.顺序

9、在现代操作系统中,文件系统都有效地解决了重名(即允许不同用户的文件可以具有相同的文件名)问题。系统是通过( )来实现这一功能的。 A.重名翻译结构 B.建立索引表 C.树形目录结构 D.建立指针

10、适合多道程序运行的存储管理中,存储保护是为了( ) A.防止一个作业占用同个分区 B.防止非法访问磁盘文件 C.防止非法访问磁带文件 D.防止各道作业相互干扰

11、在段页式分配中,CPU每次从内存中取一次数据需要( )次访问内存。 A.1 B.2 C.3 D.4

12、当系统发生抖动(Trashing)时,可以采取的有效措施是( )。 I.撤销部分进程 II.增大磁做交换区的容量 III.提高用户进程的优先级 A. 仅I B.仅II C.仅III D.仅I,II

二、填空题

13、把进程间用信件来交换信息的方式称为__________

14、批处理操作系统中,操作员根据作业需要把一批作业的有关信息输入计算机系统,操作系统选择作业并根据作业控制__________的要求自动控制作业的执行。 15、操作系统中,进程可以分为__________和__________两类。 16、传统操作系统提供编程人员的接口称为__________

17、线程的主要属性是:每个线程有__________,同一进程中的各个线程共享__________。 18、只要涉及相同变量的若干进程的__________互斥执行,就不会造成与__________有关的错误。

19、在设备管理中,对磁带机、输入机及打印机等独占设备总是采用__________策略进行分配。

20、主存储器与外围设备之间的__________操作称为输入输出操作。

三、判断题

21、所谓最近最少使用( )

22、如果信号量S的当前值为-5,则表示系统中共有5个等待进程. ( ) 23、有m个进程的操作系统出现死锁时,死锁进程的个数为125、在作业调度时,采用最高响应比优先的作业调度算法可以得到最短的作业平均周转时间. ( )

26、进程控制块中的所有信息必须常驻内存. ( ) 27、文件系统的主要目的是存储系统文档. ( )

28、同一文件系统中不允许文件同名,否则会引起混乱. ( ) 29、流式文件是指无结构的文件. ( )

30、进程优先数是进程调度的重要依据,必须根据进程运行情况动态改变. ( ) 31、实时系统中的作业周转时间有严格的限制. ( ) 32、参与死锁的所有进程都占有资源. ( )

四、名词解释题

33、管程:

34、输入井:

35、缓冲池:

36、逻辑记录:

37、碎片:

38、作业调度:

五、简答题

39、虚拟存储器的基本特征是什么?虚拟存储器的容量主要受到哪两方面的限制?

40、为什么说批处理多道系统能极大地提高计算机系统的工作效率?

41、试说明资源的静态分配策略能防止死锁的原因.

42、从资源管理的角度说明操作系统的主要功能?

43、系统调用的执行过程分可分为哪几步?

44、影响缺页中断率的因素有哪些?

六、综合题

45、假定计算机M采用二级分页虚拟存储管理方式,虚拟地址格式如下:

回答下列问题。

1)函数f1的机器指令代码占多少页?

2)取第1条指令(push ebp)时,若在进行地址变换的过程中需要访问内存中的页目录和页表则分别会访问它们各门的第几个页表项(编号从0开始)? 3)M的1/0采用中断控制方式。若进程P在调用fl之前通过scanf()获取n的值,则在执行scanf()的过程中,进程P的状态会如何变化?CPU是否会进入内核态?

46、系统中有多个生产者进程和多个消费者进程,共享一个能存放1000件产品的环形缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待:当缓冲区未空时,消费者进程可以从缓冲区取走·件产品,否则等待。要求一个消费者进程从缓冲区连续取出10件产品后,其他消费者进程才时以取产品。请使用信号量P、V(wait()、signal())操作实现进程间的互斥与同步,要求写出完整的过程,并说明所用信号量的含义和初值。

47、已知系统为32位实地址,采用48位虚拟地址,页面大小4KB,页表项人小为8B;每段最大为4GB。

1)假设系统使用纯页式存储,则要采用多少级页表,页内偏移多少位? 2)假设系统采用一级页表,TLB命中率为98%,TLB访问时间为10ns,内存访问时间为100ns,并假设当TLB访问失败后才开始访问内存,问平均页面访问时间是多少?

3)如果是二级页表,页面平均访问时间是多少?

4)上题中,如果要满足访问时间<120ns,那么命中率需要至少多少?

5)若系统采用段页式存储,则每用户最多可以有多少个段?段内采用儿级页表?

参考答案

一、选择题

1、D 2、B 3、D 4、A 5、D 6、A 7、B 8、D 9、C 10、D 11、B 12、A

二、填空题

13、【答案】信箱通信 14、【答案】说明书

15、【答案】系统进程、用户进程 16、【答案】系统调用

17、【答案】一个唯一的标识符和线程描述表、分配给进程的主存地址空间

18、【答案】相关临界区、时间 19、【答案】静态分配 20、【答案】信息传送

三、判断题

21、【答案】:对 22、【答案】:错 23、【答案】:对 24、【答案】:对 25、【答案】:错 26、【答案】:错 27、【答案】:错 28、【答案】:对 29、【答案】:对 30、【答案】:错 31、【答案】:错 32、【答案】:错

四、名词解释题

33、管程:

管程是一种高级同步机制,一个管程定义一个数据结构和能为并发进程在其上执行的一组操作,这组操作能使进程同步和改变管程中的数据。 34、输入井:

是指为使设备与cpu速度相匹配,系统在磁盘上设置的多个缓冲区,以实现设备与cpu之间的数据交换。输入井主要用来存放由输入设备输入的信息。 35、缓冲池:

又叫公共缓冲区,也是系统在磁盘上设置的多个缓冲区。它既可以用于输入,也可以用于输出,较好地克服了专用缓冲区的缺点。一方面提高了缓冲区的利用率,另一方面也提高了设备与cpu的并行操作程度。 36、逻辑记录:

用户构造文件时使用的一个信息单位。通常以逻辑记录为单位存取文件 37、碎片:

在分区法中,内存出现许多容量太小、无法被利用的小分区称作“碎片”。 38、作业调度:

作业调度的主要任务是完成作业从后备状态到执行状态和从执行状态到完成状态的转换。

五、简答题

39、答:虚拟存储器的基本特征是:① 虚拟扩充,即不是物理上而是逻辑上扩充了内存容量;②部分装入,即每个作业不是全部一次性地装入内存,而是只装入一部分;③离散分配,即不必占用连续的内存空间,而是\"见缝插针\";多次对换,即所需的全部程序和数据要分成多次调入内存:虚拟存储器的容量主要受到指令中表示地址的字长和外存的容量的限制.

40、答:①多道作业并行工作,减少了处理器的空闲时间,②作业调度可以合理选择装入主存储器中的作业,充分利用计算机系统的资源。③作业执行过程中不再访问低速设备,而直接访问高速的磁盘设备,缩短执行时间。④作业成批输入,减少了从操作到作业的交接时间

41、答:资源静态分配策略要求每个进程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后该进程才开始执行.这样进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一\"占有并等待条件\",从而防止死锁的发生。 42、答:处理器管理,存储管理,文件管理,作业管理和设备管理.

43、答:系统调用的执行过程分成以下几步:(1)设置系统调用号和参数;(2)系统调用命令的一般性处理;(3)系统调用命令处理程序做具体处理。

44、答:4个因素,分别是:(1)分配给程序的主存块数;(2)页面的大小;(3)程序编制方法;(4)页面调度算法

六、综合题

45、【解析】

1)函数fl的代码段中所有指令的虚拟地址的高20位相同,因此fl的机器指令代码在同一页中,仅占用1页。

2)push ebp指令的虚拟地址的最高10位(页目录号)为0000000001,中间10位(页表索引)为00 0000 0001,所以取该指令时访问了页目录的第1个表项,在对应的页表中访问了第1个表项。

3)在执行scanf()的过程中,进程P因等待输入而从执行态变为阻塞态。输入结束后,P被中断处理程序晚醒,变为就绪态。P被调度程序调度,变为运行态。CPU状态会从用户态变为内核态。 46、【解析】

这是典型的生产者-消费者问题,只对典型问题加了一个条件,只需在标准模型上新加一个信号量,即可完成指定要求。

设置4个变量mutex1、mutex2,empty和full.mutex1用于一个消费者进程一个周期(10次)内对于缓冲区的控制,初值为1:mutex2用于进程单次互斥地访问缓冲区,初值为1;empty代表缓冲区的空位数,初值为0:full代表缓冲区的产品数,初值为1000。具体进程的描述如下:

semaphore mutexl=1; semaphore mutex2=1; semaphore empty=1000; semaphore full=0;

producer(){ {while(1) 生产一个产品; P(empty); P(mutex2); 把产品放入缓冲区; V(mutex2); V(full); } }

consumer() {

while(1) {

P(mutex1)

for(int i= 0;i<= 10;P(full); (mutex2); 从缓冲区取出一件产品;V(mutex2); V(empty);

)++i P 消费这件产品; }

V(mutex1) }

47、【解析】

1)已知页面大小4KB=212B,即页内偏移量的位数为12。采用48位虚拟地址,故虚页号为48-12=36位。页表项的大小为8B,则每页可容纳

4KB/8B=512=29项。那么所需多级页表的级数36/9=4,故应采用4级页表。

2)系统进行页面访问操作时,首先读取页面对应的页表项,有98%的概率可以在TLB中直接读取到(10ns),然后进行地址变换,访问内存读取页面(100ns),所需时间为10ns+100ns=110ns。如 TLB未命中(10ns),则要通过次内存访问来读取页表项(100ns).地址变换后,再访问内存(100ns),因TLB访问失败后才开始访问内存,因此所需时间为,10ns+100ns+100ns=210ns.

页表平均访问时间为

[98%×110+(1-98%)×210]ns=112ns

3)级页表的情况下,TLB命中的访问时间还是110ns,未命中的访问时间加上一次内存访问时间,即210ns+100ns=310ns,那么平均访问时间为

[98%×110+(1-98%)×310]ns=114ns

4)本问是在第3)小题的基础上提出的,假设快表命中率为p,则应满足 [p×110+(1-p)310]ns≤120ns求解不等式,得p=95%。

5)系统采用48位虚拟地址,虚拟地址空间为248B,每段最大为4GB.那么最大段数=248B/4GB=216=65536.

4GB=232B,即段内地址位数为32,段内采用多级页表,那么多级页表级数⌈(32−12)/9⌉=3,故段内采用3级页表。

因篇幅问题不能全部显示,请点此查看更多更全内容