多核多线程-期末考试-选择题

合集下载

JAVA多线程期末考试题库单选题100道及答案解析

JAVA多线程期末考试题库单选题100道及答案解析

JAVA多线程期末考试题库单选题100道及答案解析1. 在Java 中,实现多线程有几种方式?()A. 2 种B. 3 种C. 4 种D. 5 种答案:B解析:实现多线程有三种方式:继承Thread 类、实现Runnable 接口、使用线程池的Callable 和Future 。

2. 以下哪个方法用于启动一个线程?()A. start()B. run()C. begin()D. execute()答案:A解析:调用线程对象的start() 方法启动线程,会自动调用run() 方法执行线程任务。

3. 以下关于线程和进程的说法,错误的是()A. 一个进程可以包含多个线程B. 线程是进程的执行单元C. 进程之间不能共享内存D. 线程之间可以独立运行答案:D解析:线程之间共享进程的内存空间,不是独立运行的。

4. 以下哪个方法可以让当前线程暂停一段时间?()A. sleep()B. wait()C. notify()D. yield()答案:A解析:Thread.sleep() 方法可以让当前线程暂停指定的时间。

5. 以下哪个方法用于线程间的等待/通知机制?()A. sleep() 和notify()B. wait() 和notify()C. yield() 和notifyAll()D. suspend() 和resume()答案:B解析:wait() 使当前线程等待,notify() 唤醒一个等待的线程,notifyAll() 唤醒所有等待的线程。

6. 以下关于线程同步的说法,错误的是()A. 可以使用synchronized 关键字实现线程同步B. 同步会降低程序的并发性C. 同步可以保证线程安全D. 所有方法都应该同步答案:D解析:不是所有方法都需要同步,只有在多个线程可能同时访问和修改共享资源时才需要同步。

7. 以下哪个不是线程的状态?()A. 就绪B. 运行C. 阻塞D. 结束E. 暂停答案:E解析:线程的状态包括就绪、运行、阻塞和结束。

(完整版)操作系统复习题 及答案

(完整版)操作系统复习题 及答案

一、选择题:1.在多线程操作系统中,对线程具有属性阐述正确的是:【D 】A.具有进程控制块,共享所属进程资源,处理机的独立调度单位,具有动态性B.具有进程控制块,独享所属进程资源,处理机的独立调度单位,具有动态性C.具有进程控制块,共享所属进程资源,处理机的独立调度单位,具有静态性D.具有线程控制块,共享所属进程资源,处理机的独立调度单位,具有动态性2. 计算机系统产生死锁的根本原因是。

【 D 】A.资源有限B.进程推进顺序不当C.系统中进程太多D.A和B3.进程控制块的组织方式有:【 C 】A.链接方式B.索引方式C.A和B D.互斥方式4.若时间片为100ms,系统中有20个用户分享CPU,若暂时忽略用户程序之间切换时运行操作系统的时间开销,则每个用户两次使用CPU之间的时间间隔为:【 A 】A.2S B.3sC.4s D.1s5. 已知系统中资源分配图如图1所示,对图1中资源集合R和有向边集合E描述正确的是:【 B 】RR2R4图1A.R={R1, R 2, R 3}; E = { P1→R1, P2→R3, P3→R2, R1→P2, R2→P2, R3→P3}B.R={R1, R 2, R 3, R 4}; E={ P1→R1, P2→R3, P3→R2, R1→P2, R2→P2, R3→P3}C.R={R1, R 2 }; E = { P1→R1, P2→R3, P3→R2, R1→P2, R2→P2, R3→P3}D.R={R1, R 3}; E = { P1→R1, P2→R3, P3→R2, R1→P2, R2→P2, R3→P3}6.有两个合作进程Pc和Po,它们共享一个单缓冲区B。

Pc是计算进程,Po是打印进程。

则利用PV原语实现同步的伪代码正确的是:【 A 】A.B.C.struct semaphore So, Sc =1,0;cobeginvoid Pc(void){……while (TRUE) {计算下一个结果;P (Sc);B←计算结果;V (So);}……}void Po(void){……while (TRUE) {P (So);从B中取出计算结果;V (Sc);打印取出的数据;}……}coendstruct semaphore Sc, So=1,0;cobeginvoid Pc(void){……while (TRUE) {计算下一个结果;P (Sc);B←计算结果;V (So);}……}void Po(void){……while (TRUE) {P (So);从B中取出计算结果;V (Sc);打印取出的数据;}……}coendD .7. 假设有一个系统,0时刻有4个进程按A, B, C, D 的顺序几乎同时到达,进程执行情况如图1所示。

