系统架构师进阶 进程,PV操作,管程与线程,死锁

本文详细解释了进程的概念,包括进程的定义、组成、状态变化(三态与五态)、PV操作、管程与线程的区别,以及死锁的产生条件与解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进程

什么叫进程

	1:进程就是运行起来的程序,程序运行起来需要被加载到内存中(用户角度)。
	2:在操作系统中,进程是进行系统资源分配,调度和管理的最小单位(线程是处理器分配资源的最小单位)

进程的组成

1:从静态观点看,进程由程序,数据,进程控制块组成(Process Control Block,PCB)
2:从动态上看,进程是计算机状态的一个有序集合。

三态

1:运行态:占有处理器正在运行。
2:就绪态:具备运行条件,等待系统分配处理器以便运行。
3:等待态(阻塞态):不具备运行条件,正在等待某个事件的完成。
![图解](https://img-blog.csdnimg.cn/20200406214700612.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppZWx1bjE5OTU=,size_16,color_FFFFFF,t_70)

五态

运行态,活跃就绪态,静止就绪态,活跃阻塞态,静止阻塞态。

活跃就绪态:指进程在主存,可以被调度的状态。
静止就绪态:指进程被对换到辅存时的就绪状态,是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的优先级,系统将把挂起就绪态进程调回主存并转换为活跃就绪。
活跃阻塞态:指进程在主存中。一旦等待的事件产生,便进入活跃就绪状态。
静止阻塞态:指进程对换到辅存时的阻塞状态。一旦等待的事件产生,便进入静止就绪状态。
![图解](https://img-blog.csdnimg.cn/20200406214743171.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppZWx1bjE5OTU=,size_16,color_FFFFFF,t_70)

PV操作

核心就一点:P操作减少一个资源,V操作释放一个资源。

管程与线程

管程:每一个管程管理一个临界资源。当有几个进程调用管程时,仅允许一个进程进入管程,其他调用者必须等待。当前进程使用完毕,并释放临界资源后,管程将调用等待队列的队首进程。
线程:线程是进程的活动成分,是处理器分配资源的最小单位,它可以共享进程的资源与地址空间,通过线程的活动,进程可以提供多种服务(服务器进程而言)或实行子任务并行(用户进程而言),采用线程最大的优点是节省开销,创建时间短。

死锁

死锁指多个进程之间互相等待对方的资源,而在得到对方资源之前又不释放自己占用的资源,造成循环等待的现象。
四个必要条件:
1:互斥条件:一个资源每次只能被一个进程使用。
2:请求保持条件:有一个进程已经获得了一些资源,但因为请求其他资源被阻塞时,对已经获得的资源保持不放。
3:不可剥夺条件:有些资源是不可抢占的,当某个进程已获得这种资源后,系统不能强行收回,只能由进程使用完时自己释放。
4:环路条件:若干个进程形成环路,每个都占用对方申请的下一个资源。
死锁的条件只要打破一个,就不会造成死锁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值