软考测试复习笔记— 进程和PV操作

本系列为个人复习软考中级测试中的一些知识点记录;
记录的时候参考了不少其他的人的文章;
如有错误还请指点,如有侵权请联系我说明。

本文记录进程相关的概念和PV操作

· 本文结构:
软考测试复习笔记— 进程和PV操作_第1张图片

文章目录

  • 一、进程
    • 1、进程的概念
    • 2、进程的特点
    • 3、进程的基本状态
    • 4、进程控制块
  • 二、并发与执行
    • 1、并发
    • 2、并行
  • 三、信号量
    • 1、S
    • 2、两个操作
  • 四、PV操作图解
  • 五、软考相关考题
  • 六、参考

一、进程

1、进程的概念

       概念:程序的执行过程(动态状态)。
(这是一个狭义的概念,关于进程的概念还有很多种说法,这是我理解的一种说法。)

2、进程的特点

       (1)动态性:是一个动态的执行过程。
       (2)并发性:多个进程在同一时间段内并发执行。
       (3)独立性:进程是一个独立单位,可以独立运行、独立获得资源和独立调度。
       (4)异步性:进程按各自独立的、不可预知的速度向前推进。(走走停停)
       (5)结构特征:进程=程序+数据+进程控制块(PCB)。

3、进程的基本状态

(1)三种基本状态:
       · 运行状态:进程占用CPU,程序正在执行。
       · 就绪状态:进程等待CPU。
       · 阻塞状态:进程由于等待其它资源暂时无法执行。
软考测试复习笔记— 进程和PV操作_第2张图片

(2)五种基本状态
       · 运行状态:进程占用CPU,程序正在执行。
       · 就绪状态:进程等待CPU。
       · 阻塞状态:进程由于等待其它资源暂时无法执行。
       · 创建状态:创建一个进程。
       · 终止状态:清零PCB,将空白的PCB返还系统。
软考测试复习笔记— 进程和PV操作_第3张图片

4、进程控制块

       PCB,存放进程的管理和控制信息的数据结构,用来描述进程的基本情况和运行的信息。
(有点类似于每个人的个人档案)

二、并发与执行

1、并发

       多个程序在同一时间间隔内同时处于运行状态,但是在同一时刻只有一个程序可以处于运行状态。软考测试复习笔记— 进程和PV操作_第4张图片

2、并行

       多个程序在同一时刻同时处于运行状态。
软考测试复习笔记— 进程和PV操作_第5张图片

三、信号量

1、S

       一个整数,用来表示资源的数目。

2、两个操作

(1)P操作:S-1
       S ≥ 0:进程继续。
       S<0:进程被阻塞,等待信号量。
(2)V操作:S+1
       S>0:进程继续。
       S ≤ 0:从信号量的等待队列中唤醒一个正在等待的进程。

四、PV操作图解

       假设有五个物品(五个进程),从左到右分别为物品1,物品2,物品3,物品4,物品5;有三个盒子(三个可用资源,即S=3),如图:
(说明:为了方便叙述,将物品进行了排列,放入盒子的同时也加入了具体的位置和顺序,只要符合PV操作的规则,是可以不用按顺序随便放的。)
软考测试复习笔记— 进程和PV操作_第6张图片

       第一步放入一个物品1 → 进行了一次P操作 → S-1 → S=2 ≥ 0 → 进程继续
       将物品1放入第一个盒子中,此时没有放入盒子的物品有4个(4个进程),剩余的盒子有2个(2个可用资源)
软考测试复习笔记— 进程和PV操作_第7张图片

       第2步放入一个物品2 → 进行了一次P操作 → S-1 → S=1 ≥ 0 → 进程继续
       将物品2放入第2个盒子中,此时没有放入盒子的物品有3个(3个进程),剩余的盒子有1个(1个可用资源)
软考测试复习笔记— 进程和PV操作_第8张图片

       第3步放入一个物品3 → 进行了一次P操作 → S-1 → S=0 ≥ 0 → 进程继续
       将物品3放入第3个盒子中,此时没有放入盒子的物品有2个(2个进程),剩余的盒子有0个(0个可用资源)
软考测试复习笔记— 进程和PV操作_第9张图片

       第4步放入一个物品4 → 进行了一次P操作 → S-1 → S=-1 < 0 → 进程阻塞,等待信号量
       将物品4放入盒子中,此时没有空余的盒子可以放,所以物品4放入了等待队列,此时剩余的物品有1个,剩余的盒子有0个(0个可用资源)
软考测试复习笔记— 进程和PV操作_第10张图片

       第5步放入一个物品5 → 进行了一次P操作 → S-1 → S=-2 < 0 → 进程阻塞,等待信号量
       将物品5放入盒子中,此时没有空余的盒子可以放,所以物品5放入了等待队列,此时剩余的物品有0个,剩余的盒子有0个(0个可用资源)
软考测试复习笔记— 进程和PV操作_第11张图片

       第6步取出一个物品3 → 进行了一次V操作 → S+1 → S=-1 ≤ 0 → 唤醒一个进程
       将物品3从盒子中拿出,此时有一个空余的盒子可以放,所以物品4放入了盒子当中,此时剩余的盒子有0个(0个可用资源),等待队列有一个物品
(注意:有两步操作,拿出一个,放入一个,所以还是没有空余的盒子)
软考测试复习笔记— 进程和PV操作_第12张图片

       第7步取出一个物品2 → 进行了一次V操作 → S+1 → S=0 ≤ 0 → 唤醒一个进程
       将物品2从盒子中拿出,此时有一个空余的盒子可以放,所以物品5放入了盒子当中,此时剩余的盒子有0个(0个可用资源),等待队列没有物品
(注意:有两步操作,拿出一个,放入一个,所以还是没有空余的盒子)
软考测试复习笔记— 进程和PV操作_第13张图片

       后续步骤取出一个物品 → 进行了一次V操作 → S+1 → S=1 > 0 → 进程继续 ( X 3)
       后续就是将盒子里的三个物品分别取出,每次取出空盒子都增加1,直到取完,空盒子数量为3。
总结
       1、要注意两个操作的四个节点的意思。
       2、当有 n个并发进程,m 个可用资源,采取PV操作时,信号量S的取值范围为:-(n-m)~m

五、软考相关考题

1、

       (2018.软件评测师(上午))假设系统有n(n≥6)个并发进程共享资源R,且资源R的可用数为3。若采用PV操作,则相应的信号量S的取值范围应为:-(n-3)~3

分析
       有3个可用资源,所以S=3(S的最大数值)
       当n=6时,3个资源占用完后,后面没有资源可以占用的进程执行P操作并进入等待队列,当三个进程都进入等待队列时S=0-3=-3(前3个资源一直被占用的情况下)(S的变化:3,2,1,0,-1,-2,-3)
       当n时,S = 0-(n-3)=-(n-3)(前3个资源一直被占用的情况下)(S的变化:3,2,1,0,-1,-2,-3,-4,…,-(n-3))
2、

       (2018.软件评测师(上午))若一个单处理器的计算机系统中同时存在3个并发进程,则同一时刻允许占用处理器的进程数:最多为1个。

分析
       多个程序在同一时间间隔内同时处于运行状态,但是在同一时刻只有一个程序可以处于运行状态。

六、参考

1、进程—百度百科
2、PV操作—百度百科
3、PCB—百度百科
4、并发—百度百科
5、并行—百度百科
6、《计算机操作系统(第四版)》

你可能感兴趣的:(软件评测师复习,操作系统)