1.用绝对地址编写的程序不适合多道程序系统运行。
正确答案:
B
你的答案:
B
(正确)
错
对
多道程序系统是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始和结束之间的状态。 多道系统程序并行物理地址随机分配 所以固定物理地址会引发程序数据混乱 造成操作系统资源分配效率降低
2.原语的执行是屏蔽中断的。
正确答案:
B
你的答案:
A
(错误)
错
对
原语:它是由若干条机器指令所构成,用以完成特定功能的一段程序,为保证其操作的 正确性,它应当是原子操作,即原语是一个不可分割的操作。所以,原语在执行的过程中,也是不能响应中断的。
3.若有 4 个进程共享同一程序段,而且每次最多允许 3 个进程进入该程序段,则信号量的变化范围是?
正确答案:
C
你的答案:
D
(错误)
2, 1, 0, -1, -2
4, 3, 2, 1, 0
3, 2, 1, 0, -1
3, 2, 1, 0
C,最多允许3个进程进入,所以信号量初值为3,当程序段进入了三个进程后信号量变为0,第四个进程进入时,信号量减为-1。
4.在可变分区分配方案中,当某一作业完成、系统回收其主存空间时,回收分区可能存在与相邻空闲区合并的情况,为此需要修改空闲分区表。其中,造成空闲分区数减一的情况是( )
正确答案:
D
你的答案:
D
(正确)
既无上邻空闲分区,也无下邻空闲分区
虽无上邻空闲分区,但有下邻空闲分区
虽有上邻空闲分区,但无下邻空闲分区
既有上邻空闲分区,也有下邻空闲分区
我们对每种情况进行分析: [1] A中, 既没有上邻空闲分区,也没有下邻空闲分区。那么系统回收的时候必然要增加一个一个空闲分区。
[2] B中,无邻空闲分区,但是有下邻空闲分区,类似于上图的b,回收该分区,需要修改空闲分区的首地址和大小。系统中的空闲区块数目没有发生变化。
[3] C中,虽有上邻空闲分区, 但无下邻空闲分区,如图a,回收区与上邻空闲区FI邻接,那么Fl的首地址不用变,但是新的分区的大小应该在原来的基础。上加上回收区的大小。系统中的空闲区块数目没有发生变化。
[4] D中,回收区上下邻空闲区都有,那么回收这个区块的时候; F1、F2和回收区合并在一起,成为一个大的空闲区块,首地址变为Fl的首地址,大小变为3个区块的和。
5.三个同时到达的作业J1、J2 和J3,执行时间分别是T1、T2 和T3(T1 < T2 < T3),若系统按照短
作业优先的调度算法,则平均周转时间为_______
正确答案:
B
你的答案:
B
(正确)
T1+T2+T3
(3T1+2T2+T3)/3
(T1+T2+T3)/3
(T1+2T2+3T3)/3
平均周转时间 =(等待时间+执行时间)/进程数 此题为 T1+(T1+T2)+(T1+T2+T3) / 3
6.系统将数据从磁盘读到内存的过程包括以下操作: ①DMA控制器发出中断请求 ②初始化DMA控制器并启动磁盘 ③从磁盘传输一块数据到内存缓冲区 ④执行“DMA结束”中断服务程序 正确的执行顺序是 。
正确答案:
B
你的答案:
C
(错误)
③->①->②->④
②->③->①->④
②->①->③->④
①->②->④->③
7.若文件f1的硬链接为f2,两个进程分别打开f1和f2,获得对应的文件描述符为fd1和fd2,则下列叙述中,正确的是 。 Ⅰ.f1和f2的读写指针位置保持相同 Ⅱ.f1和f2共享同一个内存索引结点 Ⅲ.fd1和fd2分别指向各自的用户打开文件表中的一项
正确答案:
B
你的答案:
C
(错误)
仅Ⅲ
仅Ⅱ、Ⅲ
仅Ⅰ、Ⅱ
Ⅰ、Ⅱ和Ⅲ
硬链接(hard link, 也称链接)就是一个文件的一个或多个文件名。 使用目的:多个文件名能同时修改同一个文件。 一个文件有几个文件名,我们就说该文件的链接数为几。链接数可以是1, 这表明该文件只有一个文件名。
A错误,假设有硬链接甲和乙,甲要读文件第一个字节,乙要读文件最后一个字节,这时甲的读写指针指向文件第一个字节,乙的文件指针指向最后一个字节。
8.假定把磁盘上的一个数据块中的信息输入到一个双缓冲区的时间为T=0.1ms,将缓冲区中的数据传送到用户区的时间M=0.05ms,而CPU对数据的处理时间C=0.05ms,这样系统对每个数据块的处理时间为()。
正确答案:
B
你的答案:
C
(错误)
0.05ms
0.1ms
0.15ms
0.25ms
对于单缓冲:
假定从磁盘把一块数据输入到缓冲区的时间为T,操作系统将该缓冲区中的数据传送到用户区的时间为M,而CPU对这一块数据处理的时间为
C。由于T和C是可以并行的,当T>C时,系统对每一块数据的处理时间为M十T,反之则为M+C,故可把系统对每一块数据的处理时间表示为Max(C, T)+M。
对于双缓冲:
系统处理一块数据的时间可以粗略地认为是MAC(C, T)。如果C<T,可使块设备连续输入(图中所示情况);如果C>T,则可使CPU不必等待设备输入。对于字符设备,若釆用行输入方式,则釆用双缓冲可使用户在输入完第一行之后,在CPU执行第一行中的命令的同时,用户可继续向第二缓冲区输入下一行数据。而单缓冲情况下则必须等待一行数据被提取完毕才可输入下一行的数据。
9.下面关于进程和线程的描述,错误的是( )
正确答案:
D
E
你的答案:
D
E
(正确)
进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源。
每个线程都有其运行的栈,每个线程都需要一部分内存开销,主要内存开销由栈大小决定
每个进程有自己独立的地址空间,线程共享进程地址空间,线程间通信更为方便
进程和线程都具有良好的数据封装和保护机制,进程和线程的强制退出都是安全没有副作用的
线程比进程消耗的资源更多,但是线程切换的开销比进程小,线程具有更好的效率
一个进程结束,其中的所有线程都会退出,系统不允许没有关联进程的线程运行
10.What might cause the current thread to stop or pause executing
正确答案:
A
B
E
你的答案:
A
B
D
E
(错误)
An InterruptedException is thrown.
The thread executes a wait() call.
The thread constructs a new Thread.
A thread of higher priority becomes ready.
The thread executes a waitforID()call on a MediaTracker.
什么操作会使得当前线程停止。 A:一个InterruptedException 异常被捕获 大家都知道的嘛 (一般通过interrupt方法 中断线程) 如果抓到一个线程 都会关紧catch里面 然后中断当前操作,A正确。 B:线程执行了wait()方法。 线程使用了wait方法,会强行打断当前操作,(暂停状态,不会中断线程) 进入阻塞(暂停)状态,然后需要notify方法或notifyAll方法才能进入就绪状态。 B 正确。 C:当前线程创建了一个新的线程。 新创建的线程不会抢占时间片,只有等当前线程把时间片用完,其他线程才有资格拿到时间片去执行。 D:一个高优先级别的线程就绪。 如C相同,你优先级别再高 也待等我现在弄完才会给你。(就像我们玩游戏,会员虽然有排队优先权,但是还是要等正在登陆的用户进去游戏之后才能抢到他原来那个位置,不能说我在过关卡的过程中你一脚把我踢开,然后霸占我的位置吧,我原来的那些数据咋办!!!) E:线程在MediaTracker上执行了waitforID()调用。 这个应该大家也不太熟悉。这个类是awt里面的,我查API才知道。