第二讲(二)详细介绍进程的状态、控制、通信、同步与互斥

本文深入探讨了进程的状态切换,包括五状态模型和七状态模型,解析了进程控制的原理和原语操作的重要性。详细介绍了进程通信的方式,如共享存储、管道通信和消息传递,并深入分析了进程同步和互斥的概念及其实现方法,涵盖了软件和硬件实现的细节。

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

进程的状态

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

状态的切换(五状态模型)

在这里插入图片描述

状态的切换(七状态模型)

在这里插入图片描述
如果处于就绪态的进程,内存不够用,就把他暂时调到外存中,便有了就绪挂起状态,激活后又能重新调用内存。处于阻塞态的进程也能被挂起。
在这里插入图片描述

进程控制

概念

进程控制就是要实现进程状态的切换
在这里插入图片描述
在这里插入图片描述
如果进程状态的切换并没有修改PCB的状态标志,会导致系统错误,因为PCB所处的队列与状态标志要一样。

原语操作

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

进程通信

概念

在这里插入图片描述

共享存储

在这里插入图片描述

管道通信

在这里插入图片描述

消息传递

在这里插入图片描述

进程同步和互斥

同步的概念

进程的异步性是指各并发执行的进程以各自独立的、不可预知的速度向前推进。
在这里插入图片描述

互斥的概念

程序的并发需要共享。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程互斥的实现方法

软件实现方法

单标志法

在这里插入图片描述
如果turn的值一直保持为0,却不进入临界区呢?p1永远不能进入临界区
在这里插入图片描述

双标志先检查法

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

双标志后检查法

在这里插入图片描述

peterson算法

在这里插入图片描述

123678……执行。
执行123.假设p0想进入临界区,但是turn=1,p0谦让给p1,下一步while循环(如果对方想进入临界区并且你已经谦让了),就一直循环下去,直到时间片用完,切换到p1进程。
执行678。p1想进入临界区,turn=0谦让给p0,p1进入循环直到时间片用完切换到p0,这时p0循环的条件变了while(flag[1]&&turn==0),p0终于跳出循环,进入了临界区。
在这里插入图片描述

总结

在这里插入图片描述

硬件实现方法

中断屏蔽方法

在这里插入图片描述

TS指令

在这里插入图片描述

Swap指令

在这里插入图片描述

小结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值