计算机操作系统期末试卷及答案

计算机操作系统期末试卷及答案

计算机操作系统期末试卷及答案一、选择题(每题2分,共20分)1. 以下哪个不是操作系统的特征?A. 并行处理B. 资源管理C. 用户接口D. 文件管理答案:A2. 操作系统的作用不包括以下哪项?A. 提高计算机系统的效率B. 方便用户使用计算机C. 提高计算机硬件的性能D. 提高计算机软件的性能答案:C3. 下列哪个不是进程和线程的主要区别?A. 进程是系统进行资源分配和调度的基本单位B. 线程是进程的组成部分C. 进程和线程都可以拥有自己的资源D. 线程是进程的执行单元答案:C4. 以下哪种调度算法可能会产生饥饿现象?A. 先来先服务(FCFS)B. 短作业优先(SJF)C. 最高响应比优先(HRRN)D. 时间片轮转(RR)答案:B5. 以下哪个不是虚拟存储技术的特点?A. 扩大物理内存B. 提高内存利用率C. 减少内存碎片D. 增加系统开销答案:D二、填空题(每题2分,共20分)6. 操作系统的主要功能包括________、________、________和________。

答案:进程管理、存储管理、文件管理和设备管理7. 在进程状态转换过程中,进程可能处于________、________、________、________和________等五种状态。

答案:就绪状态、执行状态、阻塞状态、挂起状态和终止状态8. 页式存储管理中,逻辑地址空间被划分为大小相等的________,物理地址空间也被划分为同样大小的________。

答案:页、块9. 在文件系统中,目录结构通常采用________结构。

答案:树形10. 操作系统的设备管理主要涉及________、________、________和________等方面。

答案:设备分配、设备驱动、设备控制和设备监控三、判断题(每题2分,共20分)11. 进程和线程在操作系统中是等价的。

(错)12. 在操作系统中,进程和线程都可以拥有自己的资源。

多核多线程期末考试选择题

多核多线程期末考试选择题

选择题1.计算机的硬件发展顺序是(A) A:电子管,晶体管,集成电路,大规模集成电路2.下面关于Intel8086芯片与8088芯片的描述,不正确的(D)D:8088每周期能传送或接收8位。

3.针对内存的速度瓶颈,英特尔为80386设计了(B)来解决这个速度瓶颈B:高速缓存(cache)4.对一个具体问题做性能优化时,可以同时在这多个层次上考虑可能优化手段,一般说来(AB)A:在越高层次上进行优化,可能或效益越高。

B:在越低层次上优化时相对越容易实现。

5.vtune性能分析器中的取样功能有哪几种方式(AC)A:基于时间取样C:基于事件取样6.Inter调优助手能够给我们自动推荐改进认识,主要有哪些方向(BCD)B:处理器瓶颈以和改进C:取样向导增强D:超线程7.使用-03编译选项所得的程序,执行效率比较-02所得程序(D)D:不一定8.对于函数调用的边际效应,以下表述不正确(B)B:存在边际效应函数调用,其调用次数不同会对整个程序的行为产生不同的影响。

9.对于一个优化编译器,不正确的是(D)D:优化的编译器能够改进算法的计算复杂度。

10.以下不正确(D)D:由一个进程中的线程切换到另一进程中的线程时,也不会引起进程切换11.以下表述正确(AC)A:在引入线程操作系统进程之间可以并发执行C:进程是拥有系统资源一个对立单位,它可以拥有自己的资源。

12.以下不正确的是(A)A:用户级线程在用户层通过线程库实现,对它的创建,撤销和切换都要利用系统的调用。

13.对于操作系统中线程,不正确(D)D:在处理IO阻塞线程的时候,要依次地等到每个请求完成才继续处理下一个请求。

14.I/O阻塞线程(不会)引发时间片切换开销,计算非阻塞线程(会)引起时间片切换的开销。

15.以下错误(D)D:对于有优先级的线程,也可以使用线程池。

16.调用exit会使(整个)进程终止,调用pthread-exit会使(调用)进程终止。

