国家四级网络工程师模拟试卷53
操作系统原理——单选题
1.在不同类型的操作系统中,批处理操作系统的缺点是( )。(A)
A. 缺少交互性
B. 不能并发运行
C. CPU利用率低
D. 周转时间太长
解析:批处理操作系统的优点是作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统效率;批处理操作系统的的缺点是用户不能直接与计算机交互,不合适调试程序。故本题答案选择A选项。
2.在下面列出的计算机操作中,只能在操作系统内核态下运行的是( )。(D)
A. 关机
B. 读文件
C. 设置时间
D. 屏蔽中断
解析:特权指令包括输入输出指令、停机指令等,只有在监控程序才能执行特权指令,只能在内核态下运行;用户只能执行一般指令,在用户态下运行。屏蔽中断属于特权指令,只能是在系统内核态下运行。故本题答案选择D选项。
3.引入中断技术可以使计算机的运行效率得到提高,下列对中断响应顺序产生影响是( )。(A)
A. 中断优先级
B. 时间片大小
C. 特权指令
D. 中断向量
解析:在多级中断系统中,在同时有多个中断请求时,CPU接受中断优先级为最高的那个中断(如果其中断优先级高于当前运行程序的中断优先级时),而忽略其中断优先级较低的那些中断。所以对中断响应顺序产生影响的是中断优先级。故本题答案选择A选项。
4.操作系统提供给用户用于应用程序编程的唯一接口是( )。(A)
A. 系统调用
B. 运行平台
C. 编程开发环境
D. 中断服务程序
解析:系统调用是操作系统提供给编程人员唯一接口。故本题答案选择A选项。
5.采用多道程序设计技术可以( )。(A)
A. 提高CPU的利用率
B. 加快程序运行速度
C. 保证程序运行的正确性
D. 减少设备的损耗
解析:所谓多到程序设计,就是允许多个程序同时进入内存并运行。多到程序设计是操作系统所采用的最基本、最重要的技术,其根本目的是提高整个系统的效率,从而提高CPU的利用率。故本题答案选择A选项。
6.下列各种数据对象中,与进程具有一一对应关系的是( )。(B)
A. 程序
B. 进程控制块
C. 动态库
D. 堆栈
解析:进程由指令、数据和进程控制块(PCB)3部分组成。PCB是进程的“灵魂”,由于进程控制块中保存有进程的地址信息,通过PCB可以得到进程程序的存储位置,也可以找到整个进程,所以与进程具有一一对应关系。故本题答案选择B选项。
7.某个进程由多个线程组成,其中一个线程被调度程序选中投入运行,其他的线程有的位于就绪队列,有的被阻塞,则此时该进程的状态是( )。(A)
A. 运行状态
B. 就绪状态
C. 挂起状态
D. 阻塞状态
解析:线程调度的主要功能是根据一定的调度算法,从就绪队列中选出一个线程来,准备把CPU分配给它,从而让它占用CPU运行。题目中该线程被调度程序选中已经投入运行,说明已有线程占用了CPU资源进入运行状态。故本题答案选择A选项。
8.UNIX操作系统中,fork()系统调用用于创建进程。仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么输出到屏幕的正确结果是( )。
main()
{
pid_t pid;
pid=fork();
if(pid= =0)printf(“Hello World\n”);
else if(pid>0)printf(“Hello World\n”);
else printf(“Hello World\n”);
}(C)
A. 什么都没有
B. 1行Hello World
C. 2行Hello World
D. 3行Hello World
解析:fork()函数执行的特点是,只被调用一次,却会返回两次,一次是在调用进程(父进程)中,一次是在新创建的子进程中。在父进程中,fork()返回子进程的pid。在子进程中,fork()返回0。否则出错返回-1。假设程序正确运行并创建子进程成功,那么,子进程中pid得到返回值为0,父进程中pid得到返回值为子进程号,父进程执行一次输出,子进程执行一次输出,故输出2行Hello World。故本题答案选择C选项。
9.在Pthread线程包中,线程操作pthread_join的含意是( )。(C)
A. 创建一个新的线程
B. 撤销一个线程
C. 等待一个特定的线程退出
D. 参加一个新的线程
解析:线程操作pthread_join的含意是等待一个特定的线程退出。故本题答案选择C选项。
10.下列各种情况中,一定不会引起进程调度的操作是( )。(D)
A. 一个进程完成工作后被撤销
B. 一个进程从运行状态变成了阻塞状态或就绪状态
C. 一个进程从阻塞状态变成了就绪状态
D. 一个进程从就绪状态变成了运行状态
解析:引起进程调度的原因:①正在执行的进程执行完毕;②正在执行的进程调用阻塞原语将自己阻塞起来进入等待状态;③正在执行的进程调用了阻塞原语操作,并且因为资源不足而被阻塞;或调用了唤醒原语操作激活了等待资源的进程;④时间片已经用完;⑤就绪对列中的某个进程的优先级高于当前运行进程的优先级。进程调度最主要的原因:是否有CPU资源让出来。有CPU资源让出来不一定能发生调度,但没有CPU资源让出,则一定不会发生进程调度。选项D中就绪状态变成了运行状态是已经获取CPU的过程,没有涉及到CPU资源让出。故本题答案选择D选项。
11.用P、V操作管理临界区时,把信号量mutex的初值设定为1。当有k(k>1)个进程在mutex的等待队列中时,信号量的值为( )。(D)
A. k
B. k-1
C. 1-k
D. -k
解析:由于信号量mutex的初值设定为1,说明同一时刻只允许一个进程进入临界区,又有k个进程在mutex的等待队列中,所以当前需要访问临界区的进程有k+1个。每个进程访问临界区时,都将mutex的值减1,所以此时mutex的值为-k。故本题答案选择D选项。
12.学生小王在选课时编写了一个程序,为了保证有足够的学分,他先选了课程B,然后继续申请心仪的课程A。若能选到课程A,则退掉课程B。部分程序如下:
count.A //表示课程A的信号量
count.B //表示课程B的信号量
{
…
P(count.A);
select_course(A);
relese_course(B);
V(count.B);
…
}
请问:小王的程序能否达到选到课程A又退掉课程B的目的?( )(C)
A. 一定能
B. 一定不能
C. 有可能
D. 程序无法运行
解析:当P(count.A)永远阻塞的情况下,小王选不了A课程;若有人退选,小王将完成选到课程A又退掉课程B的目的。故本题答案选择C选项。
13.下列
本文档预览:3600字符,共21450字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载