2.1.3 进程控制

在这里插入图片描述

定义

进程控制的主要功能是对系统中的索引进程实施有效的管理, 它具有创建新进程, 撤销已有进程, 实现进程状态转换的功能

简而言之, 就是实现进程状态的转换

如何实现

原语

原语也是一系列指令, 但是这些指令的执行会一口气执行完而不会因为中断导致执行部分, 即原语的执行具有"原子性"

进程控制需要用原语实现

考虑, 当进程控制执行到一半时因为某些原因被取消了

例如某进程要从就绪状态转到阻塞状态
执行步骤如下:
1 将其PCB中的state设为1 (假设state为1表示就绪态, 为2表示阻塞态)
2 将其PCB从阻塞队列放入就绪队列

当上述两个步骤执行了1却因为中断结束了继续执行, 导致该进程PCB的state=2然而它却被放在阻塞队列中

所以进程的控制需要使用 “原语” 实现

如何实现原语的"原子性"?

简单的说就是执行原语前, 将计算机的中断机制取消

特权指令:
“关中断指令” 与"开中断指令"

如果执行了关中断指令, 那么接下来指令的执行不会受中断信号的干扰
直到执行了 开中断指令之后才会恢复检查是否有中断信号

期间产生的中断信号会被延迟到 开中断指令 执行之后处理

进程的创建

进程的创建

进程的终止

在这里插入图片描述

进程的阻塞和唤醒

在这里插入图片描述

进程的切换


进程的运行环境信息:
执行到一半时, 产生了很多中间结果, 有些结果是存放于cpu寄存器中的, 下次回到该进程时还需要使用, 将其放入PCB然后cpu去执行其他进程的指令, 执行其他指令时难免会导致记录原来那个进程的寄存器等信息被修改, 所以就需要记录原来进程的那些信息, 当再执行回原来那个进程的时候, 直接读取pcb中的信息就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BetterChinglish

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

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

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

打赏作者

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

抵扣说明:

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

余额充值