多核处理器性能优化策略试卷

多核处理器性能优化策略试卷

多核处理器性能优化策略试卷(答案见尾页)一、选择题1. 多核处理器的性能优化可以从哪些方面入手?A. 指令级并行(ILP)优化B. 处理器架构改进C. 缓存优化D. 任务调度算法改进2. 在多核处理器中,以下哪种方法可以提高指令级并行(ILP)?A. 减少线程数量B. 使用更高效的指令集C. 增加缓存容量D. 降低主频3. 下列哪种技术不是多核处理器性能优化的常见手段?A. 超线程技术B. 多内核技术C. 操作系统调度算法D. 硬件加速器4. 在多核处理器中,为了充分利用每个核心的性能,应该采取什么策略?A. 将计算密集型任务分配给低优先级的线程B. 将计算密集型任务分配给高优先级的线程C. 将I/O密集型任务与计算密集型任务混合分配D. 避免多线程编程5. 以下哪项措施有助于提高多核处理器的能效比?A. 降低主频B. 增加缓存容量C. 减少线程数量D. 使用更先进的制程技术6. 在多核处理器的设计中,为了平衡不同核心之间的性能差异,通常会采用哪种技术?A. 动态电压和频率调整(DVFS)B. 负载均衡C. 性能调校D. 待机模式7. 以下哪种情况不适合使用多核处理器?A. 计算需求远大于I/O需求的情况B. I/O密集型任务C. 并行计算需求D. 单线程任务8. 在多核处理器的应用中,为了减少上下文切换开销,可以采取哪些措施?A. 使用无锁数据结构B. 优化任务调度算法C. 增加缓存行大小D. 降低处理器核心数量9. 在多核处理器的性能测试中,常用的基准测试程序包括哪些?A. LINPACKB. Prime95C.福尔松(Furioso)D. 罗马数字(Rosetta)10. 在设计多核处理器时,为了确保系统稳定性和可靠性,需要考虑哪些因素?A. 制程工艺B. 散热设计C. 电源管理D. 软件可靠性11. 在多核处理器的设计中,哪种缓存策略可以有效提高数据访问速度?A. 无缓存策略B. 全局缓存策略C. 本地缓存策略(如L1、L2)D. 分布式缓存策略12. 在多核处理器的负载均衡中,哪种算法可以有效地平衡各个核的工作负载?A. 轮询算法B. 最短作业优先算法C. 优先级调度算法D. 最短寻道时间优先算法13. 多核处理器中的内存访问延迟可以通过什么技术来降低?A. 内存共享技术B. 内存分页技术C. 内存映射技术D. 缓存一致性协议14. 在多核处理器的任务调度中,哪种策略可以最大限度地提高吞吐量?A. 先来先服务(FCFS)B. 最短作业优先(SJF)C. 优先级调度D. 时间片轮转(RR)15. 在多核处理器的性能测试中,哪种基准测试可以全面评估处理器的性能?A. CPU密集型基准测试B. I/O密集型基准测试C. 微基准测试D. 吞吐量基准测试16. 在多核处理器的功耗优化中,哪种技术可以有效地降低能耗?A. 动态电压和频率调整(DVFS)B. 软件流水线技术C. 指令集优化D. 多线程技术17. 在多核处理器的编程模型中,哪种模型可以有效地利用多核处理器的并行性?A. 同步编程模型B. 异步编程模型C. 高级编程模型D. 操作系统调度模型18. 在多核处理器的调试过程中,哪种工具可以帮助开发者定位性能瓶颈?A. 性能分析器B. 调试器C. 监控工具D. 仿真器19. 在多核处理器的安全性方面,哪种技术可以有效地防止数据泄露和非法访问?A. 数据加密B. 访问控制C. 安全多方计算D. 零知识证明20. 在多核处理器的未来发展中,哪种技术将进一步提高处理器的性能和能效?A. 量子计算B. 人工智能和机器学习C. 新型指令集和架构D. 纳米技术21. 多核处理器的性能优化可以从哪些方面入手?(多选)A. 指令级并行(ILP)优化B. 向量化和并行处理C. 负载均衡D. 缓存优化E. 多线程和并发控制22. 在多核处理器系统中,哪种内存分配技术可以提高性能?(单选)A. 固定分区B. 动态分区C. 伙伴系统D. 无碎片内存分配23. 多核处理器中的任务调度通常采用哪种算法?(单选)A. 先来先服务(FCFS)B. 最短作业优先(SJF)C. 最短剩余时间优先(SRTF)D. 优先级调度E. 时间片轮转(RR)24. 为了提高多核处理器的能效比,可以采取哪些措施?(多选)A. 降低主频B. 使用更高效的指令集C. 减少核的数量D. 优化任务分配E. 使用动态电压和频率调整(DVFS)25. 在多核处理器的设计中,如何减少缓存冲突?(单选)A. 使用更小的缓存B. 提高缓存的访问速度C. 改进缓存一致性协议D. 减少缓存大小E. 使用多级缓存26. 多核处理器中的锁机制有哪些?(多选)A. 互斥锁(Mutex)B. 读写锁(RWLock)C. 自旋锁(Spinlock)D. 信号量(Semaphore)E. 屏障(Barrier)27. 在多核系统的性能测试中,常用的基准测试程序包括哪些?(多选)A. WhetstoneB. CoremarkC. DhrystoneD. LINPACKE. FLOPS28. 多核处理器的功耗优化可以通过哪些方法实现?(多选)A. 降低工作电压B. 使用低功耗核C. 优化任务调度以减少空闲能耗D. 使用动态电源管理(DPM)E. 减少晶体管数量29. 在多核处理器的应用程序开发中,如何确保线程安全?(多选)A. 避免全局变量B. 使用同步原语(如互斥锁)C. 使用无锁数据结构D. 合理设计算法以避免竞争条件E. 使用线程池30. 在多核处理器的固件开发中,如何进行负载均衡?(单选)A. 通过操作系统的内置负载均衡功能B. 手动调整CPU的运行频率C. 使用专门的硬件负载均衡器D. 依赖于硬件架构的天然负载均衡能力E. 通过软件算法预测并分配任务31. 多核处理器的设计目的是什么?A. 提高处理速度B. 增加处理器数量C. 降低功耗D. 扩大存储容量32. 在多核处理器中,哪种技术通常用于实现任务之间的并行执行?A. 超线程技术B. 多线程技术C. 同步机制D. 异步执行33. 为了最大化多核处理器的性能,工程师通常会采取哪些措施?A. 配置所有核心以相同频率运行B. 动态调整核心频率和电压C. 使用专用指令集D. 减少缓存大小34. 在多核系统中,哪种内存分配策略可以减少缓存争用并提高性能?A. 全局内存分配B. 局部内存分配C. 缓存友好内存分配D. 无缓存内存分配35. 在多核处理器的性能优化中,哪种技术可以提高内存访问速度?A. 内存分层B. 内存虚拟化C. 内存预取D. 内存压缩36. 下列哪种算法不适合在多核处理器上使用,因为它可能导致性能瓶颈?A. 顺序搜索B. 二分搜索C. 并行归并排序D. 基于锁的同步37. 在多核处理器的性能测试中,哪种方法最能反映处理器的真实性能?A. 单核性能测试B. 多核并发性能测试C. 单任务性能测试D. 稳定性测试38. 在多核处理器的资源管理中,哪种策略可以有效地平衡各个核心的资源使用?A. 资源预留B. 资源公平性C. 资源竞价D. 资源调度39. 在多核处理器的应用开发中,哪种编程范式有助于充分利用多核处理器的性能?A. 面向过程编程B. 面向对象编程C. 函数式编程D. 事件驱动编程40. 在多核处理器的架构设计中,哪种设计可以最大限度地提高并行处理能力?A. 管道和过滤器架构B. 客户端/服务器架构C. 分布式架构D. 微服务架构二、问答题1. 什么是多核处理器的性能优化策略?2. 在多核处理器中,任务调度优化的目标是什么?3. 什么是内存访问优化技术?4. 在多核处理器中,缓存友好的数据结构有哪些特点?5. 功耗管理在多核处理器中的作用是什么?6. 什么是处理器亲和性?7. 多核处理器中的负载均衡策略有哪些?8. 在进行多核处理器性能调优时,如何确定优化的起点?参考答案选择题:1. ABCD2. BC3. D4. B5. AC6. B7. D8. BC9. ABC 10. ABCD11. C 12. A 13. D 14. B 15. D 16. A 17. B 18. A 19. B 20. C21. ABCDE 22. D 23. E 24. ABDE 25. C 26. ABCDE 27. ABCD 28. ABCDE 29. ABCDE30. A31. A 32. B 33. B 34. C 35. C 36. D 37. B 38. B 39. C 40. C问答题:1. 什么是多核处理器的性能优化策略?多核处理器的性能优化策略是指通过调整硬件和软件配置,以提高多核处理器系统的整体性能和效率的方法。

