当前位置: 首页 > news >正文

进程控制(靠原语实现)

什么是进程控制?

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

简化理解:进程控制就是要实现进程状态转换。

知识一览:

如何实现进程控制? 

用 ”原语“ 实现。

原语的执行具有 “原子性” ,一气呵成。

思考:为何进程控制(状态转换)的过程要一气呵成?

答:如果不能 “一气呵成” ,就有可能导致操作系统中的某些关键数据结构信息不统一的情况,这会影响操作系统进行别的管理工作。(例子见下图)

 

如何实现原语的 “原子性” ?

原语的执行具有原子性,即执行过程只能一气呵成,期间不允许被中断
可以用 “关中断指令” 和 “开中断指令” 这两个特权指令实现原子性

正常情况:CPU每执行完一条指令都会例行检查是否有中断信号需要处理,如果有,则暂停运行当前这段程序,转而执行相应的中断处理程序。

CPU执行了关中断指令之后,就不再例行检查中断信号,直到执行开中断指令之后才会恢复检查。

 这样,关中断、开中断之间的这些指令序列就是不可被中断的,这就实现了 “原子性” 。

 

进程控制相关的原语:

进程的创建:

进程的终止:

进程的阻塞和唤醒:

阻塞原语和进程原语必须成对使用!

 

进程的切换:

 

总结:

无论哪个进程控制原语,要做的无非三件事情:

1、更新PCB中的信息。(修改进程状态,保存 || 恢复运行环境)

2、将PCB插入合适的队列。

3、分配 || 回收资源。

相关文章:

  • 关于房间传感器监测数据集的探索
  • 3-知识图谱-知识图谱的存储与查询
  • [DeepSeek]二、大模型
  • 元脑服务器可用于DeepSeek部署
  • Java——多态
  • 【Leetcode 每日一题】2595. 奇偶位数
  • 阿里云ECS命名规则解析与规格选型实战指南
  • MySQL中 undolog和redolog区别
  • 《跟李沐学 AI》AlexNet论文逐段精读学习心得 | PyTorch 深度学习实战
  • RabbitMQ 消息队列
  • 蓝桥杯(B组)-每日一题(1093字符逆序)
  • Python 获取当前目录及上级目录
  • 类型系统下的语言分类与类型系统基础
  • 流行多模型对比分析
  • CPU与GPU之区别(The Difference between CPU and GPU)
  • 实战:功率分析仪3u3v测三相原理及接线
  • 金仓KDTS迁移工具启动报错kdts-app-console is already start, Please close it.
  • 【深度学习】手写数字识别任务
  • python读写各种格式文件
  • 中通云的容器化之旅:从单集群到多集群的演进
  • 160名老人报旅行团被扔服务区?张家界官方通报
  • 新华保险一季度净赚58.82亿增19%,保费收入增28%
  • A股三大股指小幅低收:电力股大幅调整,两市成交10221亿元
  • 言短意长|政府食堂、停车场开放的示范效应
  • 五一假期“热潮”来袭,计划南下的小伙伴注意了
  • 体坛联播|巴萨“三杀”皇马夺国王杯,陈妤颉破亚洲少年纪录