精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

操作系統中進程同步介紹

麥辣雞腿堡 ? 來源:盼盼編程 ? 作者:晨夢思雨 ? 2023-10-08 15:42 ? 次閱讀

進程同步

圖片

動畫展示,臨界區的資源,在某個時刻,只能有一個進程在使用。

臨界資源

一旦有對資源的共享,就必然涉及競爭限制。

臨界資源用來表示一種,公共資源或者說是共享數據,可以被多個線程使用。

但是每一次,只能有一個線程使用它。一旦臨界資源被占用,其他線程,要想使用這個資源,就必須等待。

進程同步的主要任務是,對多個相關進程,在執行次序上進行協調,以使并發執行的諸進程之間,能有效地共享資源和相互合作,從而使程序的執行,具有可再現性。

臨界區

有了臨界資源的概念,就很容易理解臨界區的概念。在程序中,所有的操作,都是通過代碼執行的,訪問臨界資源的那段代碼就是臨界區

處理競爭或者合作依賴導致的制約

空閑讓進:對于臨界資源,如果空閑沒有被使用,誰來了之后都可以使用

忙則等待:如果臨界資源正在被使用,那么其他后來者就需要進行等待。

有限等待:要求訪問臨界資源的進程,應保證有限時間內,能進入自己的臨界區,自己不能傻傻的等

讓權等待:如果無法進入自己的臨界區時,應立即釋放處理機,而不能占著CPU死等,你死等就算了,別人卻也不能用了。

鎖就是對資源施加控制,鎖指的是一種控制權。

當進入臨界區時,我們稱之為獲得鎖,獲得鎖之后就可以訪問臨界資源。

其他線程想要進入臨界區,也需要先獲得鎖。

當前線程結束后,將會釋放鎖,別的線程就可以獲取這個資源的鎖。

死鎖

鎖表示一種控制權,對臨界資源的訪問權限。

下面動畫展示,兩個小人,都要使用資源1和資源2,才能達到對面。左邊小人戰友資源1,右邊小人占有資源2。他們占有當前資源,再去獲取對方的資源時,就會產生死鎖的情況。

圖片

如果臨界資源不止一個,就可能出現:需要先后訪問兩種臨界資源A和B,thread1獲得了A線程的鎖之后,等待獲得B的鎖,但是thread2獲得了資源B的鎖,在等待A資源的鎖,這就出現了互相等待的情況。

解決方案

AND型信號量機制就是用于解決這種多共享資源下的同步問題的。

將進程在整個運行過程中,需要的所有資源,一次性全部地分配給進程,待進程使用完后再一起釋放。

只要尚有一個資源未能分配給進程,其它所有可能為之分配的資源,也不分配給它。

也就是對,若干個臨界資源的分配,采取原子操作方式:要么把它所請求的資源全部分配到進程,要么一個也不分配。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 操作系統
    +關注

    關注

    37

    文章

    6742

    瀏覽量

    123192
  • 線程
    +關注

    關注

    0

    文章

    504

    瀏覽量

    19651
  • 進程
    +關注

    關注

    0

    文章

    202

    瀏覽量

    13947
收藏 人收藏

    評論

    相關推薦

    #操作系統原理 進程同步背景

    操作系統
    電子技術那些事兒
    發布于 :2022年10月17日 22:40:20

    Windows和Linux同步機制4.6.2Linux父子進程同步(1)#操作系統

    操作系統
    學習硬聲知識
    發布于 :2023年05月25日 18:16:56

    Windows和Linux同步機制4.6.2Linux父子進程同步(2)#操作系統

    操作系統
    學習硬聲知識
    發布于 :2023年05月25日 18:17:48

    進程同步(1)(1)#操作系統

    操作系統
    學習硬聲知識
    發布于 :2023年06月01日 12:07:52

    進程同步(1)(2)#操作系統

    操作系統
    學習硬聲知識
    發布于 :2023年06月01日 12:08:32

    進程同步(2)(1)#操作系統

    操作系統
    學習硬聲知識
    發布于 :2023年06月01日 12:09:11

    進程同步(2)(2)#操作系統

    操作系統
    學習硬聲知識
    發布于 :2023年06月01日 12:09:37

    進程同步(2)(3)#操作系統

    操作系統
    學習硬聲知識
    發布于 :2023年06月01日 12:10:14

    操作系統中進程調度策略有哪幾種

    操作系統中進程調度策略有哪幾種? 求大神指點啊
    發表于 11-07 21:18

    進程同步與互斥介紹

    進程同步是指進程間一種直接的協同工作關系,是一些進程相互合作,共同完成一項任務。進程間的直接相互作用構成進程
    發表于 08-06 06:12

    操作系統進程同步

    互相協作的進程之間有共享的數據,于是這里就有一個并發情況下,如何確保有序操作這些數據、維護一致性的問題,即進程同步
    發表于 08-07 06:35

    操作系統 : 進程與線程

    本文為《現代操作系統》的讀書筆記目錄程序順序執行與并發執行進程的定義進程的狀態轉換進程控制塊進程控制程序順序執行與并發執行
    發表于 07-01 10:49

    操作系統講解(操作系統課件)

    操作系統講解(操作系統課件) 第五章 文件管理.doc第六章 設備管理(部分).doc第二章 進程管理.doc第3章 并發控制——互斥與同步.doc
    發表于 05-16 18:06 ?0次下載

    嵌入式Linux中的進程同步無競爭態讀寫

    的問題。關鍵詞 嵌入式 Linux進程同步 無競爭態讀寫引 言 在對實時采集更新的數據進行處理時,往往會遇到數據更新速度與數據處理的速度...  摘要 Linux作為一個開源、穩健的操作系統,支持多種
    發表于 04-02 14:43 ?236次閱讀

    Python中進程操作

    進程是計算機中的程序關于某數據集合的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。
    的頭像 發表于 08-19 09:45 ?1196次閱讀
    Python<b class='flag-5'>中進程</b>的<b class='flag-5'>操作</b>