多核多线程选择题

多核多线程选择题

第1章:多核技术导论习题1.全世界第一台全自动电子数字计算机ENIAC于哪一年研制成功?(B)A.1944年B.1945年C.1946年D.1947年2.计算机的硬件工艺发展顺序是:(A)A.电子管数字计算机、晶体管数字计算机、集成电路数字计算机、大规模集成电路数字计算机B.晶体管数字计算机、电子管数字计算机、集成电路数字计算机、大规模集成电路数字计算机C.电子管数字计算机、集成电路数字计算机、大规模集成电路数字计算机、晶体管数字计算机D.电子管数字计算机、集成电路数字计算机、晶体管数字计算机、大规模集成电路数字计算机3.下面关于Intel 8086芯片于8088芯片的描述,不正确的是:(D)A. 8086是第一个16位的微处理器。

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

C. 8086每周期能传送或接收16位数据D. 8088每周期能传送或接收16位数据4.针对内存的速度瓶颈,英特尔为80386设计了_______来解决这个速度瓶颈:(B)A. 虚拟86B. 高速缓存(Cache)C. 浮点运算单元D. 多媒体扩展指令集5.为了提高电脑在多媒体、3D图形方面的应用能力,产生了许多新指令集,以下不属于这类指令集的是:(C)A.MMXB.SSEC.浮点运算集D.3D NOW!6.以下关于超线程技术的描述,不正确的是:(D)A. 利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。

