国家四级网络工程师模拟试卷42
操作系统原理——单选题
1.操作系统作为系统软件,位于软件系统的哪一个层面?( )(A)
A. 硬件之上,支撑软件之下
B. 支撑软件之上,应用软件之下
C. 应用软件之上,支撑软件之下
D. 硬件之上,软件系统之下
解析:操作系统作为系统软件,位于软件系统的硬件之上和支撑软件之下的层面。故本题答案选择A选项。
2.并发性是操作系统的特征之一,所谓“并发性”是指( )。(D)
A. 无论宏观或微观上,进程都是同时运行的
B. 无论宏观或微观上,进程都是交替运行的
C. 进程在宏观上是交替运行,而在微观上是同时运行
D. 进程在宏观上是同时运行,而在微观上是交替运行
解析:并发性是指在计算机系统中同时存在若干个运行着的程序。从宏观上看,这些程序在同时运行;从微观上看,这些程序是轮流占用CPU,交替运行。本题答案选择D选项。
3.处理器中对用户可见的寄存器是( )。(B)
A. 程序状态字寄存器
B. 数据寄存器
C. 程序计数寄存器
D. 指令寄存器
解析:处理器一般包括两类寄存器:一类称为用户可见寄存器;第二类称为控制和状态寄存器。用户可见寄存器通常所有程序都是可用的,由机器语言直接使用。它一般包括数据寄存器(又称为通用寄存器)、地址寄存器以及条件码寄存器。故本题答案选择B选项。
4.中断是指CPU对系统中或系统外发生的异步事件的响应,中断源是指( )。(A)
A. 引起中断的那些事件
B. 中断控制器向处理器发出的信号
C. 正在执行的程序的暂停点
D. 使处理器暂停当前程序转而处理中断过程的指令
解析:中断是所有要打断处理器的正常工作次序,并要求其去处理某一事件的一种常用手段。把引起中断的那些事件成为中断事件或中断源。故本题答案选择A选项。
5.进程控制块(PCB)的内容一般可以分成调度信息和现场信息两大部分,下列哪一个属于现场信息?( )(D)
A. 当前状态
B. 存储信息
C. 优先级
D. 程序状态字
解析:进程控制块(PCB)的内容一般可以分成调度信息和现场信息两大部分,现场信息包括:程序状态字、时钟、界地址寄存器等;调度信息包括:进程名、进程号、存储信息、优先级、当前状态、资源清单、“家族”关系、消息队列指针等。故本题答案选择D选项。
6.某4核处理器的计算机系统中共有50个进程,那么,处于运行状态的进程最多有几个?( )(A)
A. 4
B. 50
C. 1
D. 0
解析:由题目可知计算机系统中处理器是4核心的,也就是意味着同时可以执行4个进程的指令,所以处于运行状态的进程最多可以有4个。故本题答案选择A选项。
7.当使用进程创建原语创建进程时,下列哪一个选项表示的顺序是正确的?( )(B)
A. 申请PCB,填写PCB,放入运行队列
B. 申请PCB,填写PCB,放入就绪队列
C. 申请PCB,申请内存,填写PCB
D. 申请内存,申请PCB,填写PCB
解析:创建一个进程是主要任务是建立进程控制块,具体过程是:申请空闲PCB区域,将有关信息填入PCB,置该进程为就绪状态放人就绪队列中。故本题答案选择B选项。
8.对于如下C语言程序
int main()
{
pid_t pid;
int a=1:
pid=fork();
if(pid==0)
printf(\\(A)
A. This is the son process,a=2
This is the dad process,a=0
B. This is the son process,a=2
C. This is the dad process,a=0
D. This is the dad process,a=2
This is the son process,a=09
解析:函数fork()的作用是通过系统调用创建一个与原来进程几乎完全相同的进程。对于子进程返回标识符0;对于父进程返回子进程的PID。父进程和子进程拥有各自的局部变量a,初始值都为1;所以子进程中PID为0,执行的是第1个printf,由a的值为1,先自增再输出值,可知输出的是This is the son process,a=2;而父进程中PID为子进程的PID,不为0,执行的是第2个printf,由a的值为1,先自减再输出值,可知输出的是This is the dadprocess,a=0。故本题答案选择A选项。
9.对于如下C语言程序
void*th_If(void*arg)
{
printf(\\(A)
A. 创建线程,线程名为tn_f
B. 创建线程,线程名为tid
C. 创建线程,线程名为st
D. 创建线程,线程名为NULL
解析:pthread—create函数的作用是创建线程,包括有4个参数:第一个参数为指向线程标识符的指针;第2个参数用来设置线程属性;第3个参数是线程人口函数的起始地址。最后一个参数是入口函数的参数。一般以线程运行函数名来命名线程名,但线程标识信息放在tid里。故本题答案选择A选项。
10.两个相互不感知(完全不了解其他进程是否存在)的进程,其潜在的控制问题是( )。(C)
A. 两个进程通过通信方式协作,但可能造成互斥、死锁或饥饿
B. 两个进程相互不竞争、不协作,但可能造成互斥或死锁
C. 两个进程相互竞争,可能造成互斥、死锁或饥饿
D. 两个进程共享协作,但可能造成互斥、死锁或饥饿
解析:两个相互不感知(完全不了解其他进程是否存在)的进程的交互关系是竞争。一个进程的操作对其他进程的结果无影响,其潜在的控制问题是互斥、死锁、饥饿。故本题答案选择C选项。
11.为正确使用临界资源,可把对临界资源的访问分成进入区、临界区、退出区和剩余区四部分。请指出下列飞机订票代码中带有下划线部分的语句属于哪一个区域?( )
int booking(id)//订票例程
{
int c:
while TS(&10ck);//Test—and—Set:指令
c=fetch(ticket);//从服务器取剩余票额
show(c);//显示
if(read(input)=1)//是否订票
{
c=c一1;//票额减1
send(c);//送回新数据
}
lock=FALSE;//置标志为F
output(list);//打印机票
}(B)
A. 临界资源访问过程中的临界区
B. 临界资源访问过程中的进入区
C. 临界资源访问过程中的退出区
D. 临界资源访问过程中的剩余区
解析:while TS(&lock)是Test—and—Set指令,其功能是读出指定标志后把该标志设置为TURE。在进入区利用TS进行检查和修改标志lock。故本题答案选择B选项。
12.采用共享内存方式可以进行进程问的通信,该方式需要程序员解决的问题是(
本文档预览:3600字符,共21085字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载