操作系统学习笔记(二)

第二章 进程的描述与控制

2.1 前趋图和程序执行

2.1.1 前趋图(Precedence Graph)

  • 前趋图:用于描述程序执行的先后顺序,是一个有像无循环图(DAG:Directed Acyclic Graph)
  • 图中的节点:表示一个进程或程序段
  • 图中有向边:表示两个节点之间的偏序关系/前趋关系
  • 表示:$ (P_i,P_j)∈→ , 也 可 以 表 示 为 : ,也可以表示为: P_i→P_j , 或 者 : ,或者: (P_i,P_j)$
  • 此时称: P i P_i Pi P j P_j Pj的直接前趋, P j P_j Pj P i P_i Pi的直接后继
  • { 初 始 节 点 : 没 有 前 趋 终 止 接 点 : 没 有 后 继 \begin{cases} {初始节点:}{没有前趋}\\ {终止接点:}{没有后继}\end{cases} {

注:前趋图中不允许有循环

P1
P2
P3
P4
P5
P6
P8
P7
P9

具 有 9 个 节 点 的 前 趋 图 具有9个节点的前趋图 9

如图所示前趋图中,前趋关系是:

P 1 → P 2 , P 1 → P 3 , P 1 → P 4 , P 2 → P 5 , P 3 → P 5 , P 4 → P 6 , P 4 → P 7 , P 5 → P 8 , P 6 → P 8 , P 7 → P 9 , P 8 → P 9 P_1→P_2,P_1→P_3,P_1→P_4,P_2→P_5,P_3→P_5,P_4→P_6,P_4→P_7,P_5→P_8,P_6→P_8,P_7→P_9,P_8→P_9 P1P2,P1P3,P1P4,P2P5,P3P5,P4P6,P4P7,P5P8,P6P8,P7P9,P8P9

或表示为:

P = { P 1 , P 2 , P 3 , P 4 , P 5 , P 6 , P 7 , P 8 , P 9 } = { ( P 1 , P 2 ) , ( P 1 , P 3 ) , ( P 1 , P 4 ) , ( P 2 , P 5 ) , ( P 3 , P 5 ) , ( P 4 , P 6 ) , ( P 4 , P 7 ) , ( P 5 , P 8 ) , ( P 6 , P 8 ) , ( P 7 , P 9 ) , ( P 8 , P 9 ) } P=\lbrace P_1,P_2,P_3,P_4,P_5,P_6,P_7,P_8,P_9\rbrace=\lbrace (P_1,P_2),(P_1,P_3),(P_1,P_4),(P_2,P_5),(P_3,P_5),(P_4,P_6),(P_4,P_7),(P_5,P_8),(P_6,P_8),(P_7,P_9),(P_8,P_9)\rbrace P={P1,P2,P3,P4,P5,P6,P7,P8,P9}={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),(P7,P9),(P8,P9)}

2.1.2 程序顺序执行

1、程序的顺序执行

  • 程序段操作—节点
  • 输入操作——I
  • 计算操作——C
  • 打印操作——P
  • 操作顺序——

前趋关系: I i → C i → P i I_i→C_i→P_i IiCiPi 前趋图如图(a)

I1
C1
P1
I2
C2
P2

( a ) 前 趋 图 (a)前趋图 a

2、程序顺序执行时的特征

  • 顺序性
  • 封闭性
  • 可再现性

2.1.3 程序并发执行

1、程序的并发执行

I1
I2
I3
C1
C2
C3
P1
P2
P3
...
...
...

程 序 并 发 执 行 时 的 前 趋 图 ( 自 己 用 代 码 描 的 , 略 丑 ) 程序并发执行时的前趋图(自己用代码描的,略丑)

2、程序并发执行时的特征

1)间断性:程序并发执行时,共享系统资源以及相互合作导致,它们之间相互制约

  • 这也导致并发程序具有“执行——暂停——执行”的间断性活动规律

2)失去封闭性

3)不可再现性

2.2进程的描述

2.2.1 进程的定义和特征

1、进程的定义

  • 为了能使进程并发执行,并且可以对并发执行的程序加以描述和控制,所以有了“进程”的概念

进程控制快(PCB):为使参与并发执行的每个程序(包括数据)都能独立的运行,在操作系统中为之配置的一个专门的数据结构

进程实体(进程映像):由程序段、相关的数据段、PCB三部分构成

  • 进程的定义:

1、进程是程序的一次执行

2、进程是一个程序及其数据在处理机上顺序执行时所发生的活动

3、进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位

  • 引用进程实体的概念之后,传统OS中的进程:进程使进程实体的运行过程,是系统进行资源分配和调度的一个独立单位

2、进程的特征

(1)、动态性:进程的实质是进程实体的执行过程

(2)、并发性:程序(没有建立PCB)不能参与并发执行

(3)、独立性

(4)、异步性

  • 进程和程序并非一一对应的
  • 结构特性:由程序段、数据段、PCB组成

2.2.2 进程的基本状态及转换

1、进程的三种基本状态

一般而言,每一个进程至少处于以下三种基本状态之一:

  • ①、就绪(Ready)状态:万事俱备,只欠CPU/处理机
    • 如果系统中有多个进程处于就绪状态,通常将他们按照一定的策略排列,称为就绪队列。
  • ②、执行(Running)状态:指进程已获得CPU,程序正在执行。
  • ③、阻塞(Block)状态:进程等待某种事件完成,而暂时无法执行的状态。

2、三种基本状态的转换

在这里插入图片描述
进 程 的 三 种 基 本 状 态 及 其 转 换 进程的三种基本状态及其转换
3、创建状态和终止状态

创建状态:创建工作尚未完成,进程不能被调度运行的状态。

创建过程:

  • 进程申请一个空白的PCB,并向PCB中填写用于控制和管理进程的信息;
  • 为该进程分配运行时所必需的资源;
  • 把该进程转为就绪状态并插入就绪队列中。

终止状态:进入终止状态的进程不能再执行,但在操作系统中仍保留一个记录,其中保存状态吗和一些计时统计数据,供其他进程收集。

终止步骤:

  • 等待操作系统善后处理
  • 将PCB清零,将PCB空间返还系统

在这里插入图片描述
进 程 的 五 种 基 本 状 态 及 其 转 换 进程的五种基本状态及其转换

2.2.3 挂起操作和进程状态的转换

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

找不到工作当个咸鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值