多核多线程-期末考试-选择题
- 格式:doc
- 大小:27.01 KB
- 文档页数:5
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考试题及答案一、选择题(每题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道及答案解析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. D2. D3. B4. A5.A6. B7. A8. B9. B10.C11.D 12.A 13.D 14.A 15.C16.D 17.D 18.A 19.C 20.C21.C 22.C 23.B 24.A 25.C26. A 27. A 28. C29. B30.D31. A 32. D 33. D 34. C35.C36.C 37.A 38.C 39.C 40.C41.A 42.B 43.B 44.C 45.A46.B 47.B 48.C 49.B 50.C二、填空题1. ng.Thread2. 并发3.抢先调度4. stop()5. 死亡6. Thread7.可运行状态8.线程体9.返回线程的字符串信息10.用户11.寄存器12.虚拟的CPU 代码数据13.MAX_PRIORITY MIN_PRIORITY14.getPrority() setPrority()15.syschronized16.可运行状态阻塞状态17.封锁18.代码一组寄存器19.相互独立20.wait( )方法三、判断题(判断以下论述的正误,认为正确的就在答题相应位置划“T”,错误的划“F”)1. F2. T3. F4. F5. T6. T7. F8. T9.T 10. T11. F 12. T 13. T 14. F 15. T16. F 17. T 18. F 19.T 20. F四、简答题(回答要点,并简明扼要作解释)1. 答:线程是一段完成某个特定功能的代码,是程序中单个顺序的流控制。
但和进程不同的是,同类的多个线程是共享一块内存空间和一组系统资源,而进程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。
2. 答:线程从创建、运行到销往的过程称为线程的生命周期。
多核编程一、不定项选择(每题4分)1.计算机的硬件工艺发展顺序是:(A)A.电子管数字计算机、晶体管数字计算机、集成电路数字计算机、大规模集成电路数字计算机B.晶体管数字计算机、电子管数字计算机、集成电路数字计算机、大规模集成电路数字计算机C.电子管数字计算机、集成电路数字计算机、大规模集成电路数字计算机、晶体管数字计算机D.电子管数字计算机、集成电路数字计算机、晶体管数字计算机、大规模集成电路数字计算机2.下面关于Intel 8086芯片于8088芯片的描述,不正确的是:(D)A.8086是第一个16位的微处理器。
B.8088是第一个16位的微处理器。
C.8086每周期能传送或接收16位数据D.8088每周期能传送或接收16位数据3.针对内存的速度瓶颈,英特尔为80386设计了______ 来解决这个速度瓶颈:(B)A.虚拟86B.高速缓存(Cache)4.对一个具体的问题做性能优化时,可以同时在这多个层次上考虑可能的优化手段,一般说来:(AB)A.在越高的层次上进行优化,可能获得的效益越高B.在越低的层次上进行优化工作则相对越容易实现C.在越高的层次上进行优化,可能获得的效益越低D.在越低的层次上进行优化工作则相对越难于实现5.VTune性能分析器中的取样功能有哪几种方式?(AC)A.基于时间取样B.随机取样C.基于事件取样D.线性取样6.Intel调优助手能够给我们自动推荐代码改进办法,主要有以下哪些方面?(BCD)A.算法自动改进B.处理器瓶颈以及改进C.取样向导增强D.超线程7.使用-03编译选项所得的程序,执行效率比使用-02编译选项所得的程序(D)A.髙B.低C.一样D.不一定8.对于函数调用的边际效应,以下表述不正确的是:(B)A.只要函数在调用的过程中改变了某些全局变量的值,我们就称函数调用中有边际效应。
B.存在边际效应的函数调用,其调用次数的不同会对整个程序的行为产生不同的影响。
计算机系统结构试题及答案一、选择题(50分,每题2分,正确答案可能不只一个,可单选或复选)1.(CPU周期、机器周期)是内存读取一条指令字的最短时间。
2.(多线程、多核)技术体现了计算机并行处理中的空间并行。
3.(冯•诺伊曼、存储程序)体系结构的计算机把程序及其操作数据一同存储在存储器里。
4.(计算机体系结构)是机器语言程序员所看到的传统机器级所具有的属性,其实质是确定计算机系统中软硬件的界面。
5.(控制器)的基本任务是按照程序所排的指令序列,从存储器取出指令操作码到控制器中,对指令操作码译码分析,执行指令操作。
6.(流水线)技术体现了计算机并行处理中的时间并行。
7.(数据流)是执行周期中从内存流向运算器的信息流。
8.(指令周期)是取出并执行一条指令的时间。
9.1958年开始出现的第二代计算机,使用(晶体管)作为电子器件。
10.1960年代中期开始出现的第三代计算机,使用(小规模集成电路、中规模集成电路)作为电子器件。
11.1970年代开始出现的第四代计算机,使用(大规模集成电路、超大规模集成电路)作为电子器件。
12.Cache存储器在产生替换时,可以采用以下替换算法:(LFU算法、LRU算法、随机替换)。
13.Cache的功能由(硬件)实现,因而对程序员是透明的。
14.Cache是介于CPU和(主存、内存)之间的小容量存储器,能高速地向CPU提供指令和数据,从而加快程序的执行速度。
15.Cache由高速的(SRAM)组成。
16.CPU的基本功能包括(程序控制、操作控制、时间控制、数据加工)。
17.CPU的控制方式通常分为:(同步控制方式、异步控制方式、联合控制方式)反映了时序信号的定时方式。
18.CPU的联合控制方式的设计思想是:(在功能部件内部采用同步控制方式、在功能部件之间采用异步控制方式、在硬件实现允许的情况下,尽可能多地采用异步控制方式)。
19.CPU的同步控制方式有时又称为(固定时序控制方式、无应答控制方式)。
多线程考试试题含答案一、单选题(每题2分,共10分)1.在Java中,哪个类是用来创建线程的?A.ThreadB.RunnableC.CallableD.ExecutorService答案:A2.线程的优先级范围是多少?A.1-10B.0-5C.1-5D.0-10答案:A3.线程的生命周期中,哪个状态表示线程正在执行?A.新建(New)B.可运行(Runnable)C.阻塞(Blocked)D.死亡(Terminated)答案:B4.在Java中,哪个方法是用于启动线程的?A.start()B.run()C.join()D.sleep()答案:A5.线程同步可以使用哪种关键字?A.finalB.volatileC.synchronizedD.transient答案:C二、多选题(每题3分,共15分)1.以下哪些是线程间通信的方式?A.wait()和notify()B.wait()和notifyAll()C.join()D.共享资源答案:ABCD2.在Java中,哪些是创建线程的正确方式?A.继承Thread类B.实现Runnable接口C.实现Callable接口D.使用ExecutorService答案:ABCD3.线程的哪些状态表示线程不在运行?A.可运行(Runnable)B.阻塞(Blocked)C.等待(Waiting)D.睡眠(Sleeping)答案:BCD4.以下哪些是线程池的类型?A.固定大小的线程池B.可缓存的线程池C.单线程执行器D.定时以及周期性执行的线程池答案:ABCD5.线程安全问题通常发生在哪些情况下?A.多个线程访问同一个资源B.一个线程在执行过程中被中断C.多个线程对共享资源进行写操作D.线程执行顺序不确定答案:ACD三、判断题(每题2分,共10分)1.线程一旦启动,就无法停止。
(对/错)答案:对2.线程的sleep()方法可以响应中断。
(对/错)答案:错3.线程的优先级可以随意设置,不受系统限制。
多核编程一、选择题:(20%)1、下列不是多核处理器的是(B)。
A. INTEL酷睿2 E4500B. INTEL P3 1.2G处理器C. INTEL 17 2600KD. AMD的推土机FX-81502、下列不是多核处理器的是(C)。
A. INTEL酷睿2 E6300B. INTEL 15 2500KC. INTEL P3 1.4G处理器D. AMD的推土机FX-81503、若对于一个给定的应用,用单行算法执行的时间为24秒,用并行算法执行的时间为32秒,则加速比为(A)。
A. 0.75B. 1.33C. 1D. 0.54、若对于一个给定的应用,用单行算法执行的时间为40秒,用并行算法执行的时间为20秒,则加速比为(B)。
A. 0.75B. 2C. 1D. 0.55、下面是线程创建函数的参数中,“传给线程函数的参数”的是(A)。
HANDLE CreateThread{LPSECURITY ATTRIBUTES lpThreadAttributes,SIZE_T dwStackSize,LPTHREAD_START_ROUTINE lpStartAddress,LPVOID lpParameter,DWORD dwCreationFlags,LPDWORD lpThreadId, };A. lpParameterB. lpStartAddressC. lpThreadAttributesD. lpThreadId6、下面是线程创建函数的参数中,“线程函数名称”的是(B)。
HANDLE CreateThread{LPSECURITY ATTRIBUTES lpThreadAttributes,SIZE_T dwStackSize,LPTHREAD_START_ROUTINE lpStartAddress,LPVOID lpParameter,DWORD dwCreationFlags,LPDWORD lpThreadId, };A. lpParameterB. lpStartAddressC. lpThreadAttributesD. lpThreadId7、以下表述正确的是(C)。
多核处理器体系结构设计考试(答案见尾页)一、选择题1. 多核处理器的基本工作原理是什么?A. 它们通过将多个CPU核心集成到一个芯片上来实现高性能计算。
B. 它们通过将多个任务分配给不同的核心来提高系统响应速度。
C. 它们通过增加缓存容量来提高数据处理速度。
D. 它们通过使用专用硬件来加速特定类型的计算任务。
2. 在多核处理器中,核间通信的主要方式有哪些?A. 管道通信B. 共享内存通信C. 消息传递通信D. 事件驱动通信3. 多核处理器的性能主要受哪些因素影响?A. 核心数量B. 链路带宽C. 缓存大小D. 电源管理效率4. 在多核处理器的设计中,如何平衡性能和功耗?A. 通过降低每个核心的功耗来实现节能。
B. 通过优化任务调度来减少空闲核心的功耗。
C. 通过增加核心数量来提高并行处理能力。
D. 通过使用更先进的制程技术来减小芯片面积和功耗。
5. 多核处理器中的任务分配通常是如何进行的?A. 由操作系统根据系统负载动态分配。
B. 由用户直接指定每个任务在哪个核心上运行。
C. 由编译器在编译时预先分配。
D. 由硬件自动分配,无需人工干预。
6. 在多核处理器的调试过程中,常用的工具和技术有哪些?A. 性能分析工具B. 调试器C. 监控工具D. 仿真器7. 多核处理器在哪些应用场景下表现最为出色?A. 计算密集型任务B. 内存密集型任务C. 多媒体处理D. 网络安全8. 在多核处理器的设计中,如何防止一个核过载而影响系统性能?A. 使用负载均衡技术B. 对于关键任务进行优先级调度C. 增加更多的核心数量D. 使用专用硬件加速器9. 多核处理器的发展趋势是什么?A. 更高的核数B. 更低的功耗C. 更强的并行处理能力D. 更高的单核性能10. 在多核处理器的应用中,如何确保数据的一致性和线程安全?A. 使用锁机制B. 使用原子操作C. 使用无锁数据结构D. 使用操作系统提供的同步原语11. 在多核处理器体系结构设计中,哪种类型的缓存通常被用来提高数据访问速度?A. 一级缓存(L1)B. 二级缓存(L2)C. 三级缓存(L3)D. 四级缓存(L4)12. 在多核处理器的设计中,为了实现高效的并行处理,以下哪个因素不是关键考虑点?A. 指令级并行(ILP)B. 核心间通信带宽C. 能耗D. 缓存一致性协议13. 在多核处理器的性能优化中,哪种技术通常用于减少缓存未命中率?A. 预取算法B. 乱序执行C. 动态调度D. 多线程技术14. 在多核处理器的资源管理中,哪种机制用于确保每个核都能公平地访问其分配的资源?A. 资源预留B. 资源分配算法C. 负载均衡D. 优先级调度15. 在多核处理器的设计中,为了提高能源效率,哪种技术被广泛采用?A. 超线程技术(Hyper-Threading)B. 硬件加速C. 微架构优化D. 低功耗工艺16. 在多核处理器的体系结构中,哪种类型的指令集被设计来支持复杂的数据处理任务?A. 简单指令集计算(SISD)B. 复杂指令集计算(CISC)C. 精简指令集计算(RISC)D. 并行指令集计算(IPC)17. 在多核处理器的设计中,为了提高系统的可靠性和稳定性,通常会采用哪种技术?A. 冗余设计B. 故障检测与纠正(FEC)C. 电源管理D. 热插拔技术18. 在多核处理器的性能测试中,哪种基准测试最能反映处理器在真实世界应用中的表现?A. 基准测试软件(如SPEC)B. 游戏测试C. 3D渲染测试D. 网络传输测试19. 在多核处理器的调试过程中,哪种工具用于监控和分析处理器在运行时的行为?A. 性能分析器(Profiler)B. 调试器(Debugger)C. 仿真器(Emulator)D. 逻辑分析仪(Logic Analyzer)20. 在多核处理器的安全设计中,哪种加密技术用于保护多核处理器免受侧信道攻击?A. 对称密钥加密B. 非对称密钥加密C. 密码分组链接(GCM)D. 访问控制列表(ACL)21. 在多核处理器中,以下哪个不是常见的核间通信方式?A. 管道通信B. 共享内存通信C. 消息队列通信D. 电路交换通信22. 在多核处理器的设计中,为了平衡负载和提高性能,通常会采取哪种策略?A. 随机分配任务B. 根据核心性能分配任务C. 固定分配任务D. 动态任务调度23. 多核处理器中的缓存一致性协议主要用于解决什么问题?A. 提高缓存的访问速度B. 防止数据竞争和一致性问题C. 增加处理器的计算能力D. 降低功耗24. 在多核处理器的设计中,为了提高系统的可扩展性,通常会选择哪种类型的核间通信机制?A. 管道通信B. 共享内存通信C. 消息队列通信D. 无锁机制25. 多核处理器在面对单核处理器无法处理的复杂任务时,表现如何?A. 性能显著提升B. 性能下降C. 性能无变化D. 可能会降低性能26. 在多核处理器的设计中,为了避免某个核心过载而其他核心闲置,通常会采用哪种技术?A. 负载均衡B. 缓存一致性C. 任务调度D. 中断处理27. 在多核处理器的应用场景中,以下哪个不是其主要的应用领域?A. 高性能计算B. 数据库处理C. 智能手机D. 家庭自动化28. 在多核处理器的设计中,为了提高处理器的能效比,通常会考虑哪些因素?A. 核心数量B. 缓存大小C. 电源管理D. 以上都是29. 在多核处理器的设计中,为了实现更高的吞吐量,通常会采用哪种优化技术?A. 多线程技术B. 数据压缩技术C. 并行计算技术D. 以上都是30. 在多核处理器中,核间通信通常使用什么方式?A. 系统总线B. 内存总线C. 专用指令集D. 中断驱动31. 多核处理器的性能主要取决于哪些因素?A. CPU核心数量B. 缓存大小C. 主频D. 内存容量32. 在多核处理器的设计中,如何平衡各个核的性能和功耗?A. 通过调整CPU频率B. 通过增加缓存容量C. 通过引入任务调度算法D. 通过优化内存访问策略33. 下列哪种多核处理器的架构不是对称多核架构?A. 超线程技术(Hyper-Threading)B. 图形多处理器(GPGPU)C. 对称多核处理器(SMP)D. 异构多核处理器(HMP)34. 在多核处理器的性能测试中,常用的基准测试程序包括哪些?A. LINPACKB. Prime95C. FIOD. DBench35. 在多核处理器的安全设计中,常见的安全漏洞有哪些?A. 数据竞争(Data Race)B. 死锁(Deadlock)C. 缓冲区溢出(Buffer Overflow)D. 侧信道攻击(Side-Channel Attack)36. 在多核处理器的编程模型中,有哪些常用的编程范式?A. 异步编程B. 并发编程C. 多线程编程D. 事件驱动编程37. 在未来多核处理器的发展趋势中,可能会出现哪些新技术?A. 多核与GPU的融合B. 量子计算与多核处理器的结合C. 机器学习加速与多核处理器的集成D. 基于光子的多核处理器38. 在多核处理器体系中,什么是Cache?A. 一种快速存储器,用于存储CPU频繁访问的数据和指令。
一、选择题1、在现代操作系统中引入了( ),从而使并发和共享成为可能。
A.单道程序B. 磁盘C. 对象D.多道程序2、( )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。
A.网络B.分布式C.分时D.实时3、从用户的观点看,操作系统是()。
A. 用户与计算机硬件之间的接口B.控制和管理计算机资源的软件C. 合理组织计算机工作流程的软件D.计算机资源的的管理者4、当CPU处于管态时,它可以执行的指令是()。
A. 计算机系统中的全部指令B. 仅限于非特权指令C. 仅限于访管指令 D. 仅限于特权指令5、用户在程序中试图读取某文件的第100个逻辑块时,使用操作系统提供的()接口。
A. 系统调用B.图形用户接口C.原语D.键盘命令6、下列几种关于进程的叙述,( )最不符合操作系统对进程的理解?A.进程是在多程序并行环境中的完整的程序。
B.进程可以由程序、数据和进程控制块描述。
C.线程是一种特殊的进程。
D.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
7、当一个进程处于()状态时,称其为等待(或阻塞)状态。
A. 它正等待中央处理机B. 它正等待合作进程的一个消息C. 它正等待分给它一个时间片D. 它正等待进入内存8、一个进程释放一种资源将有可能导致一个或几个进程( )。
A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪9、下面关于线程的叙述中,正确的是( )。
A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持。
B.线程是资源的分配单位,进程是调度和分配的单位。
C.不管系统中是否有线程,进程都是拥有资源的独立单位。
D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位。
10、设有3个作业,它们同时到达,运行时间分别为T1、T2和T3,且T1≤T2≤T3,若它们在单处理机系统中按单道运行,采用短作业优先调度算法,则平均周转时间为( )。
多线程考试题及答案一、选择题(每题3分,共30分)1. 在Java中,创建多线程的方式有几种?A. 1种B. 2种C. 3种D. 4种答案:B2. 以下哪个类是Java中实现多线程的基类?A. ObjectB. ThreadC. RunnableD. Callable答案:B3. 线程的优先级范围是多少?A. 1-10B. 0-5C. 0-10D. 1-5答案:A4. 线程的sleep方法和wait方法有什么区别?A. sleep方法会释放锁,wait方法不会释放锁B. sleep方法不会释放锁,wait方法会释放锁C. sleep方法和wait方法都会释放锁D. sleep方法和wait方法都不会释放锁答案:A5. 线程的join方法有什么作用?A. 终止当前线程B. 等待该线程终止C. 释放CPU资源D. 暂停线程的执行答案:B6. 在Java中,如何创建一个守护线程?A. 继承Thread类B. 实现Runnable接口C. 调用Thread.setDaemon(true)D. 调用Thread.setPriority(Thread.MIN_PRIORITY) 答案:C7. 线程安全问题通常发生在什么情况下?A. 单线程程序中B. 多线程程序中C. 任何程序中D. 只有并发程序中答案:B8. synchronized关键字可以用于什么?A. 方法B. 代码块C. 类D. 所有以上选项答案:D9. 以下哪个类提供了线程池功能?A. ExecutorB. ExecutorServiceC. ThreadPoolExecutorD. 所有以上选项答案:D10. 在Java中,如何实现线程间的通信?A. 使用wait和notify方法B. 使用synchronized关键字C. 使用volatile关键字D. 所有以上选项答案:D二、填空题(每题2分,共20分)1. Java中,创建线程可以通过继承________类或者实现________接口来实现。
计算机系统结构试题及答案第一部分选择题一、单项选择题 (本大题共10小题,每小题1分,共10分)1.以软件为主实现的机器称为p26A.模型机器 B.模拟机C.虚拟机器D.实际机器2.下列关于系列机软件兼容描述正确的是p40A.系列机软件必须保证向后兼容,力争向前兼容B.系列机软件必须保证向下兼容,力争向前兼容C.系列机软件必须保证向前兼容,力争向上兼容D.系列机软件必须保证向下兼容,力争向后兼容3.浮点数阶值采用二进制p位、尾数基值位r m,则该浮点数的最大阶值为p63A.2p B.2p-1C.2p-1D.2p-1-14.为了使任何时候所需的信息都只用一个存储周期访问到,信息在主存中存放的地址要求是p73A.地址最低位为0B.地址最高位为0C.该信息宽度的一半D.该信息宽度的整数倍5.存储器的最大频宽是指p98A.存储器瞬时访问的频宽B.存储器最大的传输速率C.存储器连续访问时的频宽D.存储器的实际传输速率6.总线控制定时查询方式的控制线的线数为p111A.┌log2N┐B.1+┌log2N┐C.2+┌log2N┐D.3+┌log2N┐7. 存储层次构成的主要依据是p127A.CPU的速度 B.主存器件C.程序设计语言D.程序的局部性8.相联存储器的访问依据是A.内容B.地址C.速度D.周期9.并行向量处理的互联网络是A.交换开关B.纵横交叉开关C.单总线D.多总线10.从指令和数据的多倍性来看,阵列机属于A.单指令流单数据流B.单指令流多数据流C.多指令流单数据流D.多指令流多数据流第二部分非选择题二、填空题(本大题共10小题,每小题2分,共20分)请在答题卡上作答。
11.软件的功能可以用__硬件_____或___固件____实现。
12.指令由__操作码_____和__地址码_____两部分组成。
p7513.计算机应用可归纳为向上升级的4类:数据处理、__信息处理_____、__知识处理_____ 和智能处理。
选择题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(书)。