形考作业1
试卷总分:100 得分:96
一、单选题(每题4分,共计16题)
4.为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。这属于( * )。
A.处理器管理
B.存储管理
C.文件管理
D.作业管理
8.?按照所起的作用和需要的运行环境,操作系统属于( * )。
A.用户软件
B.应用软件
C.支撑软件
D.系统软件
8.下面不属于分时系统特征的是( * )。
A.为多用户设计
B.需要中断机构及时钟系统的支持?
C.方便用户与计算机的交互
D.可靠性比实时系统要求高
4.UNIX操作系统核心层的实现结构设计采用的是( * )。
A.单块式结构
B.层次结构
C.微内核结构
D.网状结构
4.下列系统中,属于实时系统的是( * )。
A.方正排版系统
B.计算机辅助设计系统
C.火车订票系统
D.办公自动化系统
5.工业过程控制系统中运行的操作系统最好是(?? )。
A.分时系统
B.实时系统
C.实时系统
D.网络系统
7.在计算机系统中,操作系统是( * )。
A.处于裸机之上的第一层软件
B.处于硬件之下的低层软件
C.处于应用软件之上的系统软件
D.处于系统软件之上的用户软件
3.在下列操作系统中,强调吞吐能力的是( * )。
A.分时系统
B.多道批处理系统?
C.实时系统
D.网络系统
15.若P、V操作的信号量S初值为2,当前值为 -1,则表示有( * )个等待进程。
A.0
B.1
C.2
D.3
16.信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为( * )。
A.10
B.8
C.6
D.4
11.在操作系统中引入“进程”概念的主要目的是( * )。
A.改善用户编程环境
B.提高程序的运行速度
C.描述程序动态执行过程的性质
D.使程序与计算过程一一对应
9.以下不属于进程高级通信方式的是( * )。
A.共享内存方式
B.进程互斥和同步方式
C.消息传递方式
D.管道文件方式
14.某进程由于需要从磁盘上读入数据而处于阻塞状态。当系统完成了所需的读盘操作后,此时该进程的状态将( * )。
A.从就绪变为运行
B.从运行变为就绪
C.从运行变为阻塞
D.从阻塞变为就绪
14.如果信号量S的值是0 , 此时进程A执行P(S)操作,那么,进程A会(? )。
A.继续运行
B.进入阻塞态,让出CPU
C.进入就绪态,让出CPU? ?
D.继续运行,并唤醒S队列头上的等待进程
11.进程控制块是描述进程状态和特性的数据结构,一个进程( * )。
A.可以有多个进程控制块?
B.可以和其他进程共用一个进程控制块
C.可以没有进程控制块
D.只能有唯一的进程控制块
12.在单处理机系统中,处于运行状态的进程( * )。
A.只有一个
B.可以有多个
C.不能被挂起
D.必须在执行完后才能被撤下
二、判断题(每题2分,共计10题)
17.操作系统是系统软件中的一种,在进行系统安装时可以先安装其它软件,然后再安装操作系统。( * )??
18.虽然分时系统也要求系统可靠,但实时系统对可靠性的要求更高。(???? )
26.程序在运行时需要很多系统资源,如内存、文件、设备等,因此操作系统以程序为单位分配系统资源。( ? )
23.进程控制块(PCB)是进程存在的唯一标志。( ? )
22.如同人类的族系一样,操作系统中众多的进程也存在族系关系,并构成一棵树形的进程族系图。( * )
19.一个进程被唤醒意味着该进程重新占有了CPU。( * )
22.进程之间的互斥,主要源于进程之间的资源竞争,从而实现多个相关进程在执行次序上的协调。( * )
26.在进程状态的转换中,从就绪态转换到阻塞态是不可能实现的。( * )
21.在Linux系统中,用户进程既可以在用户模式下运行,也可以在内核模式下运行。( ? ?)
26.解决死锁的方法有死锁的预防、死锁的避免、死锁的检测与恢复。( ? ?)
三、应用题,每小题16分
27.(每小题2分,共16分)设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。设缓冲区是环形的,编号为0~n-1,in和out分别是输入进程和输出进程使用的指针,初值都是0。为使两类进程实行同步操作,设置三个信号量:两个计数信号量full和empty,一个互斥信号量mutex。full表示放有信息的缓冲区数,其初值为0。empty表示可供使用的缓冲区数,其初值为n。mutex互斥信号量,初值为1。 根据下面输入、输出进程的同步算法,填写相应的P、V操作。
输入进程Input:
while (TRUE) {
__(1)__;
_P(mutex)__;
信息送往buffer(in);
in=(in+1) mod n; /*以n为模*/
__(2)__;
__(3)__;
}
输出进程Output:
while (TRUE){
__(4)__;
__(5)__;
从buffer(out)中取出信息;
out=(out+1) mod n; /*以n为模*/
_V(mutex)_;
__(6)__;
}
(1).选项1
(2).选项2
(3).选项3
(4).选项4
(5).选项5