CPU的核心数分为物理核心和虚拟核心
物理核:
物理核心数量=cpu个数(服务器上的cpu的数量)*每个cpu的核心数
虚拟核:
通过超线程技术,用一个物理内核模拟两个虚拟内核,让单个处理器都能使用线程级并行计算。
例如:4核8线程的CPU,在操作系统看来是8个核,但是实际上是4个物理核。
注:采用超线程技术能同时执行两个线程,但它并不像两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
单核cpu和多核cpu:
单核CPU:并不是一个长久以来存在的概念,在近年来多核CPU逐步普及之后,单核心的CPU为了与多核CPU对应而提出。
多核CPU:是指在一枚CPU中集成两个或多个完整的物理内核,此时CPU能支持系统总线上的多个线程,由总线控制器提供所有总线控制信号和命令信号。
进程和线程:
进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念。它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。
线程:是进程的一个执行单元,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也可以实现并发操作,每个请求分配一个线程来处理。(线程也被称为轻量级进程)
注:一个程序至少一个进程,一个进程至少一个线程。
进程和线程的关系:
1)一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。
2)相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
进程和线程区别:
1)地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
2)资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的。
注:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。进程切换时,消耗的资源大,效率高。所以涉及到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程不能用进程。
3)执行过程:每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。(两者均可并发执行)
注:线程是处理器调度的基本单位,但是进程不是。
进程和线程的优缺点:
线程执行开销小,但是不利于资源的管理和保护。
进程执行开销大,但是能够很好的进行资源管理和保护。
Copyright© 2004-2020 河南海腾电子技术有限公司 版权所有 经营性ICP/ISP证 备案号:B1-20180452
豫公网安备 41019702002018号
电子营业执照