【一篇搞懂】操作系統期末大題:進程同步與互斥 PV操作

文章目錄

  • 一、前言🚀🚀🚀
  • 二、正文:??????
      • 題型一:利用信號量實現前驅關系
      • 題型二:利用信號量實現資源同步與互斥


一、前言🚀🚀🚀

在這里插入圖片描述


本文簡介:這是一篇基于b站up主chenchen的小馬的一篇個人筆記,視頻鏈接https://www.bilibili.com/video/BV1XG4y1V7M9/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=12384b61e0b367d92ce270fa4eb8fb68! 講的真的很通俗易懂,所以我便做了如下的筆記。


二、正文:??????

題型一:利用信號量實現前驅關系

??給出下圖,讓你利用信號量實現前驅關系

在這里插入圖片描述

解題方法:
①有n個箭頭,就設n個信號量
②從根節點開始
③有n個前驅節點,就寫n個wait(),有n個后繼節點,就寫n個signal()

#代碼塊
Semaphore a,b,c,d,e,f,g = 0,0,0,0,0,0,0  # 聲明信號量beginparbeginbegin S1;signal(a);signal(b);end;begin wait(a);S2;signal(c);signal(d);end;begin wait(b);S3;signal(e);end;begin wait(c);S4;signal(f);end;begin wait(d);S5;signal(g);end;begin wait(e);wait(f);wait(g);S6;end;parendend

??

題型二:利用信號量實現資源同步與互斥

