2022年南京信息工程大学数据科学与大数据技术专业《操作系统》科目期末试卷A(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年南京信息工程大学数据科学与大数据技术专业《操作系统》科
目期末试卷A(有答案)
一、选择题
1、操作系统提供给编程人员的接口是()。
A.库函数
B.高级语言
C.系统调用
D.子程序
2、与早期的操作系统相比,采用微内核结构的操作系统具有很多优点,但是这些优点不,包括()。
A.提高了系统的可扩展性
B.提高了操作系统的运行效率
C.增强了系统的可靠性
D.使操作系统的可移植性更好
3、若某单处理器多进程系统中有多个就绪进程,则下列关于处理器调度的叙述中,错误
的是()。
A.在进程结束时能进行处理器调度
B.创建新进程后能进行处理器调度
C.在进程处于临界区时不能进行处理器调度
D.在系统调用完成并返回用户态时能进行处理器调度
4、下列关于进程和线程的叙述中,正确的是()
A.不管系统是否支持线程,进程都是资源分配的基本单位,
B.线程是资源分配的基本单位,进程是调度的基本单位
C.系统级线程和用户级线程的切换都需要内核的支持
D.同一进程中的各个线程拥有各自不同的地址空间
5、一个进程的读磁盘操作完成后,操作系统针对该进程必做的是(),
A.修改进程状态为就绪态
B.降低进程优先级
C.给进程分配用户内存空间
D.增加进程时间片大小
6、下列关于SPOOLing技术的叙述中,错误的是()
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、若某文件系统索引节点(inode)中有直接地址项和间接地址项,则下列选项中,与单个文件长度无关的因素是().
A.索引节点的总数
B.间接地址索引的级数
C.地址项的个数
D.文件块大小
9、下列选项中,不能改善磁盘设备I/O性能的是()。
A.重排I/O请求次序
B.在一个磁盘上设置多个分区
C.预读和滞后写
D.优化文件物理的分布
10、在可变分区分配管理中,某一作业完成后,系统收回其内存空间,并与相邻区合并,为此修改空闲区说明表,造成空闲分区数减1的情况是()。
A.无上邻空闲分区,也无下邻空闲分区
B.有上邻空闲分区,但无下邻空闲分区
C.无上邻空闲分区,但有下邻空闲分区
D.有上邻空闲分区,也有下邻空闲分区
11、下列关于页式存储说法中,正确的是()。
I.在页式存储管理中,若关闭TLB,则每当访问一条指令或存取一个操作数时都要访问两次内存
II.页式存储管理不会产生内部碎片
III.页式存储管理当中的页面是为用户所感知的
IV.页式存储方式可以采用静态重定位
A.仅I、II,IV
B. 仅I、IV
C. 仅I
D.I、II、III、IV
12、适合多道程序运行的存储管理中,存储保护是为了()
A.防止一个作业占用同个分区
B.防止非法访问磁盘文件
C.防止非法访问磁带文件
D.防止各道作业相互干扰
二、填空题
13、通道把通道程序执行情况记录在__________中;通道完成一次输入输出操作后,以
__________方式请求中央处理器进行干预。
14、把并发进程中与共享变量有关的程序段称为__________
15、当一个进程能被选中占用处理器时,就从__________态成为__________态。
16、破坏进程占有并等待资源条件,从而防止死锁的发生,其通常使用的两种方法是
__________和__________等。
17、被中断进程的现场信息是由一中断处理程序,程序将其保存到__________中的。
18、单用户连续存储管理方式下,也可利用__________技术让多个用户的作业轮流进入主存储器执行。
19、批处理操作系统中,操作员根据作业需要把一批作业的有关信息输入计算机系统,操作系统选择作业并根据作业控制__________的要求自动控制作业的执行。
20、在批处理兼分时的系统中,往往由分时系统控制的作业称为__________前台作业,而由批处理系统控制的作业称为__________。
三、判断题
21、引入当前目录是为了减少启动磁盘的次数. ()
22、由于P、V操作描述同步、互斥等问题的能力不足,所以有必要引入其它的通讯原语或机制,如send,receive或Monitor等. ()
23、对文件进行读写前,要先打开文件. ()
24、在虚存系统中,只要磁盘空间无限大,作业就能拥有任意大的编址空间. ()
25、优先数是进程调度的重要依据,一旦确定不能改变. ()
26、进程在运行中,可以自行修改自己的进程控制块. ()
27、所谓最近最少使用()
28、原语和系统调用的主要区别在于两者的实现方法不同. ()
29、页式存储管理中,用户应将自己的程序划分成若干相等的页. ()
30、流式文件是指无结构的文件. ()
31、同一文件系统中不允许文件同名,否则会引起混乱. ()
32、系统处于不安全状态不一定是死锁状态. ()
四、名词解释题
33、管态:
34、RAID:
35、异常:
36、文件系统:
37、快表:
38、进程调度:
五、简答题
39、在设备管理中,按照设备共享特性分成哪几种类型比较合理,并分别举例说明。
40、请说明在生产者一消费者问题的描述中,P操作颠倒会产生死锁吗?为什么?
41、试说明和比较几种文件共享的方法绕弯路法?
42、试说明资源的静态分配策略能防止死锁的原因.
43、进程与程序是两个完全不同的概念,但又有密切的联系,试写出两者的区别。
44、什么是动态重定位?如何实现?
六、综合题
45、如果对经典的分页管理方式的页表进行细微改造,允许同一个页表的两个页表项指向同一个物理块,由此会有什么结果?怎样利用这种结果减少内存复制操作(将一个存储段的内容复制到另一个存储段)的时间?在经过改造的存储系统里,修改一个页面中几个字节的值,会对其他页面产生什么影响?
46、某火车订票系统可供多个用户同时共享一个订票数据库。
规定允许多个用户
同时查询该数据库,有查询者时,用户不能订票:有用户订票而需要更新数据库时,不可以有其他用户使用数据库。
请用P、V操作写出查询者和订票者的同步执行程序。
47、在一个32位100MHz的单总线计算机系统中(每10ns一个时钟周期),磁盘
控制器使用DMA 以40MB/s的速率从存储器中读出数据或者向存储器写入数据。
假设CPU在没有被周期挪用的情况下,在每个周期中读取并执行一个32位指令。
若这样做,磁盘控制器使指令的执行速度降低了多少?
参考答案
一、选择题
1、C
2、B
3、C
4、A
5、A
6、D
7、B
8、A
9、B
10、D
11、C
12、D
二、填空题
13、【答案】通道状态字(或CSW)、中断(或I/O中断)
14、【答案】临界区
15、【答案】就绪、运行
16、【答案】静态分配资源、释放已占有资源
17、【答案】PCB
18、【答案】对换(swapping)
19、【答案】说明书
20、【答案】前台作业、后台作业
三、判断题
21、【答案】:对
22、【答案】:错
23、【答案】:对
24、【答案】:错
25、【答案】:错
26、【答案】:错
27、【答案】:对
28、【答案】:错
29、【答案】:错
30、【答案】:对
31、【答案】:对
32、【答案】:对
四、名词解释题
33、管态:
当执行操作系统程序时,处理机所处的状态34、RAID:
称作廉价磁盘冗余阵列,即利用一台磁盘阵列控制器来统管理和控制一组磁盘驱动器,组
成一个高可靠性、快速大容量的磁盘系统。
35、异常:
它是指来自cpu内部的事件或程序执行中的事件引起的中断6程序性中断:是指因错误
地使用指令或数据而引起的中断,用于反映程序执行过程中发现的例外情况,例如,非法
操作码,无效地址、运算溢出,等等。
36、文件系统:
操作系统中负责操纵和管理文件的一整套设施,它实现文件的共享和保护,方便用户“按
名存取”
37、快表:
为了提高地址变换速度,在地址变换机构中增设一个具有并行查找能力的高速缓冲存储器,用以存放当前访问的页表项。
这样的高速缓冲存储器就是快表。
38、进程调度:
也称低级调度程序,它完成进程从就绪状态到运行状态的转化。
五、简答题
39、答:按照是否可共享,可以分成独占设备和共享设备两类,独占设备不能让多个程序同时使用,共享设备可以同时让多个程序使用。
打印机属于独占设备,如果多个程序同时
使用打印机,则打印出来的数据就可能会随机混合交叉在一起,所以打印机只能让一个程
序独占。
而磁盘属于共享设备,多个程序同时在磁盘上打开文件是可以的。
40、答:如果将生产者执行的两个P操作顺序颠倒,会产生死锁。
因为,在这种情况下,当缓冲区都为满时,生产者仍可顺利执行P(mutex)操作,于是它获得了对缓冲区的存
取控制权。
然后,当它执行P(mutex)操作时,由于没有空缓冲区它被挂起。
能够将这
个生产者进程释放的唯一途径是消费者从缓冲区取出了一个产品,并执行V(mutex)操作。
但在此时,由于缓冲区已被挂起的生产者所占有,所以没有一个消费者能够取得对缓
冲区的存取控制权。
因此,出现了生产者和消费者的互相死等的局面。
41、答:利用基本文件目录实现文件共享:基于索引节点的共享方法:利用符号链实现文件共享:
42、答:资源静态分配策略要求每个进程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后该进程才开始执行.这样进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一"占有并等待条件",从而防止死锁的发生。
43、答:两者的主要区别有:(1)进程是动态,程序是静态的;(2)进程是独立运行
的单位,程序不能作为运行单位;(3)各进程间在并发执行过程中会产生相互制约关系,而程序由于是静态的,所以不存在异步特征。
44、答:动态重定位是指在程序执行期间,随着每条指令和数据的访问,自动的、连续的进行映射。
具体实现过程为:当某个进程取得CPU控制权时,OS应负责把该作业程序在主存中的起始地址送入重定位寄存器中之后,每次访问存储器时,重定位寄存区的内容将
被自动加到逻辑地址中区,经这样变换后,执行结果是正确的。
六、综合题
45、【解析】让同一个页表的两个页表项指向同一个物理块,用户可以利用此特
点共享该,页的代码或数据。
如果代码是可重入的,这种方法可节省大量的内存空间。
实现内存“复制”操作时,不需要将页面的内存逐字节复制,只要在页表里将指向该页面的指针复制到代表目的地址的页表项即可。
在这种系统中,如果通过一个页表项修改了一个页面的几个字节,那么通过共享该页面的其他页表项表示的地址,所访问的值也跟着变化。
46、【解析】本题是个典型的读者-写者问题,查询者是读者,订票者是写者。
读
者-者问题的主要要求是:①允许多个读者共享对象。
②不允许写者和其他读者或
写者同时访问共享对象。
为了达到上述控制,引入一个变量readcount,用于记录当前正在运行的读者进程数以及读斥信号量rmutex和写互斥信号量wmutex。
每
个读者进程进入系统后需对readcount加1。
当readcount的值由0变为1时,说明
是第·个读者进程进入,A此需要该读者进程对控制写者进程的信号量wmutex进行
P操作,以便与写者进程互斥运行:当readcount的值由非0值增加时,说明不是
第一个读者进程,此时控制写者进程的信号最已进行过P操作,已经禁止写者进程
进入,因此不需要再次对该信号量进行P操作。
当读者进程退出时,需对readcount减1。
如发现减1后readcount的值变为0,说明是最后一个读者进程退出,因此需要该读者进程对控制写者进程的信号量wmutex进行V操作,以便写者
进程能够进入。
同步程序描述如下:
Semaphore rmutex=1,wmutex=1;Int readcount=0;
Inquirer()
{
While(true)
{
P(rmutex);
If(readcount==0)P(wmutex);readcount=readcount+1;
V(rmutex);
P(rmutex);
readcount=readcount-1;
If(readcount==0)V(wmutex):V(rmutex);
Booker()
{
While(true)
{
P(wmutex);
V(wmutex);
}
}
下面改进要求,规定允许多个用户同时查询数据库,当有订票者到达时,不允许后续查询者查询数据库,H多个订票者可以互斥使用数据库(即写者优先算法)。
描述如下:
Semaphore rmutex=wmutex=r=w=1;
Int Readcount=0;
Int writecount=0;
Inquirer()
{
While(true)
P(r);
P(rmutex);
If(readcount==0)P(w)
Readcount=readcount+1;
V(rmutex);
V(r)
P(rmutex);
Readcount=readcount-1;
If(readcount==0)v(w);
v(rmutex)
Booker()
{
While(true)
{
P(wmutex):
If(writecount==0)P(r);
writecount=writecount+1;
V(wmutex);
P(w);
V(w);
P(wmutex);
Writecount=writecount-1;
If(writecount==0)v(r);
V(wmutex)
}
}
这里r信号量用来控制读者进程的进入,若有写者存在,则占用该信号量,阻止后续读者进入临界区:mw信号最则表示对临界区进行写操作的权力,当读者在临界区时,占用w信号量以阻止写者进行写操作,这里w的作用类似于刚才未添加新条件的解法中的wmutex信号量。
本解法中,mutex和wmutex信号量变为对读者、写者计数器进行生斥操作控制的信号量。
47、【解析】首先由题目得知DMA的传输速率是40MB/s,即4B/100ns,也就是平均每100ns传输32bit的数据就能达到DMA的传输要求。
由于系统总线被CPU和DMA共用,因此要在DMA传输数据时暂停CPU对总线的使用。
为了得到DMA使用总线的频率,需要知道总,线的传输速度。
由题中条件可知,CPU在对总线完全占用的情况下,每个时钟周期(10ns)可以传输32bit的指令,因此总线的速度是32bit/10ns。
而DMA的要求是100ns传输32bit,也就是说,平均10个时钟周期内,只需挪用个周期用来传输数据就能达到DMA的传输要求。
由此可以得到,DMA挪用周期的频率是每10个周期挪用个,因此磁盘控制器使指令的执行速度降低了10%。