操作系统基础:进程管理(PV 操作)

文章目录

  • 1 概述
    • 1.1 三态模型
    • 1.2 五态模型
  • 2 进程间的通信
    • 2.1 信号量机制 S
    • 2.2 PV 操作
  • 3 扩展
    • 3.1 常考题

1 概述

1.1 三态模型

状态描述
运行获得 CPU,正在执行
就绪获得除 CPU 外的所有资源
阻塞也称 “等待”,执行中的进程由于某种原因不能继续执行,从而放弃 CPU,处于等待状态

在这里插入图片描述

1.2 五态模型

相比于三态模型,五态模型,多个 “新建” 和 “终止”

在这里插入图片描述

2 进程间的通信

2.1 信号量机制 S

  • 信号量(Semaphore,S):一种特殊的变量,相当于 计数器
    • 信号量是一个整数
    • S > 0 时,表示当前可用 资源的个数
    • S < 0 时,表示等待使用该资源的 进程个数
  • S 取值范围 [ − ( n − m ) , m ] [-(n-m) , m] [(nm)m],其中 n:进程数,m:资源数
    • − ( n − m ) -(n-m) (nm):对应( S < 0
    • m m m:对应( S > 0
  • 说明: 信号量的值仅能由 PV 操作来改变

2.2 PV 操作

  • P 操作:使 S = S - 1,若 S >= 0,则该进程 继续执行,否则进入 等待队列,即为 申请资源(箭头指入)。
  • V 操作:使 S = S + 1,若 S <= 0,则 唤醒 等待队列中的一个进程,即为 释放资源(箭头指出)。

在这里插入图片描述

P:荷兰语 Passeren,表示 通过(申请资源)
V:荷兰语 Vrijgeven,表示 释放(释放资源)

3 扩展

3.1 常考题

【例题1】以下进程状态转换,不会发送的转换是()的转换。
A.就绪到运行
B.运行到就绪
C.等待到运行
D.运行到等待

参考答案:C
记忆:就绪 与谁交互都可以,等待 只能到 就绪

【例题2】假设系统有 n 个进程共享资源 R,且资源 R 的可用数为 3,其中 n ≥ 3 n\geq3 n3。若采用 PV 操作,则信号量 S 的取值范围应为()
A.-1 ~ n-1
B.-3 ~ 3
C.-(n-3) ~ 3
D.-(n-1) ~ 1

参考答案:C

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/706429.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

反爬-简单滑块思路,秒了~

文章目录 找图片的返回包curl 大法获取图片链接ddddocr分析距离看结果秒了~ 本文仅供参考学习&#xff0c;如有侵权&#xff0c;请联系作者删。 目标地址&#xff1a;aHR0cHM6Ly9pZHMuZ2RpdC5lZHUuY24vYXV0aHNlcnZlci9sb2dpbj9zZXJ2aWNlPWh0dHBzOi8vd2JkdC5nZGl0LmVkdS5jbi9zaG…

Redis-Redis事务

Redis事务 Redis事务简介 Redis事务是一组命令的集合&#xff0c;一个事务中的所有命令都将被序列化&#xff0c;按照一次性、顺序性、排他 性的执行队列系列的命令。Redis单条命令保证原子性&#xff0c;但是事务不保证原子性&#xff0c;且没有回滚。事务中任意命令执行失败…

【再探】设计模式—桥接模式、组合模式及享元模式

结构型设计模式描述了对象与类之间的关系。适配器模式及装饰器模式主要用于接口适配及功能增强&#xff0c;而桥接模式模式则是为了减少类的数量&#xff0c;组合模式让部分与容器能被客户端统一对待处理&#xff0c;享元模式则是用于节约系统内存&#xff0c;提高系统性能。 …

Leetcode—304. 二维区域和检索 - 矩阵不可变【中等】

2024每日刷题&#xff08;137&#xff09; Leetcode—304. 二维区域和检索 - 矩阵不可变 算法思想 实现代码 class NumMatrix { public:NumMatrix(vector<vector<int>>& matrix) {int m matrix.size();int n matrix[0].size();prefix.resize(m 1, vector&…

水泡传感器内部结构

水泡传感器内部结构&#xff1a; 水泡传感器放大电路 电路是基于1.6V做的TIA I2V&#xff0c; 也就是输出部分基于1.6V做电压的增加或减少。

第十七篇:数据库性能优化的数学视角:理论与实践的融合

数据库性能优化的数学视角&#xff1a;理论与实践的融合 1. 引言 在现代信息技术快速发展的背景下&#xff0c;数据库性能优化已经成为计算机科学领域的一个热点问题。随着数据量的爆炸式增长和用户需求的多样化&#xff0c;数据库系统所承载的数据处理任务变得越来越复杂&…

Synchronize 底层实现原理

1 、加锁实现原理 public class SynchronizedTest {public void get(){synchronized (this){ // 这个是同步代码块System.out.println("你好呀");}}public synchronized void f(){ //这个是同步方法System.out.println("Hello world");}public s…

VBA在Excel中部首组查字法的应用

VBA在Excel中部首组查字法的应用 文章目录 前言一、网站截图二、操作思路三、代码1.创建数据发送及返回方法2.创建截取字符串中的数值的方法3.获取部首对应的编码4.获取特定部首的汉字运行效果截图前言 使用汉语字典查生字、生词,多用拼音查字法和部首查字法。以前都是用纸质…

【前端】TypeScript--未整理

概念 安装 npm install -g typescript 检查版本 tsc -v tsc 类型

代码随想录——二叉树的最小深度(Leetcode111)

题目链接 层序遍历 遍历整棵树&#xff0c;当找到一个叶子节点时&#xff0c;直接返回这个叶子节点的深度。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNod…

创新实训2024.05.12日志:建立易学知识库

1. 部署向量知识库到生产机 1.1. 基本环境配置 生产机上的环境还没有配好&#xff0c;这里我记录下需要配置的环境。 python 3.11.8 首先python环境最好选用3.11(准确来说支持3.8-3.11的任何release&#xff09;&#xff0c;我选择了python3.11.8 Python Release Python 3.…

vue框架学习--表单校验

在使用 Element UI&#xff08;一个常见的 Vue UI 组件库&#xff09;&#xff0c;要给 添加表单验证&#xff0c;Element UI 的表单验证通常通过 Form 和 FormItem 组件以及它们的 rules 属性来实现。下面是一个例子&#xff0c;展示如何给联系人字段添加表单验证&#xff1a;…