进程、线程、程序的区别
一、程序、进程、线程的概念
程序:一组计算机能识别和执行的指令、它是一些保存在磁盘上的指令的有序集合
进程:进程是一个独立的可调度的任务,进程是一个抽象的实体,当系统在执行某个程序时,分配和释放的各种资源,进程是资源分配的总称。
线程:共享同一个进程地址空间的多个任务叫线程
二、程序、进程、线程的区别
进程与程序的区别:
程序是静态的,没有任何执行概念,进程是一个动态的概念,它是程序执行的过程,包括创建,调度和消亡
进程是程序执行和资源分配的最小单位
进程包括 正文段、用户数据段、系统数据段,程序属于正文段和用户数据段,系统数据段用来有效的存放程序运行的环境
系统数据段包括 PCB(进程控制块)、相关寄存器
进程不仅包括程序的指令和数据,而且包括程序计数器值、CPU的所有寄存器值以及存储临时数据堆栈
程序类似剧本,存放在纸上,通过某种语言记录一场戏的整个流程、灯光、道具等 静态的
程序: 存放在磁盘,二进制有序指令、可执行、静态的
进程类似于根据剧本演出
进程:程序运行后的一种体现、动态、要占用资源
进程与线程的区别:
每一个进程都有自己独立的地址空间,任务切换时频繁切换地址空间耗时,由于进程的地址空间是私有的,因此在进程间的上下切换时,系统开销比较大,为了提高系统的性能,许多操作系统规范里引入了轻量级进程的概念,也被成为线程。
每个进程有一个独立的虚拟4g地址空间而同一个进程中的多个线程共享进程的地址空间
线程统一参与CPU的调用,即线程间的执行顺序不确定,线程共享进程的资源
程序、进程、线程之间的关系:
程序:大的车间 进程:车间内的一个组 线程:相当于每个执行人员
车间生产产品,车间内的小组实现产品的功能,执行人员单独或共同实现功能。
一个程序可能有多个进程不同的进程实现不同的功能,一个进程可以包含多个线程,线程是进程内的基本调度单位。
进程、线程、程序的区别相关推荐
- 进程与程序的区别与联系
进程的定义 进程是允许某个并发执行的程序在某个数据集合上的运行过程. 进程是由正文段.用户数据段及进程控制块共同组成的执行环境. 正文段存放被执行的机器指令. 用户数据段存放进程在执行时直接进行操作的 ...
- 2.1 linux C 进程与多线程入门--(1)进程和程序的区别
进程和程序的区别: j进程是活动的程序,而程序是一个代码的集合.进程是加载到内存中的程序,而程序没有加载到内存中,只是在磁盘上存储着. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- python进程线程协程区别_Python3多线程与协程
python中的多线程非常的常用,之前一直糊里糊涂地使用,没有一些系统性的概念,记录一下~ 0x001 多线程的优势:可将长时间占用的程序放到后台 可能会加速程序执行速度 能够实现一些类似同步执行的效 ...
- python进程线程协程区别_Python中 进程 线程 协程
一.进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在 ...
- 28.进程和程序的区别
1.进程是动态的,程序是静态的. 2.进程是程序执行的一个过程,包括进程创建.进程运行.进程挂起.进程结束.程序是数据+代码.
- 进程与程序的区别和联系
1)进程是程序及其数据在计算机的一次运行活动,是一个运行过程,是一个动态的概念.进程的运行实体是程序,离开程序的进程没有存在的意义.而程序是一组有序的指令集合,是一种静态概念. 2)进程是程序的一次执 ...
- python进程线程协程区别_进程和线程、协程的区别
现在多进程多线程已经是老生常谈了,协程也在最近几年流行起来.python中有协程库gevent,py web框架tornado中也用了gevent封装好的协程.本文主要介绍进程.线程和协程三者之间的区 ...
- linux进程和程序的却别,操作系统:进程的概念和与程序的区别
进程的概念和与程序的区别 1.进程的定义 进程是允许某个并发执行的程序在某个数据集合上的运行过程. 进程是由正文段.用户数据段及进程控制块共同组成的执行环境.正文段存放被执行的机器指令,用户数据段存放 ...
- 图解linux32位平台下进程线程长什么样子
目录 0.linux的进程线程 1.单线程的进程 2.多线程的进程 3 总结 3.1 公共之处 3.2 差异之处 4.好的图解文章推荐 4.1 深入理解linux内核中的栈 4.2 进程虚拟内存管理 ...
最新文章
- 物流英语与计算机操作,《物流英语与计算机模拟题及正确答案.doc
- Java集合(五):Set集
- vue-cli3.0打包时如何忽略某个第三方依赖包
- C++/C--NULL与nullptr【转载】
- LeetCode笔记:39. Combination Sum
- python元祖组成字典_Python基础之元组和字典
- 3.业务架构·应用架构·数据架构实战 --- 战略驱动的业务架构设计
- 入门排序(冒泡、选择、直接)
- socket编程(java实现)
- 怎么连接win10共享计算机,xp系统下怎么连接win10共享的打印机
- 计算机技术手段在材料中的应用,计算机在材料加工中的应用.docx
- MongoDB_基本操作
- 计算机主机的拆卸的注意事项,拆解笔记本注意事项及技巧!
- 如何快速理解TCP协议
- 怎么还原计算机网络,怎么把网络协议还原为默认设置
- MySQL 备份 nb3 和 psc的区别
- 画出spi输出bdh数据总线时序图_单片机张毅刚课后习题答案.docx
- 蓝牙模块惨痛教训——模块与单片机串口的隔离(更新)
- abaqus在不同job间传递结果(import)之整理与问题(转载)
- 4652 final exam review tutor review
热门文章
- 【老保姆教程】:Tesseract-OCR图片文字识别
- 张量学习(1):张量的基本概念
- PAC学习框架-泛化误差
- 《Excel 职场手册:260招菜鸟变达人》一第 4 招 身份证号码、银行卡号等超过15位数据的录入技巧...
- python—二次规划求解
- 6.10 通过屏幕截图功能快速插入网页图片 [原创Excel教程]
- java json parser_自己实现JSON解析器 JsonParser
- 4、网络层:三层物理设备:集线器、交换机、路由器【IP、ICMP、BGP、OSPF
- MIDI 音乐程序设计 (可以自己编曲的快乐)
- 托盘装载问题(PLP)