简单翻译一下,就是说一个带超线程技术的处理器中,每个核有两个逻辑处理器,每个逻辑处理器都能够独立的进行线程处理(即操作系统的线程),这两个逻辑处理器共享一个内核的处理资源。I5是双核超线程,就是每个核有两个独立的逻辑处理器,一共四个逻辑处理器,能够“同时”执行四个线程。
超线程技术对操作系统是透明的,从操作系统看来,它认为每个逻辑处理器是一个独立的物理CPU,不过前提是操作系统支持SMP( Symmetric MultiProcessing)。
至于“操作系统的进程是如何在CPU上执行的?”这个问题就太大了,我挺懒的,就不回答了。简单说一句,进程也好、线程也好,最后都是转换成CPU的指令由CPU执行的,所有的CPU指令都需要执行时间,多一个CPU,就能够同时执行很多指令。不论如何模拟,最终CPU指令都必须在某一个物理内核上执行。
。
CPU的线程可以大致理解为CPU发出控制指令的通道数,一般来说现在I7以及更高的专业CPU可以做到2X超线程,也就是说4核心的,他就有8个线程,同时可以模拟计算8个运算,而更专业的xeon phi可以做到4X超线程,这个咱先不说了,几万块一颗也买不起。
那么说系统进程,系统进程指的是操作系统中打开的正在运行的可以视为整体的一堆算法啦什么的,比如QQ他就是一个进程。
进程是由CPU线程进行控制的,但是进程可以比CPU线程多,因为程序编辑中会考虑到一个叫“中断”的机制,也就是说CPU可以算一下进程1,然后突然进程10插进来,但是CPU只有8个线程,无法计算第10个,那么他就把前面几个暂停,先计算进程10,计算好后再去计算进程1,至于为什么要暂停1,去进行10,而不先把1算完,这里有个优先级问题,是系统底层已经布置周全的,而如果是更高级的编程语言上的“中端”,这个反正自己用函数写出来的,不多做解释了。
[操作系统]进程和线程的区别