1-进程与线程、超进程、CPU的架构
- 进程与线程
- 进程的定义:正在进行的一个过程或者一个任务,比如开启一个QQ是一个进程,负责执行的任务的是CPU;
- 线程的定义:通俗的理解:
一个线程 ==> 一条流水线的过程,流水线的工作需要电源就相当于CPU;
一个进程 ==> 一个车间的工作过程;
一条流水线必须属于一个车间,一个车间至少有一条流水线;
车间负责把资源整合到一起,是一个资源单位;
官方定义:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
- 进程与线程的区别
- 同一个进程内的多个线程共享该进程内的地址资源;
- 创建线程的开销要远小于创建进程的开销:因为创建一个进程就是创建一个车间,涉及到申请空间,且该空间内至少有一条流水线;创建线程就只是在一个车间内造一条流水线,无需申请空间,因此开销小。
- 超进程
- 查看超进程数:cat /proc/cpuinfo | grep "siblings" |sort | uniq,如果”siblings“和”cpu cores"查看的值一致说明没有开启超线程;如果”siblings“是”cpu cores"的两倍,说明开启超线程;
- 开启超线程:在BIOS里面去开启,找到Hyper-Threading项,改为enable。
- 超线程技术利用硬件命令,把两个逻辑内核模拟成两个物理芯片,减少cpu的闲置时间,提供cpu的运行效率。
- CPU的架构
- CPU:相当于人体大脑,主要负责相关事情的判断以及实际处理的机制
- linux查看CPU的信息:cat /proc/cpuinfo

- 计算公式:
|
总核数
|
物理CPU个数 X 每颗物理CPU的核数
|
|
总逻辑CPU数
|
物理CPU个数 X 每颗物理CPU的核数 X 超线程数
|
- 物理CPU个数:cat /proc/cpuinfo | grep "physical id" | sort |uniq |wc -l
- 每个CPU中core的个数(即核数):cat /proc/cpuinfo | grep "cpu cores" | sort |uniq
- 逻辑CPU的个数:cat /proc/cpuinfo | grep "processor" |wc -l
- 架构:
a.从处理器方面:cat /proc/cpuinfo | grep "porcessor" | wc -l
b.从操作系统层面:top,再按1,监控每个逻辑cpu的状况

c、图解:


浙公网安备 33010602011771号