进程和线程

首先俩讲一下进程的的概念
进程的定义
进程是一个正在执行中的程序或者可以描述为可并发执行的程序在一个数据集合上的运行过程。进程除了代码以外,还包括分配资源及其他内容,如图:进程内存中的映像:


进程的本质理解
1.这个进程在执行什么程序;
2.程序在处理什么数据;
3.以及程序的状态变化;

进程的特征

动态性:进程的实质是程序的依次执行过程,
并发性/异步:任何进程都可以同其他进程一起向前推进
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
结构化:是指进程地址空间的结构划分:进程由程序、数据和进程控制块组成;
进程和程序的区别:

程序是代码,静态的,无法表示并发,一个程序可对应多个进程,程序是相对长久的。
而进程不光有代码,他还有堆栈段(包括临时数据,如函数参数、返回地址和局部变量),和数据段(包括全局变量)。进程还有控制块;
进程是动态执行的过程,更好地体现并发。
进程中比较重要的就是PCB(process control block)进程控制块

PCB:

PCB是OS中专门管理进程的数据结构,是记录进程属性,表示进程动态变化过程的一个数据结构。
系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志(进程身份证)。
多个进程就组成了进程表。
在进程块中的信息有:进程描述信息、进程控制信息、所拥有的资源及使用情况、CPU现场信息。
描述信息:进程标识符、用户标识、进程组之间的关系。
控制信息:当前状态、程序和数据的入口地址和外存地址、运行的统计信息(页面调度、执行时间等)、进程同步和通信(消息队列指针、信号量等)、资源清单、进程队列指针;
所拥有的资源使用情况:打开文件列表、进程的虚拟地址空间情况等;
CPU现场信息:各种寄存器的值、指向进程页表的指针等;

线程

线程是进程中的一条执行路劲。
我们知道进程是任务调度的单位,也是系统资源分配的单位。从资源组合的角度:进程把一组相关的资源组合起来,构成了一个资源平台,其中包括地址空间(代码段、数据段)、打开的文件资源等。
从运行的角度:进程就是一个正在运行的程序,也就是程序代码在这个资源平台上的一条执行流程。
线程 = 执行流程 + 资源平台

多线程系统的特征:
线程必须在一个进程中;
进程是资源分配单位,线程失调度单位;
一个进程中的所有线程共享资源。
多线程的好处:
多线程方便进行数据的共享和交流;
线程切换代价小;
提高了CPU的性能;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leng_tian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值