操作系统-02进程管理

操作系统-02进程管理

一、基本概念

进程是程序在一个数据集合上运行的过程
由程序块、进程控制块(PCB)和数据块三部分组成

进程与程序的区别
进程是程序的一次执行过程,没有程序就没有进程
程序是静态的
进程是动态的
进程进行资源的分配和调度,程序不行

例题:
进程和程序是一种一对一对应的关系(错)
进程是一个程序关于某个数据集的一次运行(√)
进程是系统分配资源的基本单位,而程序不是(√)
一个程序可以包含多个进程(√)

从静态角度看,进程由3个部分组成,通常,

二、进程的状态

在这里插入图片描述
CPU时间片用完了,所以运行回到了就绪状态
一个进程的优先级比当前进程的优先级更高,所以低优先级只能回到就绪的状态
只有就绪状态和运行状态可以相互转换的
运行到等待(等待)
等待到就绪(等待)

进程的同步与互斥

直接制约关系

速度有差异,在一定的条件下停下来等待

间接制约关系

在这里插入图片描述
我占了你就不能占

临界关系

PV操作

临界资源:诸多进程间需要互斥方式对其进行共享的资源,如打印机,磁带机
临界区:每个进程中访问临界资源的那段代码称为临界区
信号量:一种特殊的变量,可正可负

P操作:申请资源的操作
V操作:释放资源的操作
在这里插入图片描述
S代表的是临界资源的资源总数

如果资源小于0,就要进入到阻塞队列
如果分配完之后资源还有,所以再进行下面的执行
V操作时释放资源
当资源数小于等于0的时候,阻塞队列里面可以被唤醒,告诉我们可以直接运行,不会执行阻塞

互斥模型

多个进程共享一台打印机问题(互斥模型)

在这里插入图片描述
理发店
理发店有一个师父
师父就是临界资源
S=1
来一个客人去理发
申请一个资源:P(S)
S=S-1
客人2来了
申请一个资源,但是小于0
只能等待,进入阻塞队列里挂起
只有客人1剪完头了,释放一个资源出来,所以S从-1变为0
所以客人2又可以继续进行

同步模型

单缓存区生产者、消费者问题(同步模型)
在这里插入图片描述
S1代表的是市场部的产品
S2代表的是生产出的产品
对于生产者来说

PV操作应用

文字加图

在这里插入图片描述
找最简单的开始切入
收银员最开始干什么,一开始在睡觉,等待消费者来买书P操作,来一个购书的人扫码,收费,可以叫下一个付款,V操作,等待的是第一个购书者来买书,所以是P(S1),V(S2)

购书者
第一个人来的时候要叫醒收银员,V(S1)
第二个人来的时候只能排队等,P(S2)

答案:V(S1)、P(S2)
P(s1)、P(S2)

前驱图

A->D
A完成才能去D
在这里插入图片描述
ABC都完成我们才能开始D

死锁问题

进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁

例,系统有5个进程,ABCDE,这5个进程都需要4个系统资源,如果系统资源至少有多少个资源,则不可能发生死锁

(3+1)*5=20

在这里插入图片描述
在这里插入图片描述

鸵鸟策略(不理睬策略)

看不见危险

死锁的预防
死锁的检测

死锁的避免
(1)有序资源分配法–简单,但资源浪费多
(2)银行家算法–

银行家算法

在这里插入图片描述
有一家银行有300万存款,A要借钱,350万,不理他,本身就没有钱
要接纳的是少于300万,即不超过系统的资源数

进程可以分期请求资源,但请求的总数不能超过最大需求量
A第一次借100万,第二次50万,第三次50万

当系统资源不能满足进程尚有资源数时,对进程的请求可以推迟分配,但总能使进程在优先的时间内得到资源

在这里插入图片描述
原本R1,R2,R3是985,
现在分配给,7,7,5
所以现在剩的是2,1,0–系统里面还有这么多资源
还要搞清楚,他们还要生成多少资源

在这里插入图片描述
P2可以优先分配,因为R2资源,系统还有,分配给他系统就可以执行了,因为他分配的资源已经够了
P2执行完之后,能够释放多少资源,即已经分配的资源数,所以还剩,4,2,1
所以可以执行P4,P4执行完之后可以收到5,4,1
所以P1,P5都可以执行,所以再执行P3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

向上Claire

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

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

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

打赏作者

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

抵扣说明:

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

余额充值