多核多线程期末考试复习原题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多核编程

一、不定项选择(每题4分)

计算机的硬件工艺发展顺序是:(A)

A.电子管数字计算机、晶体管数字计算机、集成电路数字计算机、大规模集成电路数字计算机

B.晶体管数字计算机、电子管数字计算机、集成电路数字计算机、大规模集成电路数字计算机

C.电子管数字计算机、集成电路数字计算机、大规模集成电路数字计算机、晶体管数字计算机

D.电子管数字计算机、集成电路数字计算机、晶体管数字计算机、大规模集成电路数字计算机

下面关于Intel 8086芯片于8088芯片的描述,不正确的是:(D)

A. 8086是第一个16位的微处理器。

B. 8088是第一个16位的微处理器。

C. 8086每周期能传送或接收16位数据

D. 8088每周期能传送或接收16位数据

针对内存的速度瓶颈,英特尔为80386设计了_______来解决这个速度瓶颈:(B)

A. 虚拟86

B. 高速缓存(Cache)

C. 浮点运算单元

D. 多媒体扩展指令集

对一个具体的问题做性能优化时,可以同时在这多个层次上考虑可能的优化手段,一般说来:(AB)

A. 在越高的层次上进行优化,可能获得的效益越高

B. 在越低的层次上进行优化工作则相对越容易实现

C. 在越高的层次上进行优化,可能获得的效益越低

D. 在越低的层次上进行优化工作则相对越难于实现

VTune性能分析器中的取样功能有哪几种方式?(AC)

A. 基于时间取样

B. 随机取样

C. 基于事件取样

D. 线性取样

Intel调优助手能够给我们自动推荐代码改进办法,主要有以下哪些方面?(BCD)

A. 算法自动改进

B. 处理器瓶颈以及改进

C. 取样向导增强

D. 超线程

使用-O3编译选项所得的程序,执行效率比使用-O2编译选项所得的程序_______。(D)

A. 高

B. 低

C. 一样

D. 不一定

对于函数调用的边际效应,以下表述不正确的是:(B)

A. 只要函数在调用的过程中改变了某些全局变量的值,我们就称函数调用中有边际效应。

B. 存在边际效应的函数调用,其调用次数的不同会对整个程序的行为产生不同的影响。

C. 为了避免函数调用的边际效应,就必须尽量避免使用全局变量,尽量使用局部变量。

D. 编译器无法检测出函数调用中是否会产生边际效应,所以应该将函数调用移出循环体外。对于一个优化的编译器,以下表述不正确的是:(D)

A. 编译器负责其中的寄存器分配的优化

B. 编译器负责其中的代码选择及有限重组的优化

C. 编译器进行一些局部范围内的优化

D. 优化的编译器能够改进算法的计算复杂度

以下表述不正确的是:(D)

A. 在传统的操作系统中,CPU调度和分派的基本单位是进程

B. 在引入线程的操作系统中,则把线程作为CPU调度和分派的基本单位

C. 同一进程中线程的切换不会引起进程切换,从而避免了昂贵的系统调用

D. 由一个进程中的线程切换到另一进程中的线程时,也不会引起进程切换

以下表述正确的是:(AC)

A. 在引入线程的操作系统中,进程之间可以并发执行

B. 在引入线程的操作系统中,一个进程中的多个线程之间不可以并发执行

C. 进程是拥有系统资源的一个独立单位,它可以拥有自己的资源

D. 线程是拥有系统资源的一个独立单位,它可以拥有自己的资源

以下表述不正确的是:(A)

A. 用户级线程在用户层通过线程库来实现。对它的创建、撤销和切换都要利用系统的调用。

B. 核心级线程由操作系统直接支持,即无论是在用户进程中的线程,还是系统进程中的线程,它们的创建、撤消和切换都由核心实现

C. 硬件线程就是线程在硬件执行资源上的表现形式

D. 用户级线程通过操作系统被作为核心级线程实现,再通过硬件相应的接口作为硬件线程来执行

对于操作系统中的线程,以下表述不正确的是:(D)

A. 操作系统中存在两种类型的线程,I/O阻塞线程和计算非阻塞线程

B. IO阻塞线程主要用于有交互式的程序中,它在大多数时间内都在等待外部事件

C. 计算非阻塞线程在大多数时间内都是被调度函数调度到的,应该和处理器资源相匹配

D.在处理IO阻塞线程的时候要依次地等待每个请求完成才继续处理下一个请求

I/O阻塞线程_____引起时间片切换开销,计算非阻塞线程_____引起时间片切换的开销。(B)

A.不会,会

B.会,不会

C.都会

D.都不会

以下表述错误的是:(D)

A. OpenMP可以根据目标系统尽量使用最优数量的线程个数

B. 使用线程池可以避免为每个线程创建新进程的开销

C. 线程池通常具有最大线程数限制,如果所有线程都繁忙,而额外的任务将放入队列中,直到有线程可用时才能够得到处理

D.对于有优先级的线程,也可以使用线程池

调用exit会使____进程终止;调用pthread_exit会使____进程终止。(B)

A.整个,整个

B.整个,调用

C.调用,调用

D.调用,整个

如果多个线程同时执行函数的多个活动请求而不会相互干扰,那么这个函数是____,如果会相互干扰,那么这个函数是_____。(A)

A. 线程安全,非线程安全

B. 都是线程安全

C. 都是非线程安全

D. 非线程安全,线程安全

用户级线程开销很___,内核线程开销很___。(C)

A.高,高

B.高,低

C.低,高

D.低,低

下列说法哪个是不正确的。(A)

A. 应用程序可以在内存中找到内核对象的数据结构并直接改变它们的内容。

B. 内核对象都是通过调用函数来创建的

C. 内核对象的数据结构只能被内核程序访问

D. Windows提供了一组函数,以便用定义的很好的方法来对内核对象的数据结构进行操作下面哪个说法是正确的(AB)

A. 每个进程被初始化时,系统为它分配一个句柄表,用于保存该进程使用的内核对象信息

B. 相同的句柄值在不同的进程中可能标识不同的内核对象

C. 一个进程中止执行,它使用的内核对象也会被撤销

D. 内核对象是由进程拥有的

下列说法哪个是不正确的。(C)

A. 进程是线程的容器

B. 单个进程可以包含多个线程

C. 进程中不一定有线程

D. Win32中有专门的创建进程的API:CreateProcess

OpenMP标准诞生于_______年。(B)

A.1996

B.1997

C.1998

D.1999

以下表述不正确的是:(C)

A. OpenMP是一种面向共享内存以及分布式共享内存的多处理器多线程并行编程语言

B. OpenMP是一种能够被用于显示制导多线程、共享内存并行的应用程序编程接口(API)

C. OpenMP的规范由ANSI发起,由一组主要的计算机硬件和软件厂商共同制定并认可

D. OpenMP能够支持多种平台,包括大多数的类UNIX系统以及Windows NT系统

在OpenMP的并行编程模型中,所有的处理器都连接到_________的内存单元上,处理器在访问内存的时候使用的是______的内存地址空间。(D)

A. 不同,相同

B. 不同,不同

C. 一个共享,不同

相关文档
最新文档