前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2.1进程与线程

2.1进程与线程

作者头像
week
发布2018-08-27 11:05:19
1920
发布2018-08-27 11:05:19
举报
文章被收录于专栏:用户画像

(1)为什么要引入进程?

在多道程序同时运行的背景下,进程之间需要共享系统资源,这样就会导致各程序在执行过程中出现相互制约的关系,程序的执行就会表现出间断性的特性。这些特性都是在程序的执行过程中发生的,是动态的过程。而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述在内存的执行情况,即我们无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其他执行程序的关系,因此,程序这个静态概念已不能如实反映程序并发执行的特征。为了深刻描绘程序动态执行过程的性质乃至更好地支持和管理多道程序的并发执行,人们引入了进程概念。

(2)什么是进程及进程由什么组成?

进程是一个具有独立功能程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序代码本身,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。

一个进程实体由程序段、相关数据段和PCB三部分构成,其中PCB是标志一个进程存在的唯一标识,程序段是进程运行的程序代码,数据段则存储程序运行过程中相关的一些数据。

(3)进程是如何解决问题的?

进程把能够识别程序运行状态的一些变量存放在PCB中,通过这些变量系统能够更好地了解进程的状况,并在适当的时候进行进程的切换,以避免一些资源的浪费,甚至划分更小的调度单位——线程来提高系统的并发度。

(4)进程状态

状态种类:

1、运行状态:进程正在处理机上运行

2、就绪状态:进程已经获得了除处理机以外的一切所需资源

3、阻塞状态:进程正在等待某个事件而暂停运行

4、创建状态:进程正在被创建,尚未转到就绪状态

5、结束状态:进程在系统中消失,分为正常结束和异常退出。

状态变化:

就绪->运行:经过处理机的调度,就绪进程获得到处理机资源。

运行->就绪:时间片用完,或者在可剥夺系统中有更高优先级进程进入。

运行->阻塞:进程需要的某个资源还没准备好

阻塞->就绪:进程需要的资源已准备好

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年12月06日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档