【軟考-架構】2.1、操作系統概述-進程管理-同步互斥

?資料&文章更新?
GitHub地址:https://github.com/tyronczt/system_architect

文章目錄

操作系統知識

重點:

  • 分頁存儲管理
  • I/O 軟件

操作系統概述

操作系統的4個特征是并發性、共享性、虛擬性和不確定性(異步性)。

嵌入式系統初始化過程按照自底向上、從硬件到軟件的次序依次為:片級初始化→板級初始化→系統初始化。

進程組成和狀態

運行、阻塞、就緒三態圖會考,五態圖不考,了解

💯考試真題

選項分析

  • 選項 A(時間片到) 是唯一與狀態選項 C(就緒、運行、等待和等待)匹配的組合。雖然 FCFS 傳統上無時間片,但題目提供此選項,可能是假設某種搶占式變體。
  • 選項 B 和 C 需要假設 P1 持有特定資源,但題目未說明,且結果狀態無匹配。
  • 選項 D 因 P1 終止后狀態定義問題,無法直接匹配。

因此,最合理的解釋是:P1 的時間片到期,被搶占,進入就緒隊列;P2 開始運行;P3 和 P4 狀態不變。

若 P1 時間片到,則 P1、P2、P3 和 P4 的狀態應分別為 就緒、運行、等待和等待。即選擇 A 和 C

前趨圖

進程資源圖

阻塞節點:某進程所請求的資源已經全部分配完畢。無法獲取所需資源,該進程被阻塞了無法繼續。

非阻塞節點:某進程所請求的資源還有剩余可以分配給該進程繼續運行。

當一個進程資源圖中所有進程都是阻塞節點時,即陷入死鎖狀態。

💯考試真題

問題1

判斷進程的阻塞狀態

P1 申請了R1和R2資源。若R1或R2已被其他進程占用(例如P3可能持有R1,或R2被其他未提及的進程占用),則P1會被阻塞。

P2 申請了R3資源。若R3不可用,則P2會被阻塞。

P3 申請了R1資源。若R1未被占用(假設當前R1空閑),則P3可以立即運行,是非阻塞節點。

結論:

C. P1、P2是阻塞節點,P3是非阻塞節點

問題2

判斷進程資源圖是否可以化簡及化簡順序

化簡可行性分析

P3是非阻塞節點,可以立即執行,執行后會釋放R1資源。

P1因等待R1和R2被阻塞,但P3釋放R1后,若R2可用(假設初始狀態R2空閑),則P1可以運行。

P1運行后釋放R2,使P2可以申請R3并執行。

因此,系統可以通過逐步釋放資源完成所有進程,不存在死鎖,可以化簡。

化簡順序

根據資源釋放的依賴關系:

P3(釋放R1)→ P1(釋放R2)→ P2(釋放R3)

結論

B. 可以化簡的,其化簡順序為P3→P1→P2

最終答案

阻塞狀態判斷:C

化簡順序判斷:B

注: 假設初始資源分配中R1未被占用(允許P3直接運行),且R2/R3初始可用。若資源初始狀態不同,結論可能變化,需結合圖中具體資源持有關系確認。

?【重點】進程同步與互斥?

臨界資源:各進程間需要以互斥方式對其進行訪問的資源。

臨界區:指進程中對臨界資源實施操作的那段程序。本質是一段程序代碼。

互斥:某資源(即臨界資源)在同一時間內只能由一個任務單獨使用,使用時需要加鎖,使用完后解鎖才能被其他任務使用:如打印機。

同步:多個任務可以并發執行,只不過有速度上的差異,在一定情況下停下等待,不存在資源是否單獨或共享的問題;如自行車和汽車。

互斥信號量:對臨界資源采用互斥訪問,使用互斥信號量后其他進程無法訪問,初值為1

同步信號量:對共享資源的訪問控制,初值一般是共享資源的數量。

P操作申請資源,S=S-1,若S>=0,則執行P操作的進程繼續執行;若S<0,則置該進程為阻塞狀態因為無可用資源),并將其插入阻塞隊列。

V操作釋放資源,S=S+1,若S>0,則執行V操作的進程繼續執行;若S<=0,則從阻塞狀態喚醒一個進程,并將其插入就緒隊列(此時因為缺少資源被P操作阻塞的進程可以繼續執行),然后執行V操作的進程繼續。

💯考試真題

問題1

a和b處的操作(P1和P2)

P1 是起始進程,執行后需觸發 P2 和 P3,因此需要釋放兩個信號量:

  • V(S1):通知P2可以運行。
  • V(S2):通知P3可以運行。

a處應填寫 V(S1)V(S2)。

P2 結束后需觸發 P4,因此釋放信號量:V(S3):通知P4可以運行。

b處應填寫 V(S3)。

