微吼云上線多路互動直播服務 加速多場景互動直播落地
986
2022-05-29
導圖總覽
進程管理
概述
操作系統的作用:通過資源管理提高計算機系統的效率;改善人機界面向用戶提供友好的工作環境
特征:并發性、共享性、虛擬性、不確定性
功能:進程管理、存儲管理、文件管理、設備管理、作業管理
分類:批處理操作系統、分時操作系統(輪流使用CPU工作片)、實時操作系統(快速相應)、網絡操作系統、分布式操作系統(物理分散的計算機互聯系統)、微機操作系統(Windows)、嵌入式操作系統
計算機啟動流程:BIOS->主引導記錄->操作系統
進程的組成和狀態
組成:進程控制塊PCB(唯一標志)、程序(描述進程要做什么)、數據(存放進程執行時所需數據)
三態圖:
前趨圖:用來表示哪些任務可以并行執行,哪些任務之間有順序關系
ABC可以并行執行,但是必須ABC都執行完成之后,才能執行D
進程資源圖:用來表示進程和資源之間的分配和請求關系
阻塞節點:某進程所請求的資源已經全部分配完畢,無法獲取所需資源,該進程被阻塞了無法繼續(P2)
非阻塞節點:某進程所請求的資源還有剩余,可以分配給該進程繼續運行。如P1、P3
當一個進程資源圖中所有進程都是阻塞節點時,即陷入死鎖狀態
進程資源圖化簡順序:從非阻塞節點開始化簡,并且節點使用完資源后需要釋放資源,按順序查看下個節點的資源數是否符合
同步與互斥
互斥:某資源(臨界資源)在同一時間內只能由一個任務單獨使用,使用時需要加鎖,使用完后解鎖才能被其他任務使用:如打印機
同步:多個任務可以并發執行,只不過有速度上的差異,在一定情況下停下等待,不存在資源是否單獨或共享問題;如自行車、汽車
臨界資源:個進程間需要以互斥方式對其進行訪問的資源
臨界區:指進程中對臨界資源實施操作的那段程序(本質是一段代碼)
互斥信號量:對臨界資源采用互斥訪問,使用互斥信號量后其他進程無法訪問,初值為1
同步信號量:對共享資源的訪問控制,初值一般是共享資源的數量
信號量操作
P操作:申請資源,S=S-1,若S>=0,則執行P操作的進程繼續執行;若S<0,則置該進程為阻塞狀態(因為無可用資源),并將其插入阻塞隊列
V操作:釋放資源,S=S+1,若S>0,則執行V操作的進程繼續執行;若S<=0,則從阻塞狀態喚醒一個進程,并將其插入就緒隊列(此時因為減少資源被P操作阻塞的進程可以繼續執行),然后執行V操作的進程繼續。
死鎖
當一個進程在等待永遠不可能發生的事件時,就會產生死鎖,若系統中有多個進程處于死鎖狀態,就會造成系統死鎖
死鎖產生的四個必要條件:
? 資源互斥
? 每個進程占有資源并等待其他資源
? 系統不能剝奪進程資源
? 進程資源圖是一個環路
死鎖避免:一般采用銀行家算法,提前計算出一條不會發生死鎖的資源分配方法,才分配資源,否則不分配資源
死鎖檢測:允許死鎖發生,但系統定時運行一個檢測死鎖的程序,若檢測到系統中發生死鎖,則設法解除
死鎖解除:即死鎖發生后的解除方法,如強制剝奪資源、撤銷進程
死鎖計算:系統內有n個進程,每個進程都需要R個資源,那么其發生死鎖的最大資源數為n*(R-1)。其不發生死鎖的最小資源數為n*(R-1)+1
線程
傳統的進程有兩個屬性:可擁有資源的獨立單位;可獨立調度和分配的基本單位
線程:是獨立調度的最小單位,可以共享進程的公共數據、全局變量、代碼、文件等資源,但不能共享線程擁有的資源
進程:是擁有資源的最小單位
Java 任務調度 軟件開發
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。