进程和线程、并行和并发、单核和多核CPU

一.进程

  • 进程和线程都是操作系统的概念。

  • 进程是操作系统对正在运行的程序的一种抽象。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程是操作系统进行资源分配的最小单元。一个系统上可以同时运行多个进程,在大多数系统中,需要运行的进程数是允许多于可以运行它们的CPU数的。

  • 并发是指一个进程的指令和另一个进程的指令是交错执行的。操作系统实现这种交错执行的机制成为上下文切换。所谓上下文,是指操作系统保持跟踪进程运行所需的所有状态信息,例如PC、寄存器文件的当前值、主存内容等。

  • 任一时刻,单处理器系统都只能执行一个进程的代码。当操作系统决定要把控制权从当前进程转换到某个新进程,就会执行上下文切换,即保存当前上下文,恢复新进程的上下文,然后将控制权转交给新进程。

二.线程

  • 一个进程可由多个称为线程的执行单元组成,每个线程都运行在同一进程的上下文中,共享同样的代码和全局数据。每一个进程至少有一个主执行线程,它无需由用户去主动创建是由系统自动创建的用户根据需要在应用程序中创建其它线程多个线程并发地运行于同一个进程中。一个进程中的所有线程都在该进程的虚拟地址空间中,共同使用这些虚拟地址空间、全局变量和系统资源。

  • 线程是CPU调度和分配的基本单元。线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核心数

  • 系统创建好进程后,实际上就启动执行了该进程的执行主线程,主执行线程以函数地址形式,即程序入口函数比如说main或WinMain函数,将程序的启动点提供给Windows系统。主执行线程终止了,进程也就随之终止。

  • 多线程较之多进程更易共享数据,线程一般来说比进程更高效。在如网络服务器等对并行处理有较高需求的场景,线程是更好的选择。多线程在多处理器系统中是使程序更有效率的手段。系统效率而非运行效率。

三.并发和并行

  • 并发 concurrency 是一个通用的概念,指一个同时具有多个活动的系统。

  • 并行 parallelism 指的是用并发使一个系统运行的更快。

  • 并发:在同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。

  • 并行:在同一时刻,有多条指令在多个处理器上同时执行。

四.CPU和核心

1.物理核

  • 物理核心数量=CPU数(机器实装的CPU数)*每个CPU的核心数

2.虚拟核

  • 所谓的4核8线程,4核指的是物理核心,通过超线程技术,用一个物理核模拟两个虚拟核,每个核两个线程,总数为8线程。

  • 在操作系统看来是8个核,但实际上是4个核。

  • 超线程技术可以实现单个物理核的线程级并行运算。但性能不及两个物理核。

  • 超线程,有时称为同时多线程,是一项允许一个CPU执行多个控制流的技术。涉及CPU的某些硬件具有多个备份,比如程序计数器和寄存器文件,而其他的硬件部分只有一份,比如执行浮点算术运算的单元。超线程通过共享单处理器的一部分原件,实现比如一个进程(线程)必须等到某些数据被装载到高速缓存中,那CPU就可以继续去执行另一个进程(线程)。

3.单核CPU和多核CPU

  • 都是一个CPU,不同的是每个CPU上的核心数。

  • 多核CPU是多个CPU的替代方案,同时也减少了功耗。

  • 一个核心只能同时执行一个线程

  • 多核是指一个CPU有多个核心处理器,处理器之间通过CPU内部总线进行通讯。而多CPU是指简单的多个CPU工作在同一个系统上,多个CPU之间的通讯是通过主板上的总线进行的。

  • 单核CPU上运行的多线程程序, 同一时间只能一个线程在跑, 系统帮你切换线程而已, 系统给每个线程分配时间片来执行, 每个时间片大概10ms左右, 看起来像是同时跑, 但实际上是每个线程跑一点点就换到其它线程继续跑,效率不会有提高,切换线程反倒会增加开销。

4.多线程

  • 多核CPU——计算密集型任务。此时要尽量使用多线程,可以提高任务执行效率,例如加密解密,数据压缩解压缩(视频、音频、普通数据),否则只能使一个核心满载,而其他核心闲置.

  • 单核CPU——计算密集型任务。此时的任务已经把CPU资源100%消耗了,就没必要也不可能使用多线程来提高计算效率了;相反,如果要做人机交互,最好还是要用多线程,避免用户没法对计算机进行操作。

  • 单核CPU——IO密集型任务,使用多线程还是为了人机交互方便.

  • 多核CPU——IO密集型任务,这就更不用说了,跟单核时候原因一样。

参考资料

[1].《深入理解计算机系统(原书第2版)》

[2].http://www.cnblogs.com/-new/p/7234332.html

[3].https://www.jianshu.com/p/0917b5109ecf

[4].https://www.cnblogs.com/caihuafeng/p/5438753.html

图片出处

https://unsplash.com/photos/x2k9A5I8hjY

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容