王道《操作系统》学习(二)——进程管理(三)

news2024/10/2 1:30:19

2.3.1 进程同步、进程互斥

(1)进程同步

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

(2)进程互斥

在这里插入图片描述

  • “同时”指的是宏观上的同时,微观上可能这些进程是交替地在访问这些共享资源的
    在这里插入图片描述
  • 当“上锁”后,其他的进程想要访问临界资源时,在进入区进行检查就会发现此时已经有一个进程正在访问临界资源,那么其他的进程就会被阻止进入临界区访问临界资源
  • 要通过打印机打印输出的话,对打印机执行写操作这段代码就需要写在临界区里

在这里插入图片描述

  • 忙等待:这个进程暂时没办法往下推进了,但是这个进程还一直占用着处理机,使处理机一直处于忙碌的状态,没有办法给别的进程进行服务
    在这里插入图片描述

2.3.2 实现进程互斥的软件实现方法

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

(1)单标志法

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

(2)双标志先检查法

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

(3)双标志后检查法

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

(4)Peterson 算法

在这里插入图片描述

  • 尽管各个进程是并发运行的,但是它们对turn值的设置肯定有先后顺序,最后是谁设置了turn值,就说明最后是谁作出了“谦让”的动作,这个进程就会失去行动的优先权,它就会让对方优先进入临界区

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

  • 如果此时进程进不了临界区,那么就应该立即释放处理机资源而不是继续在CPU上跑,但是该算法的处理方式是让进程一直被卡在while循环,其实自己还一直在CPU上执行,不断地检查while循环的条件是否满足,所以虽然这个进程此时进不了临界区,但它依然会占用CPU资源,故没有满足让权等待的原则
    在这里插入图片描述

2.3.3 实现进程互斥的硬件实现方法

在这里插入图片描述

(1)中断屏蔽方法

在这里插入图片描述

  • 关中断指令只对执行关中断指令的处理机有用

(2)TestAndSet(TS指令/TSL指令)

在这里插入图片描述

(3)Swap指令(XCHG指令)

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

2.3.4 互斥锁

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

2.3.5 信号量机制

在这里插入图片描述

(1)什么是信号量机制

在这里插入图片描述

(2)信号量机制—整型信号量

在这里插入图片描述

  • 用原语来实现“检查”和“上锁”,避免了双标志先检查法那种两个进程同时进入临界区的问题
  • 如果一个进程暂时进不了临界区,它会一直占用处理机循环检查从而导致忙等

(3)信号量机制—记录型信号量

在这里插入图片描述

  • 在这种信号量当中它还会保持一个指向等待这种系统资源的等待队列,指向等待它的那些进程
  • 如果减1之后导致 S.value<0,就说明它在减1之前其实已经没有这种系统资源来分配给当前申请这种资源的进程了,进程主动地执行block原语把自己阻塞,放弃处理机并且把它挂到这个信号量对应的等待队列当中
  • 如果加1之后 S.value<=0,就说明在这个进程释放资源之前依然还有一些进程是处于等待队列的,所以就需要再调用wakeup原语从信号量对应的等待队列当中唤醒其中的某一个进程(一般是队头的进程),让它从阻塞态回到就绪态,并且把它所申请所等待的资源分配给它
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.3.6 用信号量实现进程互斥、同步和前驱关系

在这里插入图片描述

(1)实现进程互斥

在这里插入图片描述

(2)实现进程同步

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

(3)实现前驱关系

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

参考

操作系统笔记(王道考研)第二章 进程管理(2)CSDN:CS_Lee_
王道考研-操作系统-B站

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js修改png图片颜色

