一、进程与线程
- 进程:进程拥有私有的地址空间、代码等一些系统资源。进程之间是相互独立的,不共享内存和数据。是操作系统进行资源分配 的最小单元。
- 线程:线程只由进程创建出来,只占有极少的资源,和同一进程中的其他线程共享资源,是进程内部的一个执行单元。多线程的引入是为了同时完成多项任务,解决的是提高资源使用率,并没有提高 cpu 的执行效率。
二、并发、并行、同步、互斥
- 并发:同一时间段内有多个程序在运行,但实际上在每个时刻,只有一个程序在运行。
- 并行:同一时刻有多个程序在运行,这就要求必须要有多个处理器才行
- 同步:并不是字面上的同时的意思,而是 协同、协助、互相配合 ,按照预定好的先后次序运行。如:A 执行到一定程度要依靠 B 的结果,于是让 B 先运行,得到结果后送给 A, A再继续执行。
- 互斥:两组或者两组以上的进程不能同时进入同一组共享变量的临界区域,否则会发生错误。
三、单处理器、
- 单处理器:只能存在并发的操作,所谓的多道作业,也是 “ 宏观上并行,微观上串行 ”。
- 多核处理器:多核是指一个 CPU 拥有多个核心处理器,处理器之间通过 CPU总线进行通信。而多处理器是指,简单多个CPU在同意个操作系统上工作,依靠主板上的总线进行通信。理论上来说,N 核 CPU 的效率要高于 N 个 CPU 在一起工作的效率。
- 多处理器:就是多个 CPU 在同一个操作系统上工作。
三、Cup 的工作原理
- Cpu 的组成:Cup 由硅材料组成,上面包含了数百万的晶体管,每个晶体管都是一个微型电子开关,对应着 ON、OFF 两种状态,对应计算机中的 0 和 1。
- Cpu 的内部结构:主要由 4 部分组成。
- 算术逻辑单元:完成加、减、乘、除等各种运算,相当于工厂中的生产线, 负责运算数据。
- 寄存器组:用来存放那些待处理的数据,或者已经处理过的数据,Cpu 对寄存器访问速度,远大于内存,减少对内存的访问,提高 Cpu 的工作效率。
- 控制单元:Cpu 的控制中心。
- 总线:一组导线,用于 Cpu 中各个组成部分传输信息。
- Cpu 工作流程:整个流程就像一个工厂加工产品:进厂的原料(程序指令),经物资分配部分(控制单元)的调度,被送往生产线(逻辑运算单元),生产出成品(处理后的数据),存储到仓库(存储单元),最后拿到市场上去卖(交由应用程序)。
- 主频的概念:Cpu 的 3 步基本操作:读取数据、处理数据、写入数据。当处理多条指令和数据的时候。由于数据转移时差和 Cpu处理时差,容易出现混乱。时钟就像一个节拍器,不停的发出脉冲,决定这 Cpu 的步调和处理时间。时钟的频率就是我们熟知的 Cpu 主频。
多核 Cpu 的工作原理:多核的优势在于 Cpu 能同时处理多个任务。单核 Cpu 把任务划分成多份,每次只能处理一份,这样实现了 “ 宏观上的并行 ”,但是如果任务过多,Cpu 不能及时处理,就会出现卡顿的情况,这时候多核就显现了他的优势。就处理速度而言,目前,双核比单核快不到 2 倍。
- 参考博客2
- 参考博客3