B. 采用超线程技术可在同一时间里,使应用程序能够使用芯片的不同部分。

C. 超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。

D. 是一种多核技术,揭开x86处理器多核心时代。

7. 总线共享Cache结构的缺点是:(C)A. 结构简单B. 通信速度高C. 总线的结构可扩展性较差D. 以上都是8.为什么说从单核到多核的转变成为不可避免的历史趋势:(D)A. 指令级并行的局限B. 能耗与散热C. 内存墙问题D. 以上都是9.从数据处理的角度看,不存在并行性的是:(A)A. 字串位串B. 字串位并C. 字并位串D. 字并位并10.阵列处理机又称为并行处理机,它的体系结构属于_______计算机。

cpu考试题及答案

cpu考试题及答案

cpu考试题及答案一、选择题(每题2分,共10分)1. CPU的主要功能是()。

A. 存储数据B. 处理数据C. 显示数据D. 传输数据答案:B2. CPU的时钟频率是指()。

A. CPU的电压B. CPU的功耗C. CPU的工作频率D. CPU的缓存大小答案:C3. 在计算机系统中,CPU和内存之间的数据传输是通过()进行的。

A. 硬盘B. 显卡C. 总线D. 电源答案:C4. 多核处理器的优势在于()。

A. 降低功耗B. 提高单线程性能C. 增强多任务处理能力D. 减小体积答案:C5. CPU的指令集决定了其()。

A. 外观B. 兼容性C. 价格D. 重量答案:B二、填空题(每题2分,共10分)1. CPU的全称是_______。

答案:中央处理器2. CPU的缓存分为一级缓存、二级缓存和_______。

答案:三级缓存3. 超线程技术允许单个CPU核心模拟出_______个逻辑处理器。

答案:两个4. CPU的前端总线速度决定了数据传输的_______。

答案:速度5. 在多核处理器中,_______核是指每个核心拥有独立的缓存。

答案:独立三、简答题(每题5分,共20分)1. 请简述CPU的主要组成部分。

答案:CPU的主要组成部分包括算术逻辑单元(ALU)、控制单元(CU)、寄存器组和高速缓存。

2. 什么是CPU的超频?答案:CPU超频是指通过提高CPU的工作频率,使其运行速度超过制造商规定的标准频率,以提高性能。

3. 什么是CPU的多线程技术?答案:多线程技术是指CPU能够同时处理多个线程,每个线程可以看作是一个独立的任务,这样可以提高CPU的利用率和系统的整体性能。

