进程和线程的定义和特征概述

12 篇文章 1 订阅

概述:
几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程。当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程。

一、 进程

1.1 定义
狭义定义:
  进程是正在运行的程序的实例(an instance of a computer program that is being executed)。
广义定义:
  进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
进程的概念主要有两点:
  第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。
  第二,进程是一个**“执行中的程序”**。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。
  进程是操作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上

1.2 操作系统引入进程的概念的原因:
  从理论角度看,是对正在运行的程序过程的抽象;
  从实现角度看,是一种数据结构,目的在于清晰地刻画动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。
  
1.3 进程的特征
(1)动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。
(2)并发性:任何进程都可以同其他进程一起并发执行
(3)独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
(4)异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。
结构特征:进程由程序数据进程控制块
三部分组成。

注意:
并发性和并行性是不同的概念:
  并行是指同一时刻,多个命令在多个处理器上同时执行;
  并发是指在同一时刻,只有一条命令是在处理器上执行的,但多个进程命令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。
多个不同的进程可以包含相同的程序
  一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。
  
进程部分转载于:https://baike.baidu.com/item/进程/382503?fr=aladdin

二、线程

2.1 定义:
  线程是进程的组成部分,一个进程可以拥有多个线程,而一个线程必须拥有一个父进程。线程可以拥有自己的堆栈,自己的程序计数器和自己的局部变量,但不能拥有系统资源。它与父进程的其他线程共享该进程的所有资源。
  
2.2 线程的特征:
(1)线程可以完成一定任务,可以和其它线程共享父进程的共享变量和部分环境,相互协作来完成任务。
(2)线程是独立运行的,其不知道进程中是否还有其他线程存在。
(3)线程的执行是抢占式的,也就是说,当前执行的线程随时可能被挂起,以便运行另一个线程。
(4)一个线程可以创建或撤销另一个线程,一个进程中的多个线程可以并发执行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值