国家四级网络工程师模拟试卷59 (题后含答案及解析)
题型有:1. 操作系统原理——单选题 2. 操作系统原理——多选题 3. 计算机网络——单选题 4. 计算机网络——多选题
操作系统原理——单选题
1. 组成操作系统的主要部分是存储管理、设备管理、文件管理和(    )。
A.进程线程管理
B.用户管理
计算机四级网络工程师C.死锁管理
D.网络管理
正确答案:A
解析:按照资源管理的观点,操作系统的这些功能主要可以分为进程管理(处理器管理)、存储
管理、文件管理、作业管理和设备管理。故本题答案选择A选项。 
2. 操作系统的一个重要概念是进程,下列哪一个不能作为进程来管理?(    )
A.内存换页程序
B.中断服务程序
C.打印程序
D.用户应用程序
正确答案:B
解析:进程管理实质是对中央处理器进行管理。进程管理主要包括进程控制、进程同步、进程通信和进程调度。其中进程控制的主要任务是创建进程、撤销结束的进程以及控制进程运行时候的各种状态转换;进程同步主要处理进程之间的关系,包括进程的同步和互斥;进程间通信主要处理相互协作进程之间信息的交换问题;而进程调度则是按照一定的算法从就绪队列中挑选一个进程在处理器中真正执行它。中断服务程序是固定在某个地址的代码段,没
有进程的概念。故本题答案选择B选项。 
3. 当用户在终端窗口通过输入命令来控制计算机运行时,使用的是操作系统的哪一种接口?(    )
A.命令行
B.系统调用
C.函数库
D.应用编程接口
正确答案:A
解析:操作系统提供了3类型的接口供用户使用:命令接口:提供一组命令供用户直接或间接操作。根据作业的方式不同,命令接口又分为联机命令接口和脱机命令接口。程序接口:程序接口由一组系统调用命令组成,提供一组系统调用命令供用户程序使用。图形界面接口:通过图标、窗口、菜单、对话框及其他元素和文字组合,在桌面上形成一个直观易懂,
使用方便的计算机操作环境。终端窗口采用了命令行接口。故本题答案选择A选项。 
4. 下列指令中,哪一种可以在用户态下执行?(    )
A.设置控制寄存器指令
B.算术运算指令
C.关中断指令
D.切换栈指针指令
正确答案:B
解析:特权指令包括输入输出指令、停机指令等,只有在监控程序才能执行特权指令,只能在内核态下运行;用户只能执行一般指令,在用户态下运行。算术运算指令属于一般指令,可以在用户态下运行。故本题答案选择B选项。 
5. 采用多道程序设计技术可以(    )。
A.缩短作业的平均周转时间
B.加快程序的运行速度
C.保证程序运行的正确性
D.减少设备的损耗
正确答案:A
解析:为了提高计算机系统中各种资源的利用效率,缩短作业的周转时间,在现代计算机中广泛采用多道程序技术,使多种硬件资源能并行工作。故本题答案选择A选项。 
6. 进程调度所需的信息——进程优先级——是存放在下列哪一项中?(    )
A.进程控制块
B.进程调度队列
C.源代码
D.编译生成的目标文件
正确答案:A
解析:PCB的内容可以分成调度信息和现场信息两大部分。调度信息供进程调度时使用,描述了进程当前所处的状况,它包括进程名、进程号、存储信息、优先级、当前状态、资源清单、“家族”关系、消息队列指针、进程队列指针和当前打开文件等。现场信息刻画了进程的运行情况,只记录那些可能被其他进程改变的寄存器,如程序状态字、时钟、界地址寄存器等。故本题答案选择A选项。 
7. 进程在运行过程中具有多种状态,当它从等待态转换为就绪态时称为(    )。
A.阻塞
B.调度
C.唤醒
D.分派
正确答案:C
解析:当被阻塞的进程所期待的事件出现时,如I/O完成或者其所期待的数据已经到达,则由有关进程调用唤醒原语wakeup(  ),将等待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。故本题答案选择C选项。 
8. 当一个新的进程创建完成后,该进程的进程控制块将被插入到下列哪一个队列中?(    )
A.运行队列
B.阻塞队列
C.挂起队列
D.就绪队列
正确答案:D
解析:操作系统创建一个新进程的过程如下:①申请空白PCB;②为新进程分配资源;③初始化进程控制块;④将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入到就绪队列中。故本题答案选择D选项。 
9. 请分析下列程序。  int main(  )  {    printf(This is in main program);    if(fork(  )==0)    printf(I am in child process);    else    printf(I am in parent process);}  程序正确运行后结果是(    )。
A.This is in main program I am in child process I am in parent process
B.This is in main program I am in child process
C.This is in main program I am in parent process
D.This is in main program I am in child process this is in main program I am in parent process
正确答案:A
解析:计算机程序设计中的fork(  )函数的返回值:若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回-1。假设程序正确运行并创建子进程成功,那么,子进程为0,父进程为进程号,故输出This is in main program I am in child process Iam in parent processo故本题答案选择A选项。 
10. 在Pthread线程包的使用中,当用户需要结束一个线程时,可以使用的线程库函数是(    )。
A.pthread_create(  )
B.pthread_exit(  )
C.pthread_yield(  )
D.pthread_join(  )
正确答案:B
解析:线程通过调用pthread_exit函数终止执行,就如同进程在结束时调用exit函数一样。这
个函数的作用是终止调用它的线程并返回一个指向某个对象的指针。故本题答案选择B选项。 
11. 进程并发执行时,若两个并发进程包含同一共享变量,则它们存在下列哪一种关系?(    )
A.同步关系
B.父子关系
C.平等关系
D.主从关系
正确答案:A
解析:异步环境下的一组并发的进程因直接制约而互相发送消息、进行相互合作、相互等待,使得各进程按一定的速度执行的过程称为进程间的同步。题中并发的进程因共享同一变量而直接地相互制约是为同步关系。故本题答案选择A选项。 
12. 当多个进程并发执行且需要相互通信时,下列哪一种方法最适合传送大量的信息?(    )
A.信号量
B.共享内存
C.消息传递
D.管道
正确答案:B
解析:共享内存指在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存(Cache)。任何一个缓存的数据被更新后,由于其他处理器也可能要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。共享内存(shared memory)是UNIX下的多进程之间的通信方法,这种方法通常用于一个程序的多进程间通信,实际上多个程序间也可以通过共享内存来传递信息,特点是可以高效的共享大量信息。故本题答案选择B选项。 
13. 下列关于生产者消费者的叙述中,哪一个是正确的?(    )
A.生产者往缓冲区放产品前要先使用P操作确保缓冲区有空闲槽
B.生产者往缓冲区放产品前要先使用V操作确保缓冲区有空闲槽
C.消费者从缓冲区取产品前要先用P操作确保缓冲区互斥使用