4. 请解释CPU的功耗对计算机系统的影响。

答案:CPU的功耗直接影响到计算机系统的散热需求和电源供应。

高功耗的CPU可能需要更强大的散热系统和电源,以保证系统的稳定运行。

同时,高功耗也可能导致更高的电费和环境影响。

四、计算题(每题10分,共20分)1. 假设一个CPU的时钟频率为3.5GHz,每个时钟周期可以执行2条指令,计算该CPU每秒可以执行多少条指令。

CPU基础知识单选题100道及答案解析

CPU基础知识单选题100道及答案解析

CPU基础知识单选题100道及答案解析1. CPU 的中文名称是()A. 中央处理器B. 图形处理器C. 内存D. 硬盘答案:A解析:CPU 是Central Processing Unit 的缩写,中文名称是中央处理器,负责计算机的运算和控制。

2. 以下不是CPU 性能指标的是()A. 主频B. 缓存C. 分辨率D. 核心数答案:C解析:分辨率是显示设备的性能指标,不是CPU 的性能指标。

3. CPU 的主频单位是()A. GHzB. GBC. MBD. Mbps答案:A解析:GHz 是CPU 主频的常用单位。

4. 目前主流的CPU 架构不包括()A. X86B. ARMC. MIPSD. VGA答案:D解析:VGA 是视频图形阵列,是一种显示标准,不是CPU 架构。

5. 以下关于CPU 缓存的说法正确的是()A. 缓存越大,CPU 性能越低B. 缓存越小,CPU 性能越高C. 缓存可以提高CPU 的数据读取速度D. CPU 不需要缓存答案:C解析:缓存用于存储CPU 频繁使用的数据,能提高数据读取速度,从而提升CPU 性能。

6. 多核CPU 的优势在于()A. 降低功耗B. 提高单线程性能C. 同时处理多个任务D. 减少发热答案:C解析:多核CPU 可以同时处理多个任务,提高多线程处理能力。

7. CPU 执行指令的过程是()A. 取指令- 分析指令- 执行指令B. 执行指令- 取指令- 分析指令C. 分析指令- 执行指令- 取指令D. 以上都不对答案:A解析:CPU 执行指令的基本流程是先取指令,然后分析指令,最后执行指令。

8. 下列对CPU 制造工艺描述正确的是()A. 制造工艺数值越大越好B. 制造工艺数值越小越好C. 制造工艺与CPU 性能无关D. 制造工艺只影响CPU 体积答案:B解析:制造工艺数值越小,意味着在相同面积的芯片上可以集成更多的晶体管,从而提升性能、降低功耗。

9. 超线程技术可以()A. 增加CPU 核心数B. 提高单个核心的性能C. 让一个核心同时处理两个线程D. 降低CPU 温度答案:C解析:超线程技术能让一个物理核心模拟出两个逻辑核心,同时处理两个线程。

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

选择题1.计算机的硬件发展顺序是(A) A:电子管,晶体管,集成电路,大规模集成电路2.下面关于Intel8086芯片与8088芯片的描述,不正确的(D)D:8088每周期能传送或接收8位。

3.针对内存的速度瓶颈,英特尔为80386设计了(B)来解决这个速度瓶颈B:高速缓存(cache)4.对一个具体问题做性能优化时,可以同时在这多个层次上考虑可能优化手段,一般说来(AB)A:在越高层次上进行优化,可能或效益越高。

B:在越低层次上优化时相对越容易实现。

5.vtune性能分析器中的取样功能有哪几种方式(AC)A:基于时间取样C:基于事件取样6.Inter调优助手能够给我们自动推荐改进认识,主要有哪些方向(BCD)B:处理器瓶颈以及改进C:取样向导增强D:超线程7.使用-03编译选项所得的程序,执行效率比较-02所得程序(D)D:不一定8.对于函数调用的边际效应,以下表述不正确(B)B:存在边际效应函数调用,其调用次数不同会对整个程序的行为产生不同的影响。

9.对于一个优化编译器,不正确的是(D)D:优化的编译器能够改进算法的计算复杂度。

10.以下不正确(D)D:由一个进程中的线程切换到另一进程中的线程时,也不会引起进程切换11.以下表述正确(AC)A:在引入线程操作系统进程之间可以并发执行C:进程是拥有系统资源一个对立单位,它可以拥有自己的资源。

