啥是线程,进程和程序?一文读懂它们的区别

2018-01-09 17:06:14 来源:硬件十万个为什么
标签:
线程   程序   进程   CPU
任务是代码运行的一个映象,从系统的角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、I/O设备及内存空间等系统资源,并独立于其它任务,与它们一起并发运行(宏观上如此)。
VxWorks内核使任务能快速共享系统的绝大部分资源。
 
在VxWorks6.4中,进程是指Rtp,进程包含任务,任务是调度的最小单元。
 
进程(有时被称为重量级进程)是程序的一次执行。每个进程都有自己的地址空间,内存,数据栈以及其它记录其运行轨迹的辅助数据。操作系统管理在其上运行的所有进程,并为这些进程公平地分配时间。
 
不过各个进程有自己的内存空间,数据栈等,所以只能使用进程间通讯(IPC),而不能直接共享信息。
 
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,那就是程序本身。
  
线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
 
线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定。线程的运行中需要使用计算机的内存资源和CPU。
  
通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度,从而显著提高系统资源的利用率和吞吐量。
  
因而近年来推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视为现代操作系统的一个重要指标。
  
线程与进程的区别可以归纳为以下几点:
1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
2)通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
3)调度和切换:线程上下文切换比进程上下文切换要快得多。
4)在多线程OS中,进程不是一个可执行的实体。
 
程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为实现预期目的而进行操作的一系列语句和指令。一般分为系统程序和应用程序两大类。计算机中的程序在港澳台地区称为程式。程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。
 
 
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
交换芯片和交换机制造商手握开放的“秘密”
交换芯片和交换机制造商手握开放的“秘密”

世界上现有的交换机制造商可以从服务器(server racket)上学到一些东西。实际上,他们也的确这样做。

ARM Cortex-A76的野心,要与英特尔争夺CPU江湖?

在连续创造惊人的数字之后,ARM的目光更为长远。据最新数据显示,截止2017年底基于Arm的芯片出货量已达1200亿片,约占整体市场四成份额。

八核Coffee Lake-S至强产品线真的存在?英特尔已出面证实

如果你对八核 Coffee Lake 对八核 Coffee Lake 桌面处理器感兴趣,那么这里有一丝来自英特尔官方的新消息。在一份《致亲爱的客户信》(DCL)中,该公司向合作伙伴提供了有关“Xeon E Coffee Lake-S 8C Processor ES”样品的鉴定和使用指南。

计算机模块让创新没那么难
计算机模块让创新没那么难

2018年,市场聚光灯聚焦在了以下几个领域:智能制造、物联网、人工智能、新能源汽车等。这些热门领域的快速发展为电子行业带来极大的发展机遇,对应用厂商提出了全新的设计需求,也让对功能开发起决定性作用的单板计算机面临着全新的机遇和挑战。

AMD处理性能、工艺大跃进,英特尔遇到了大麻烦
AMD处理性能、工艺大跃进,英特尔遇到了大麻烦

时代齿轮已经转动,在新工艺的创新驱动下,英特尔与AMD这两位“世纪冤家”的命运似乎产生了一丝变化。

更多资讯
UltraSoC嵌入式分析技术与Imperas虚拟平台联手助力多核开发及调试

UltraSoC和Imperas今日宣布:双方将达成一项广泛的合作,为多核系统级芯片(SoC)开发人员提供结合了嵌入式分析技术和虚拟平台技术的强大组合。

莫大康:迎接存储器业的挑战

较为乐观的估计,能用5年左右的时间,达到全球市场(2018年存储器业产值预测可达1,500亿美元)占比的3% - 5%,也即DRAM与NAND的累加产值能达到近50亿美元,表明中国存储器业的突围取得了初步的成功。

宜鼎iCAP云端管理平台实现终端远程智能管理,降低人力成本

宜鼎芯存Innodisk于今年Computex现场展出iCAP云端储存管理平台,以软件、硬件及固件跨界整合的优势,强势承接全球持续升温的智能工控管理需求。

JTAG和支持JTAG的CPU

通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。

旺宏电子:NOR Flash与NAND Flash内存都满载啦

内存供货商旺宏电子(Macronix),今日举行股东会,董事长吴敏求表示,NOR Flash与NAND Flash内存的需求持续满载,工业与车用的比例将进一步提升。

Moore8直播课堂
电路方案