计算机操作系统面试纲要(持续更新)

一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。这类程序有的是为多路 工作站或服务器设计的专业程序,例如专业图像处理程序、非线视频编缉程序、动画制作程序或科学计算程序等。对于这类程序,两个物理核心和两颗处理器基本上是等价的,所以,这些程序往往可以不作任何改动就直接运行在 双核电脑上。

还有一些更常见的日常应用程序。例如Office、IE等,同样也是采用线程级并行编程,可以在运行时同时调用多个线程 协同工作,所以在 双核处理器上的运行速度也会得到较大提升。例如,打开IE 浏览器上 。看似简单的一个操作,实际上浏览器进程会调用代码解析、Flash播放、多媒体播放、Java、 脚本解析等一系列线程,这些线程可以并行地被双核处理器处理,因而运行速度大大加快(实际上IE浏览器的运行还涉及到许多进程级的交互通信,这里不再详述)。由此可见,对于已经采用并行编程的软件,不管是专业软件,还是日常 应用软件,在多核处理器上的运行速度都会大大提高。 日常应用中的另一种模式是同时运行多个程序。

许多程序没有采用并行编程,例如一些 文件压缩软件、部分游戏软件等等。对于这些 单线程的程序,单独运行在多核处理器上与单独运行在同样参数的 单核处理器上没有明显的差别。但是,由于日常使用的最最基本的程序—— 操作系统——是支持 并行处理的,所以,当在多核处理器上同时运行多个单线程程序的时候,操作系统会把多个程序的指令分别发送给多个核心,从而使得同时完成多个程序的速度大大加快。 另外,虽然单一的单线程程序无法体现出多核处理器的优势,但是多核处理器依然为 程序设计者提供了一个很好的平台,使得他们可以通过对原有的单线程序进行并行设计优化,以实现更好的程序运行效果。

**一些游戏厂商正在对原来的一些单线程游戏进行优化,采用并行编程使得游戏运行得更快。有的游戏可以使用一个线程实现人物动画,而使用另一个线程来载入地图信息。**或者使用一个线程来实现图像渲染中的 矩阵运算,而使用另一个来实现更高的人工智能运算。如今,大量的支持多核心的游戏涌现出来,从而使得多核处理器的优势能得到进一步的发挥。

优点:多线程,在一个时钟周期内能处理更多的任务 多任务处理 大缓存 高总线 这是单核处理器所达不到的
  缺点:功耗较大,需要特定平台支持 需要大容量内存跟进 一般的软件最多支持到两线程(双核)价格高
6、多核开发和多线程开发的区别
在本质上,多核开发也就是利用多线程进行程序开发,让不同功能的进程在不同的核上运行,或者让同一进程中不同功能的线程在不同的核上运行。以往我们学习的算法都是面向单线程的,而多核开发时要将这些算法改造成支持多线程的算法,然后系统运行时会将多线程分配到多核处理器上,以实现运行的加速。
不过和传统的多线程编程方式有所不同, 多核开发对于同步锁定等问题较简单,但是需要仔细分析出可并行计算的代码块来,让多线程能够在一个任务中并行。多线程开发的时候,你并不知道有几个物理CPU,而进行多核开发时,你肯定知道有多少个物理CPU了。
7、多核处理器的工作原理
由程序程序决定。如果程序支持多核处理器,那么它会把要处理的数据分解成多个部分分别给予不同的核心寄存器让各个运算器共同运算,最后的结果汇总后由一个运算器处理好分发给下一步,或者直接由程序控制将各个运算结果下发给下一步。如果程序只支持单核,那就是很简单地把数据流供应给一个处理器处理。
8、多核CPU和多核心CPU区别
https://www.zhihu.com/question/20998226
9、线程同步问题
后续继续探究!

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月9日
下一篇 2021年4月9日

相关推荐