操作系统的进程和CPU的线程有啥区别
超线程的概念是Intel专利。它和多核技术是相关的。Wikipedia上有详细的解释,参见 Hyper-threading。Architecturally, a processor with Hyper-Threading Technology consists of two logical processors per core, each of which has its own processor architectural state. Each logical processor can be individually halted, interrupted or directed to execute a specified thread, independently from the other logical processor on the chip. Unlike a traditional dual core processor configuration that uses two separate physical processors, the logical processors in a Hyper-Threaded core share the execution resources. 简单翻译一下,就是说一个带超线程技术的处理器中,每个核有两个逻辑处理器,每个逻辑处理器都能够独立的进行线程处理(即操作系统的线程),这两个逻辑处理器共享一个内核的处理资源。I5是双核超线程,就是每个核有两个独立的逻辑处理器,一共四个逻辑处理器,能够“同时”执行四个线程。超线程技术对操作系统是透明的,从操作系统看来,它认为每个逻辑处理器是一个独立的物理CPU,不过前提是操作系统支持SMP( Symmetric MultiProcessing)。至于“操作系统的进程是如何在CPU上执行的?”这个问题就太大了,我挺懒的,就不回答了。简单说一句,进程也好、线程也好,最后都是转换成CPU的指令由CPU执行的,所有的CPU指令都需要执行时间,多一个CPU,就能够同时执行很多指令。不论如何模拟,最终CPU指令都必须在某一个物理内核上执行。
■网友
非程序员非码农=_=说一下自己的理解
【操作系统的进程和CPU的线程有啥区别】 CPU的工作是在不断的执行指令--保存上下文--切换进程。就拿最常说的例子qq和qq音乐。这是两个进程,对应的是操作系统的两个进程,每个进程再各自的产生一些线程。这里说的线程和CPU的线程是有区别的。CPU的线程是每个时间片上能执行的指令的句数,也就是每个时间片上(可以理解成每个时刻)能执行4条语句。你的CPU在qq和qq音乐之间切换,如果切换的速度足够快,那感觉就是这两个程序在同时发生。
以上非常不严谨,仅仅是自己浅显的理解。
推荐阅读
- 既然c程序编译为机器码直接操作硬件,为啥不同操作系统下需要重新编译
- 苹果为啥不自己设计电脑的CPU?
- 安卓后台进程经常被杀是一种怎么样的体验
- 计算机研究生操作系统方向的课程是怎么样的
- 笔记本电脑主板有个通电自动启动的设置 通电自动启动对主板或者cpu有危害吗
- mysql myisam引擎,插入unique数据用不满cpu等硬件是啥原因
- 关于thikpad T460s 美版CPU配置的问题
- 对加强JAVA数据结构,算法,网络编程,操作系统等基础有何建议和收藏的网站
- 为啥我软件点了结束任务,但是进程仍然在进行
- 同治■这场重量级医学年会在扬州举行,聚焦“脑心同治”的中西医结合防治进程
