1-进程与线程、超进程、CPU的架构

  • 进程与线程
  1. 进程的定义:正在进行的一个过程或者一个任务,比如开启一个QQ是一个进程,负责执行的任务的是CPU;
  2. 线程的定义:通俗的理解:
             一个线程  ==>  一条流水线的过程,流水线的工作需要电源就相当于CPU;
             一个进程  ==>  一个车间的工作过程;
             一条流水线必须属于一个车间,一个车间至少有一条流水线;
             车间负责把资源整合到一起,是一个资源单位;
  官方定义:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
 
  • 进程与线程的区别
  1. 同一个进程内的多个线程共享该进程内的地址资源
  2. 创建线程的开销要远小于创建进程的开销:因为创建一个进程就是创建一个车间,涉及到申请空间,且该空间内至少有一条流水线;创建线程就只是在一个车间内造一条流水线,无需申请空间,因此开销小。

 

  • 超进程
  1. 查看超进程数:cat /proc/cpuinfo | grep "siblings" |sort | uniq,如果”siblings“和”cpu cores"查看的值一致说明没有开启超线程;如果”siblings“是”cpu cores"的两倍,说明开启超线程;
  2. 开启超线程:在BIOS里面去开启,找到Hyper-Threading项,改为enable。
  3. 超线程技术利用硬件命令,把两个逻辑内核模拟成两个物理芯片,减少cpu的闲置时间,提供cpu的运行效率。

 

  • CPU的架构
  1. CPU:相当于人体大脑,主要负责相关事情的判断以及实际处理的机制
  2. linux查看CPU的信息:cat /proc/cpuinfo

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

posted @ 2021-07-22 16:21  向阳记忆  阅读(215)  评论(0)    收藏  举报