答案:C. V(S1)V(S2) 和 V(S3)

問題2

c和d處的操作(P3)

P3 需要等待 P1 的信號量 S2(通過 P(S2)),執行后釋放 S4 以觸發 P5:

c處應填寫 P(S2)。

P3 結束后需觸發 P4,因此釋放信號量:V(S4):通知P5可以運行。

根據選項設計,P3的操作對應 P(S2) 和 V(S4)。

答案:B. P(S2) 和 V(S4)

問題3

e和f處的操作(P4和P5)

P4 執行后需觸發 P5,因此需要釋放信號量:V(S5)

e處應填寫 V(S5);

P5 需要等待 P3和P4都完成,即需兩個信號量操作:

P(S4):等待P3完成。

P(S5):等待P4完成。

f處應填寫 P(S4)P(S5)。

答案:B. V(S5) 和 P(S4)P(S5)

答案:C B D,如下圖

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

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

相關文章

基于開源庫編寫MQTT通訊

目錄 1. MQTT是什么&#xff1f;2. 開發交互UI3. 服務器核心代碼4. 客戶端核心代碼5. 消息訂閱與發布6. 通訊測試7. MQTT與PLC通訊最后. 核心總結 1. MQTT是什么&#xff1f; MQTT&#xff08;Message Queuing Terlemetry Transport&#xff09;消息隊列遙測協議&#xff1b;是…

在VScode下配置C/C++環境(tasks.json、launch.json、c_cpp_properties.json)

文章目錄 1. tasks.json、launch.json配置文件中參數(屬性)的說明2. tasks.json介紹3. launch.json介紹4. 直接生成tasks.json、launch.json配置文件的另外一種方式5. c_cpp_properties.json介紹6. 運行多個C/C文件7. 命令行方式編譯C 1. tasks.json、launch.json配置文件中參數…

ORB-SLAM2源碼學習(六):相機跟蹤(局部地圖跟蹤和關鍵幀創建)

目錄 1.局部地圖跟蹤 1.1 更新局部關鍵幀UpdateLocalKeyFrames 1.2 更新局部地圖點&#xff08;來自局部關鍵幀&#xff09;UpdateLocalPoints() 1.3 投影匹配 2. 對比四種跟蹤方式以及使用的投影匹配 3.關鍵幀創建 3.1 判斷是否需要創建新關鍵幀: NeedNewKeyFrame() 3…

PostgreSQL時間計算大全:從時間差到時區轉換(保姆級教程)

一、時間計算的三大核心場景 當你遇到這些需求時&#xff0c;本文就是你的救星&#x1f31f;&#xff1a; 倒計時功能&#xff1a;計算活動剩余天數 用戶行為分析&#xff1a;統計操作間隔時間 跨國系統&#xff1a;多時區時間統一管理 報表生成&#xff1a;自動計算同比/環…

Qt6.8.2創建WebAssmebly項目使用FFmpeg資源

Qt6新出了WebAssmebly功能&#xff0c;可以將C寫的軟件到瀏覽器中運行&#xff0c;最近一段時間正在研究這方便內容&#xff0c;普通的控件響應都能實現&#xff0c;今天主要為大家分享如何將FFmpeg中的功能應用到瀏覽器中。 開發環境&#xff1a;window11&#xff0c;Qt6.8.2…

DeepSeek V3 源碼:從入門到放棄!

從入門到放棄 花了幾天時間&#xff0c;看懂了DeepSeek V3 源碼的邏輯。源碼的邏輯是不難的&#xff0c;但為什么模型結構需要這樣設計&#xff0c;為什么參數需要這樣設置呢&#xff1f;知其然&#xff0c;但不知其所以然。除了模型結構以外&#xff0c;模型的訓練數據、訓練…

【leetcode hot 100 240】搜索二維矩陣Ⅱ

解法一&#xff1a;直接查找 class Solution {public boolean searchMatrix(int[][] matrix, int target) {for(int i0; i<matrix.length; i){for(int j0; j<matrix[0].length; j){if(matrix[i][j]>target){break;}if(matrix[i][j]target){return true;}}}return fal…

UE4 組件 (對話組件)

制作一個可以生成對話氣泡&#xff0c;顯示對話臺詞的簡單組件。這個組件要的變量&#xff1a;臺詞&#xff08;外部傳入&#xff09;。功能&#xff1a;開始對話&#xff08;生成氣泡UI&#xff09; &#xff0c;結束對話。 一、對話組件創建 二、開始對話事件 1、注意這里獲…

自動化同步多服務器數據庫表結構

當項目每次進行版本升級的時候&#xff0c;如果在這次迭代中涉及表結構變更&#xff0c;需要將不同的生產環境下&#xff0c;都需要同步表結構的DDL語句&#xff0c;比較麻煩&#xff0c;而且還有可能忘記同步腳本&#xff0c;導致生產環境報錯.... 該方案采用SpringBootMybat…