思路是利用canvas 改变图片颜色 /*** 将png图片转成目标颜色* param imgUrl 可传入图片URL 或者 Base64* param RGBArr 要换成的目标颜色RGB 数组格式[R,G,B]* param Functon callback回调*/ function changeImageColor(imgUrl, RGBArr, callback) {let image new Image();im…

人工智能大模型中token的理解

“token”是当前语言类模型的数据单位。当前的自回归语言模型是根据 token 来作为单位进行数据处理和计算&#xff0c;分词&#xff08;tokenization&#xff09;就是将句子、段落、文章这类型的长文本分解为以 token 为单位的数据结构&#xff0c;把文本分词后每个词表示成向量…

小白入门Java第一天

当你对 Java语言有了一些了解后&#xff0c;你就可以开始着手学习Java了。 作为你的Java 学习第一天&#xff0c;所需掌握内容如下述目录&#xff1a; 文章目录 1. 注释1. 三种注释1.1 单行注释1.2 多行注释1.3 文档注释 2. 标识符和关键字2.1 标识符的组成&#xff1a;2.2 那…

C++11新特性lambda 表达式

lambda 表达式 lambda 表达式 lambda 表达式 Lambda 表达式的基本语法是&#xff1a;[] (参数列表) -> 返回值类型 {函数体}。 方括号([])表示捕获列表&#xff0c;用来指定在 lambda 表达式中可以访问的外部变量。 参数列表和返回值类型与普通函数的参数列表和返回值类型相…

写字楼门禁如何管理?最最新方法来了!

在现代社会&#xff0c;随着城市化和商务发展的蓬勃推进&#xff0c;大厦写字楼作为繁忙的商业中心和办公场所&#xff0c;其安全管理和员工考勤变得尤为重要。为了应对这一挑战&#xff0c;人脸门禁考勤机应运而生&#xff0c;成为大厦写字楼的安全保障和工时管理的关键工具。…

翻译公司提供哪些口译服务,北京翻译哪里比较专业?

我们知道&#xff0c;口译服务是一种即席的现场翻译活动&#xff0c;在涉外沟通交流中起着至关重要的作用。那么&#xff0c;如何做好口译工作&#xff0c;翻译公司提供哪些口译服务&#xff0c;北京翻译哪里比较专业&#xff1f; 据了解&#xff0c;相对于笔译&#xff0c;口译…

《吐血整理》高级系列教程-吃透Fiddler抓包教程(27)-Fiddler如何抓取Android7.0以上的Https包-中篇

1.简介 上一篇中&#xff0c;讲解和分享了一些如何快速解决的临时应急的的方法&#xff0c;但是小伙伴或者童鞋们是不是觉得是一些头痛医头脚痛医脚的方法&#xff0c;治标不治本&#xff0c;或者是一些对于测试人员实现起来比较有一定难度。所以今天宏哥再介绍和分享一下治本…

长相思·罚站墙Vue

优化前 看效果图 Vue长相思 刚学Vue&#xff0c;正好在追剧&#xff0c;看到这个小案例觉得挺好玩的&#xff0c;第一天学&#xff0c;代码太简陋了 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta…

海外版金融理财系统源码 国际投资理财系统源码 项目投资理财源码

海外版金融理财系统源码 国际投资理财系统源码 项目投资理财源码

RF手机天线仿真介绍(三):调谐开关分析

目录 简介调谐开关RON、COFF的影响分析不同位置的调谐器件coff影响分析不同位置的调谐器件Ron影响分析Coff引起谐振的解决示例 调谐开关VPEAK分析调谐开关Vpeak示例 简介 孔径调谐能调节天线的电长度&#xff0c;可将其谐振点切换到所需支持的工作频段。天线孔径调谐器通过改变…

GPS/北斗RTK差分定位系统的原理以及应用领域

导语&#xff1a;现代定位技术在国内外的发展与应用越来越广泛&#xff0c;其中GPS和北斗是两大被广泛使用的全球卫星定位系统。本文将介绍GPS/北斗RTK差分定位系统的原理以及其在各个领域的应用。 一、GPS/北斗RTK差分定位系统的原理 GPS/北斗RTK差分定位系统&#xff0c;即全…

机器学习中的工作流机制

机器学习中的工作流机制 在项目开发的时候&#xff0c;经常需要我们选择使用哪一种模型。同样的数据&#xff0c;可能决策树效果不错&#xff0c;朴素贝叶斯也不错&#xff0c;SVM也挺好。有没有一种方法能够让我们用一份数据&#xff0c;同时训练多个模型&#xff0c;并用某种…

基于STM32103移植FreeRTOS

目录 一、FreeRTOS协议栈下载 二、准备工程文件与协议代码 三、移植FreeRTOS协议栈 一、FreeRTOS协议栈下载 1、官网下载 FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Internet of Things extensionshttps://www.freertos.or…

SQL-每日一题【1193. 每月交易 I】

题目 Table: Transactions 编写一个 sql 查询来查找每个月和每个国家/地区的事务数及其总金额、已批准的事务数及其总金额。 以 任意顺序 返回结果表。 查询结果格式如下所示。 示例 1: 解题思路 1.题目要求我们查找每个月和每个国家/地区的事务数及其总金额、已批准的事务数…

Flutter(八)事件处理与通知

1.原始指针事件处理 一次完整的事件分为三个阶段&#xff1a;手指按下、手指移动、和手指抬起&#xff0c;而更高级别的手势&#xff08;如点击、双击、拖动等&#xff09;都是基于这些原始事件的。 Listener 组件 Flutter中可以使用Listener来监听原始触摸事件 Listener({…

Go语言开发者的Apache Arrow使用指南:读写Parquet文件

Apache Arrow是一种开放的、与语言无关的列式内存格式&#xff0c;在本系列文章[1]的前几篇中&#xff0c;我们都聚焦于内存表示[2]与内存操作[3]。 但对于一个数据库系统或大数据分析平台来说&#xff0c;数据不能也无法一直放在内存中&#xff0c;虽说目前内存很大也足够便宜…

FuncGPT竟然限免?!速来体验全球首个AIGF!

近日&#xff0c;飞算SoFlu软件机器人重磅推出全新功能——FuncGPT&#xff08;慧函数&#xff09;。FuncGPT&#xff08;慧函数&#xff09;是一款函数AI生产器&#xff0c;它能够根据用户的需求快速生成 Java 语言的函数代码。FuncGPT&#xff08;慧函数&#xff09;拥有强大…

行政资产管理信息系统

行政资产管理信息系统是通过专业设计开发的资产管理解决方案&#xff0c;旨在为企业建立和完善资产管理体系。该系统可以有效地控制资产的购买和应用&#xff0c;从而节省资金&#xff0c;完成资产的有效管理。   资产管理信息系统的核心功能是统一资产管理&#xff0c;可以…

java 版本企业招标投标管理系统源码+多个行业+tbms+及时准确+全程电子化

​ 功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查…

kernel pwn入门

Linux Kernel 介绍 Linux 内核是 Linux 操作系统的核心组件&#xff0c;它提供了操作系统的基本功能和服务。它是一个开源软件&#xff0c;由 Linus Torvalds 在 1991 年开始开发&#xff0c;并得到了全球广泛的贡献和支持。 Linux 内核的主要功能包括进程管理、内存管理、文…