形考作业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
(6).选项6
A.V(empty)
B.P(empty)
C.V(mutex)
D.V(full)
E.P(mutex)
F.P(full)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。