天天看點

作業系統學習筆記之程序同步一、競争條件和臨界區二、信号量三、生産者消費者問題四、讀寫者問題五、哲學家問題六、管程

作業系統學習筆記之程序同步

  • 一、競争條件和臨界區
  • 二、信号量
  • 三、生産者消費者問題
  • 四、讀寫者問題
  • 五、哲學家問題
  • 六、管程

一、競争條件和臨界區

  • 資料不一緻性
多個程序并發或并行執行
	每個程序可以在任何時候被中斷
	僅僅程序的部分代碼片段可連續執行
共享資料并發/并行通路:資料不一緻性
	又稱不可在現性:同一程序在同一批資料上多次運作的結果不一樣
	解決方法:同步(互斥)機制
           
  • 競争條件

    多個程序并發通路同意共享資料的情況(共享資料的最終結果取決于最後操作的程序)

    防止競争條件方法:并發程序同步或互斥

  • 同步和互斥

    同步:協調程序的執行次序,保證資料一緻性

    互斥:程序排他性地運作某段代碼,任何時候隻有一個程序能夠運作

  • 臨界資源

    一次隻允許一個程序使用的資源

    又稱互斥資源、獨占資源或共享變量

  • 臨界區

    涉及臨界資源的代碼片段,也就是說臨界區就是代碼片段

    每個程序有一個或多個臨界區

    臨界區的設定方法由程式員确定

  • 臨界區使用準則
互斥:
	如果有程序在某個臨界區執行,其他程序将被排斥在該臨界區外
	有相同臨界資源的臨界區都需互斥
	無相同臨界資源的臨界區不需互斥
有空讓進
有限等待
           

二、信号量

三、生産者消費者問題

四、讀寫者問題

五、哲學家問題

六、管程

繼續閱讀