12.以下不正确的是(A)A:用户级线程在用户层通过线程库实现,对它的创建,撤销和切换都要利用系统的调用。

13.对于操作系统中线程,不正确(D)D:在处理IO阻塞线程的时候,要依次地等到每个请求完成才继续处理下一个请求。

14.I/O阻塞线程(不会)引发时间片切换开销,计算非阻塞线程(会)引起时间片切换的开销。

15.以下错误(D)D:对于有优先级的线程,也可以使用线程池。

16.调用exit会使(整个)进程终止,调用pthread-exit会使(调用)进程终止。

17.如果多个线程同时执行函数的多个活动请求而不会相互干扰,那么这个函数是(线程安全),如果会干扰,这个函数是(非线程安全)18.用户级线程开销很(低),内核线程开销很(高)19.不正确(A)A:应用程序可以再内存中找到内核对象的数据结构并直接改变他们的内容。

20.正确的是(AB)A:每个进程被初始化时,系统为它分配一个句柄表,用于保存该进程使用的内核对象信息。

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

21.不正确(C)C:进程中不一定有线程。

22.OpenMP标准诞生(1997)年23.不正确(C)C:openMP规范由ANSI发起,由一组主要的计算机硬件和软件厂家共同制定并认可。

24.在OpenMP并行编程模型中,所有的处理器连接到(一个共享)的内存单元上,处理器在访问内存是使用时(相同)的内存地址空间。

25.一个指令操作数地址,可以有(ABCD)个A:0 B:1 C:2 D:3简答题1.弗林根据指令流和数据流的不同组织方式,把计算机系统的结构分为以下四类:(1)单指令流单数据流(Single Instruction stream Single Data stream,SISD)(2)单指令流多数据流(Single Instruction stream Multiple Data stream,SIMD)(3)多指令流单数据流(Multiple Instruction stream Single Data stream,MISD)(4)多指令流多数据流(Multiple Instruction stream Multiple Data stream,MISD)其中指令流指机器执行的指令序列;数据流指指令流调用的数据序列,包括输入数据和中间结果。

2.在单核处理器中,常见的调度策略?先到先服务(FCFS),最短作业调度(SJF),优先级调度(priority-scheduling algorithm),轮转法调度(round-robin,RR),多级队列调度(multilevel queue-schedule algorithm)3.Jackson优化定律:定律1:不要进行优化。

定律2:(仅针对专家)“除非你已经有了一个相对清晰可靠的非优化版本的实现,否定你不要试图对程序进行优化”。

4.一个好的测试数据集必须要具备以下一些特点:(1)可衡量性(Measurable)。

该测试数据集运行后必须要能有一些性能指标,并且这些性能指标必须是可以量化比较的。

(2)可重复性(Reproducible)。

对该测试数据集的重复运行必须要能产生相同,一致的结果。

(3)静态的(static)。

该测试数据集不会随着时间的变化而变化。

(4)有代表性(Representaticve)。

该测试数据集必须能够代表你的程序在典型计算环境下的典型应用。

5.Amdahl加速定律的基本出发点是:对于整个程序优化后可能达到的加速比取决于程序可优化部分占程序执行时间总体的比例。

Amdahl定律告诉程序员,如果要使得程序或得更高的性能,就要对程序中更大的部分进行性能调优,Amdahl定律也告诉我们,无论你花费多大的时间对程序进行性能优化,总有一部分程序,其性能是很难被提高的。

而整个程序可能达到的性能上限却恰恰受制于这一小部分。

换句话说,你的程序的性能受限于程序中性能最差的部分。

6.编译器优化有一些因素的限制:(1)编译器永远不能改变程序在任何情况下的行为。

(2)编译器很难进行过程间,全局性的优化。

(3)编译时间必须尽可能的短。

7.体系结构无关的性能调优方法?(1)消除循环不变量(2)减少过程调用(3)消除不必要的内存存取。

8.总结来说,只要函数在调用的过程中改变了某些全局变量的值,我们就称函数调用中有边际效应,存在边际效应的函数调用,其调用次数的不同会对整个程序的产生不同的影响。

9.Intel处理器对代码优化的手段?(1)取指和预解码的优化(2)指令队列的优化(3)解码的优化(4)执行核心的优化(5)内存的优化10.线程在不同的操作系统中不同的实现方式的区别?(1)用户级线程。

