进程:进程描述

进程定义:
一个具有独立功能的程序在一个数据集合上的动态执行过程。

进程包括:

  • 程序代码(对应具有独立功能的程序)
  • 程序处理的数据(对应一个数据集合)
  • 程序计数器(记录当前执行的指令)
  • 一组通用寄存器的当前值,堆,栈。
  • 一组系统资源(打开的文件等)

程序和进程的关系:

  • 程序是进程的基础(对应一个具有独立功能的程序)
  • 程序的每次执行构成不同的进程(对应动态执行过程,因为每个数据集合可能不同)
  • 进程是程序功能的体现
  • 一个程序可以对应多个进程;一个进程可以调用多个程序。

区别:

  • 一静(代码的集合)一动(程序的执行,进程分为核心态和用户态)
  • 一个短暂(进程则是状态变化的过程),一个长久(只要代码不丢,程序永远在)
  • 组成不同,进程除了包含程序之外,还包括要处理的数据和进程控制块(上面说到的程序计数器,堆栈,PCB是进程存在的唯一标志)

在这里插入图片描述

进程的特点:

  • 动态性:可动态地创建和结束进程
  • 并发性:进程可以被独立调度并占用处理机运行。
  • 独立性:进程是系统中独立存在的实体,拥有自己独立的资源和地址空间
    -制约性: 因访问共享数据/资源或进程间同步而产生制约

进程控制块:

  • 进程标识信息:一些代表进程的数据
    本进程标识,父进程标识,用户标识
  • 进程状态信息:表示进程当前状态的一些信息
    用户可见寄存器:用户程序的数据,地址等的寄存器。
    控制和状态寄存器:程序计数器,
    栈指针:用于保存进程现场,过程调用/程序调用/程序中断/程序回复等都需要他
  • 进程控制信息:控制进程的信息
    在这里插入图片描述
  • PCB的组织方式
    不同状态的进程组成不同的链表,比如就绪链表,阻塞链表。

进程状态:
进程创建:

  • 系统初始化
  • 用户请求创建进程
  • 正在执行的进程执行进程创建的系统调用

进程运行
内核选择一个就绪的进程占用处理机并执行

进程等待:
一般是进程自己阻塞自己,因为只有进程自己知道何时需要等待某种事件的发生。
1:请求并等待系统服务
2:需要的数据还未到达
3:启动某种操作无法马上完成。

进程唤醒:
1:需要的资源得到满足
2:阻塞等待事件完成

进程结束:

  • 正常退出
  • 错误退出
  • 严重错误
  • 被其他进程杀死

进程三态:

  • 运行态
  • 阻塞态
  • 就绪态
    在这里插入图片描述

进程挂起:
进程挂起不同于进程阻塞,进程挂起指进程不占用内存空间,在硬盘上存在一个进程映像。

分为阻塞挂起,就绪挂起
在这里插入图片描述
挂起的进程的顺序应该是阻塞->就绪。运行挂起只存在云抢占式分时系统中,但这并不是绝对的,这个还和优先级有关。优先级低的进程就算式就绪态也可能比优先级高的阻塞态先挂起。

OS会维护一组队列来维护不同状态的进程,比如就绪队列,等待队列。这些队列并不唯一,根据等待条件不同可以划分为不同的队列。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值