内核线程与超线程

时间:2015-02-13 13:53:50

标签: multithreading operating-system kernel hyperthreading

内核线程和超线程有什么区别?或者他们是一样的?

据我所知,os调度的内核线程不是用户线程。

看到没人在同一时间谈论他们两个......

1 个答案:

答案 0 :(得分:2)

“内核线程”是由内核创建和调度的软件线程。比较用户模式库创建的用户线程,就内核而言,是一个执行线程。

“超线程”是英特尔同步多线程的营销名称,这是一种用于超标量机器的硬件多线程解决方案。从本质上讲,它允许CPU(核心)同时从多个(在intel的情况下为2个)内存位置获取和执行指令。这称为“线程级并行”,即通过运行多个任务来提高CPU的利用率。

超线程CPU(例如i7内核)向OS内核提供多个CPU,并且在任何时间点内核都可以在每个CPU上执行一个软件线程。通常它也告诉OS哪个“CPU”是单个CPU的硬件线程,因此调度程序可以做出更好的决策。