在用户层通过线程库来实现。

对它的创建,撤销和切换都不利用系统的调用。

(2)核心级线程。

由操作系统直接支持,即无论是在用户进程中的线程,还是系统进程中的线程,他们的创建,撤销和切换都由核心实现。

(3)硬件线程。

就是线程在硬件执行资源上的实现形式。

11.线程的生命周期?系统中的每个线程都有一个从创建到消亡的过程,我们把这一过程称作该线程的生命周期。

(1)就绪状态。

该线程运行所需的一切条件都得到满足,已获得必要的资源和设备。

但因处理器资源个数少于线程个数,所有该线程不能运行,而必须位于队列中等待分配处理器资源。

(2)运行状态。

线程在处理器上处于运行的状态,该线程已获得必要的资源和设备,也获得了CPU,用户程序正在处理器上运行。

(3)等待状态。

线程等待某种事件完成而暂时不能运行的状态,处于该状态的线程不能参加竞争处理器资源,此时,即使系统分配给该线程处理器也不能运行。

12.优先级倒置:由于多个线程共享资源,在采用基于优先级调度策略时会出现较低优先级的线程先于高优先级线程执行的情况,即优先级倒置,问题,优先级倒置可能使实时性要求高的线程错过临界期限,从而导致系统崩溃。

13.优先级倒置通常有两种方法:一种是优先级继承,另一种是优先级顶置。

优先级继承技术强令低优先级的线程继承与之共享资源并被挂起的高优先级线程的优先级。

优先级顶置方案为每个临界资源都分配一个优先级。

14.非阻塞算法的特征?(1)无阻塞。

只要没有竞争,线程就可以持续执行。

(2)无锁。

系统整体持续执行。

(3)无等待。

每个线程都可以持续执行,即使遇到竞争也是如此,只要极少数的非阻塞算法实现了这一点。

15.什么是伪共享?解决方法?正在进行缓存代码行更新的时候,禁止访问该代码行中的元素。

这种情况称为伪共享。

通常可以通过以下方式减少伪共享:(1)尽可能多地使用专用数据。

(2)利用编译器的优化功能来消除内存加载和存储。

Windows编译器有一条指令-declspec(align(n)),可以用于指定按n个字节进行对齐。

16.进程通常被定义为两个组成部分?(1)操作系统用来管理进程的内核对象。

内核对象也是系统用来存放关于进程的统计信息的地方。

(2)地址空间。

它包含所有可执行模块或DLL模块的代码和数据。

它还包含动态内存分配的空间,如线程堆栈和堆分配空间。

17.线程的两个构成部分?(1)线程的内核对象。

操作系统用它来对线程实施管理。

(2)线程堆栈。

它用于维护线程在执行代码是需要的所有函数参数和局部变量。

18.线程函数的几个问题作一下说明:(1)主线程的进入点函数的名字必须是main,wmain,WinMain或wWinMain,而其他线程函数可以使用其他的任何名字。

(2)线程函数必须返回一个值,它将成为该线程的退出代码。

(3)线程函数应该尽可能使用函数参数和局部变量。

19.创建线程API函数原型?Windows为创建线程提供了名为CreateThread的API函数,如果想要创建一个或多个线程,只要在一个已经在运行的线程中调用这个函数即可。

CreateThread函数的格式如下:HANDLE CreateThread(PSECURITY-ATTRIBUTES psa,DWORD cbStack,PTHREAD-START-ROUTINE pfnStartAddr,PVOID pvParam,DWORD fdwCreate,PDWORD pwdThreadID);各个参数的含义和作用?(1)psa。

Psa参数是指向SECURITY-ATTRIBUTES结构的指针。

(2)cbStack。

cbStack参数用于设定线程可以将多少地址空间用于它自己的堆栈。

(3)pfnStartAddr和pvParam。

pfnStartAddr参数用于指明想要心线程执行的线程函数的地址。

(4)fdwCreate。

fdwCreate参数可以设定用于控制创建线程的其他标志。

(5)pdwThreadID。

pdwThreadID是CreateThread的最后一个参数,它必须是DWORD 的一个有效地址,CreateThread使用这个地址来存放系统分配给新线程的ID。

20.线程池的作用?P214(书)。

相关文档
最新文档