DeepSeek安全:AI網絡安全評估與防護策略

&#x1f345; 點擊文末小卡片 &#xff0c;免費獲取網絡安全全套資料&#xff0c;資料在手&#xff0c;漲薪更快 本文基于現有的公開資料&#xff0c;從企業資深網絡安全專家的視角&#xff0c;系統梳理DeepSeek技術在網絡安全領域的潛在貢獻與核心風險&#xff0c;并結合中國…

【論文筆記】Attentive Eraser

標題&#xff1a;Attentive Eraser: Unleashing Diffusion Model’s Object Removal Potential via Self-Attention Redirection Guidance Source&#xff1a;https://arxiv.org/pdf/2412.12974 收錄&#xff1a;AAAI 25 作者單位&#xff1a;浙工商&#xff0c;字節&#…

【powerjob】 powerjobserver注冊服務IP錯誤

1、問題&#xff1a;powerjobserver 4.3.6 的服務器上有多個網卡對應多個ip,示例 eth0 :IP1 &#xff0c;docker0:IP2 和worker 進行通信時 正確的應該時IP1 但是注冊顯示獲取的確實IP2,導致 worker 通過ip2和server通信&#xff0c;網絡不通&#xff0c;注冊不上 2、解決方案 …

視頻錄像機視頻通道是指什么

視頻錄像機的視頻通道是指攝像機在監控矩陣或硬盤錄像機設備上的視頻輸入的物理位置。 與攝像頭數量關系&#xff1a;在視頻監控系統中&#xff0c;有多少個攝像頭就需要多少路視頻通道&#xff0c;通道數量決定了視頻錄像機可接入攝像頭的數量&#xff0c;一般硬盤錄像機有4路…

面試150,數組 / 字符串

27. 移除元素 class Solution:def removeElement(self, nums: List[int], val: int) -> int:# 把不等于 val 的值移動到前面n len(nums)left 0for right in range(n):if nums[right] ! val:nums[left] nums[right]left 1return left26. 刪除有序數組中的重復項 只保留 1…

【江科大STM32】TIM輸入捕獲模式PWMI模式測頻率

一、輸入捕獲測頻率 接線圖&#xff1a; 測信號的輸入引腳為PA6&#xff0c;信號從PA6進來&#xff0c;待測的PWM信號也是STM32自己生成的&#xff0c;輸出引腳是PA0&#xff0c;所以接線這里直接用一根線將PA0引到PA6就可以了。 如果有信號發生器的話&#xff0c;也可以設置成…

湖倉一體化及冷、熱、實時三級存儲

一、湖倉一體化&#xff08;Lakehouse&#xff09; 湖倉一體化&#xff08;Lakehouse&#xff09;是數據湖&#xff08;Data Lake&#xff09;與數據倉庫&#xff08;Data Warehouse&#xff09;的結合&#xff0c;旨在解決傳統數據架構中數據孤島、存儲冗余、計算性能不足等問…

go切片定義和初始化

1.簡介 切片是數組的一個引用&#xff0c;因此切片是引用類型&#xff0c;在進行傳遞時&#xff0c;遵守引用傳遞的機制。切片的使用和數組類似&#xff0c;遍歷切片、訪問切片的元素和切片的長度都一樣。。切片的長度是可以變化的&#xff0c;因此切片是一個可以動態變化的數…

游戲引擎學習第138天

倉庫:https://gitee.com/mrxiao_com/2d_game_3 資產&#xff1a;game_hero_test_assets_003.zip 發布 我們的目標是展示游戲運行時的完整過程&#xff0c;從像素渲染到不使用GPU的方式&#xff0c;我們自己編寫了渲染器并完成了所有的工作。今天我們開始了一些新的內容&#…

畢業項目推薦:基于yolov8/yolov5/yolo11的暴力行為檢測識別系統(python+卷積神經網絡)

文章目錄 概要一、整體資源介紹技術要點功能展示&#xff1a;功能1 支持單張圖片識別功能2 支持遍歷文件夾識別功能3 支持識別視頻文件功能4 支持攝像頭識別功能5 支持結果文件導出&#xff08;xls格式&#xff09;功能6 支持切換檢測到的目標查看 二、數據集三、算法介紹1. YO…

docker中kibana啟動后,通過瀏覽器訪問,出現server is not ready yet

問題&#xff1a;當我在瀏覽器訪問kibana時&#xff0c;瀏覽器給我報了server is not ready yet. 在網上試了很多方法&#xff0c;都未能解決&#xff0c;下面是我的方法&#xff1a; 查看kibana日志&#xff1a; docker logs -f kibana從控制臺打印的日志可以發現&#xff…