題:輸入進程Input和計算進程Compute共享大小為n的緩沖區,輸入進程負責讀入數據,并把輸入數據放到緩沖區中,計算進程負責從緩沖區中取出數據進行計算,請用信號量機制描述上述進程間的同步關系。
解題步驟:
①有幾類進程?(1類:競爭關系;多類:競爭和協作關系)
②確定臨界資源
互斥信號量mutex初值為1,資源信號量初值看題目(大小為n的緩沖區)
④打框架,每個進程做什么事
⑤補充P、V操作(先申請資源信號量,再申請互斥信號量。

解:①2類進程:輸入Input、計算compute
②緩沖區  ③mutex=1;empty=n;full=0;
# 代碼塊
Semaphore mutex=1;empty=n;full=0;parbeginInput(){while(true){wait(empty);     # 先申請資源信號量wait(mutex);     # 后申請互斥信號量讀數據放緩沖區     # 訪問臨界資源signal(mutex);signal(full);}}compute(){while(true){wait(full); wait(mutex);取數據進行計算     # 訪問臨界資源signal(mutex);signal(empty);}}parend

注意: 上面代碼中,Input()函數中:剛開始wait(empty); 先申請空的緩沖區后會變成滿的,所以釋放的時候是釋放signal(full);
第二個函數compute()同理,先申請full(這里已經是滿的緩沖區),然后完了再釋放signal(empty)。

??
??
??
Alt

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38420.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38420.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38420.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

無人機遠程控制:北斗短報文技術詳解

無人機(UAV)技術的快速發展和應用,使得遠程控制成為了一項關鍵技術。無人機遠程控制涉及無線通信、數據處理等多個方面,其中北斗短報文技術以其獨特的優勢,在無人機遠程控制領域發揮著重要作用。本文將詳細解析無人機遠…

2024-06-26 base SAS programming 學習筆記6(proc report)

proc report可以生成報表,基本格式: proc report data options; (options 可以是windows/WD表示將結果輸出至單獨的報表窗口,或者nowindows/nowd將結果輸出至HTML結果窗口) column variables ;(篩選待輸出的變量,變量名與變量名之…

09_計算機網絡模型

目錄 OSI/RM七層模型 OSI/RM七層模型 各層介紹及硬件設備 傳輸介質 TCP/IP協議簇 網絡層協議 傳輸層協議 應用層協議 完整URL的組成 IP地址表示與計算 分類地址格式 子網劃分和超網聚合 無分類編址 特殊含義的IP地址 IPv6協議 過渡技術 OSI/RM七層模型 OSI/RM七…

區間動態規劃——最長回文子序列長度(C++)

把夜熬成粥,然后喝了它。 ——2024年7月1日 書接上回:區間動態規劃——最長回文子串(C)-CSDN博客,大家有想到解決辦法嗎? 題目描述 給定一個字符串s(s僅由數字和英文大小寫字母組成&#xff0…

微積分-導數3(微分法則)

常見函數的導數 常量函數的導數 d d x ( c ) 0 \frac{d}{dx}(c) 0 dxd?(c)0 常量函數的圖像是一條水平線 y c y c yc,它的斜率為0,所以我們必須有 f ′ ( x ) 0 f(x) 0 f′(x)0。從導數的定義來看,證明也很簡單: f ′ …

在node.js環境中使用web服務器http-server運行html靜態文件

http-server http-server是一個超輕量級web服務器,它可以將任何一個文件夾當作服務器的目錄供自己使用。 當我們想要在服務器運行一些代碼,但是又不會配置服務器的時候,就可以使用http-server就可以搞定了。 使用方法 因為http-server需要…

Linux Vim 進階教程

Linux Vim 進階教程 1. 簡介 Vim(Vi IMproved)是一款功能強大的文本編輯器,廣泛應用于Linux和Unix系統中。本教程將深入探討Vim的高級功能和技巧,幫助您提升編輯效率和使用體驗。 2. Vim 配置和插件管理 2.1 配置文件 .vimrc …

QT拖放事件之三:自定義拖放操作-利用QDrag來拖動完成數據的傳輸

1、運行效果 1)Qt::MoveAction 2)Qt::CopyAction 2、源碼 #include "Widget.h" #include "ui_Widget.h" #include "common.h"

二級建造師(建筑工程專業)考試題庫,高效備考!!!

16.在施工合同履行期間發生的變更事項中,屬于工程變更的是()。 A.質量要求變更 B.分包單位變更 C.合同價款變更 D.相關法規變更 答案:A 解析:工程變更一般是指在工程施工過程中,根據合同約定對施工的…

練習 String翻轉 注冊處理 字符串統計

p493 將字符串中指定部分進行翻轉 package chapter;public class reverse {public static void main(String[] args) {String str "abcdef";str reverseMethod(str,0,3);System.out.println(str);}public static String reverseMethod(String str, int start, in…

恭賀甘露海首屆道教南宗養生論壇暨天臺山第十屆道醫大會圓滿成功

6月13日,首屆中國道教南宗養生論壇暨天臺山第十屆道醫學術交流大會在浙江新昌重陽宮千人會場隆重開幕。 本次大會主辦單位:天臺山桐柏宮 中國民間中醫醫藥研究開發協會道醫學分會, 承辦單位:新昌縣重陽宮 ,協辦單位&…

網絡基礎:靜態路由

靜態路由是一種由網絡管理員手動配置的路由方式,用于在網絡設備(如路由器或交換機)之間傳遞數據包。與動態路由不同,靜態路由不會根據網絡狀態的變化自動調整。 不同廠商的網絡設備在靜態路由的配置上有些許差異;下面…

什么是以太坊合約ABI(Application Binary Interface)

文章目錄 什么是以太坊合約ABI一、背景二、ABI(Application Binary Interface)三、怎么生成ABIsolc命令 四、abi內容FunctionEvent函數選擇器 五、參考 什么是以太坊合約ABI 一、背景 以太坊的智能合約程序,是在以太坊虛擬機(Et…

網絡構建關鍵技術_2.IPv4與IPv6融合組網技術

互聯網數字分配機構(IANA)在2016年已向國際互聯網工程任務組(IETF)提出建議,要求新制定的國際互聯網標準只支持IPv6,不再兼容IPv4。目前,IPv6已經成為唯一公認的下一代互聯網商用解決方案&#…

安卓開發app-基礎的java項目構建補充知識

安卓開發app-基礎的java項目構建補充知識!上一次分享了基礎的項目構建,但是還遺漏了一些基礎的內容。今天補充完整。 首先,是關于項目的一些配置文件的信息。 第一個配置文件:{setting.gradle} 國內阿里云倉庫地址信息&#xff1…

定制型汽車傳感器在汽車中的應用

定制型汽車霍爾傳感器在汽車中的應用及功能 曲軸和凸輪軸位置傳感器: 這些傳感器用于監測發動機的曲軸和凸輪軸的位置,幫助發動機管理系統精確控制點火時機和燃油噴射,提高發動機效率。 變速器控制系統: 在自動變速器中&#xf…

Linux虛擬串口設置

VSPD虛擬串口軟件安裝及使用 一、軟件安裝 1、Configure Virtual Serial Port Driver(VSPD) 1.1 首先下載 Configure Virtual Serial Port Driver(VSPD) 軟件 鏈接:https://pan.baidu.com/s/11aGc2aHGUew5QZ0XhaWXJw 提取碼:rmd7 1.2 安裝時注意將…

第20集《大乘起信論》

請大家打開《講義》第三十九頁。我們這一科是講未二、更約因緣互相成辦。 這地方是說,既然我們內心的本覺是沒有差別的,本覺在內心當中,白天、晚上不斷的熏習我們,但是為什么每一個人的成佛之道,會有這么多差別的因緣…

局域網必備文件傳輸神器,吾愛再出精品,支持電腦、手機無縫對接!

今天給大家帶來的不是一般的干貨,而是一款讓阿星我愛不釋手的局域網文件傳輸神器,而且是吾愛大佬出品。無論是工作還是生活,它都能給你帶來極大的便利。這年頭,誰還沒個跨設備傳輸文件的需求呢? 手機、電腦、平板&…

江大白 | 何凱明入職 MIT,首次帶隊提出Diffusion Loss,擴散模型思想提升生成速度和效果 !

本文來源公眾號“江大白”,僅用于學術分享,侵權刪,干貨滿滿。 原文鏈接:何凱明入職 MIT,首次帶隊提出Diffusion Loss,擴散模型思想提升生成速度和效果 ! 導讀 在圖像生成領域中,作…