Oxida.s Blog

BLOG.OXIDA.CN
热爱与温柔
  1. 首页
  2. 软件设计
  3. 正文

进程管理

2022年5月26日 20点热度 1人点赞 0条评论

进程的组成和状态

进程控制块PCB(唯一标志)、程序(描述进程)、数据(存放进程执行所需数据)。

进程基础的状态是下左图的三态图,需要熟练掌握左下图中的进程三态之间的转换。

运行、等待、就绪

前驱图

用来表示哪些任务执行,哪些任务之间有顺序关系,具体如下图所示:

可知,A、B、C 可以并行执行,但必须 A B C 都可以执行完后,才能执行D,这就确定了两点:任务间的并行,任务间的先后顺序。

进程资源图

用来表示进程和资源之间的分配和请求关系,如下图所示:

  • P 代表进程,R 代表资源,R 方框中有几个圆球就表示有几个这种资源,在上图中,R1指向P1,表示R1有一个资源已经分配给了P1,P1指向R2,表示P1还需要请求一个R2资源才能执行。
  • 阻塞节点:某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续,如上图中 P2。
  • 非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行。如上图中P1、P3.
  • 当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态。

进程得同步与互斥

临界资源:各进程间需要以互斥得方式对其进行访问得资源。
临界区:指进程中对临界资源实施操作的那段程序,本质是一段程序代码。
互斥:某资源(即lin'jie)内只能由一个任务单独使用,使用时需要加锁,多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题,如自行车和汽车。
互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1。
同步信号量:对共享资源的访问控制,初值一般是共享资源的数量。

P操作:申请资源,S=S-1,若S>=0,则执行P操作的进程继续执行,若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。
V操作:释放资源,S=S+1,若S>0,则执行V操作的进程继续执行;若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞可以继续执行),然后执行V操作的进程继续。

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: 软件设计
最后更新:2022年5月26日

氧化先生

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

取消回复
Contents
  • 进程的组成和状态
  • 前驱图
  • 进程资源图
  • 进程得同步与互斥
分类
  • JAVA 编程
  • 产品经理
  • 奇淫技巧
  • 文档规范
  • 生活妙招
  • 虚拟货币
  • 软件设计
标签聚合
Cloudflare 域名 狗狗币 奇淫技巧 软件设计师 freenom Kubernetes 软件设计
广告

COPYRIGHT © 2022 闪闪的部落格. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

黔ICP备16010320号

粤公网安备 44030602005860号