日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【学习笔记】第二章——进程同步、进程互斥、进程互斥的硬件/软件实现方法

發(fā)布時間:2024/7/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【学习笔记】第二章——进程同步、进程互斥、进程互斥的硬件/软件实现方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一. 進程同步 && 進程互斥
      • 四個區(qū)域
      • 四個原則
      • 總結(jié):
  • 二. 進程互斥的軟件實現(xiàn)方法
      • 1)單標志法
      • 2)雙標志先檢查法
      • 3)雙標志后檢查法
      • 4)Peterson 算法
      • 總結(jié)
  • 三. 進程互斥的硬件實現(xiàn)方法
      • 1)中斷屏蔽方法
      • 2)TestAndSet 指令
      • 3)Swap 指令
      • 總結(jié)

一. 進程同步 && 進程互斥

  • 由于進程有異步性,因此需要有同步存在。
    同步也叫直接制約關(guān)系,指為完成某任務(wù)而建的兩或多個進程,需要在某些位置協(xié)調(diào)各自的工作次序而產(chǎn)生的制約關(guān)系。進程間的直接制約關(guān)系就是源于他們之間的相互合作。

  • 各個并發(fā)進程總要共享一些系統(tǒng)資源(內(nèi)存、打印機等)

  • 兩種資源共享方式互斥 && 同時

  • 互斥共享方式:同一時間段,只允許一個進程訪問

  • 同時共享方式:同一時間段,可允許多個進程訪問

  • 臨界資源:同一時間段,只允許一個進程使用的資源(攝像頭、內(nèi)存緩沖區(qū)等)

  • 對臨界資源的訪問,必須互斥地進行

四個區(qū)域

  • 進入?yún)^(qū):負責檢查是否可以進入臨界區(qū);可進則設(shè)置正在訪問臨界資源的標志(上鎖),以阻止其他進程同時進入臨界區(qū)。
  • 臨界區(qū):訪問臨界資源的代碼段
  • 退出區(qū):負責解除正在訪問臨界資源的標志(解鎖)
  • 剩余區(qū):做其他處理

四個原則

  • 四個原則:空閑讓進、忙則等待、有限等待、讓權(quán)等待

總結(jié):

二. 進程互斥的軟件實現(xiàn)方法

1)單標志法

  • 每個進程進入臨界區(qū)的權(quán)限,只能被另一個進程賦予
  • 可以實現(xiàn):同一時刻最多允許一個進程訪問臨界區(qū)
  • 問題:違背空閑讓進原則

2)雙標志先檢查法

  • 思想:用布爾型數(shù)組,標記各進程想進入臨界區(qū)的意愿
  • 各進程進入臨界區(qū)前,先檢查當前有沒有別的進程想進入臨界區(qū),無則設(shè)flag[i],然后訪問
  • 問題:違反忙則等待原則
  • 原因:進入?yún)^(qū)的檢查 && 上鎖無原子性

3)雙標志后檢查法

  • 結(jié)合前兩個算法而成
  • 解決了忙則等待的問題,但是違反了空閑讓進有限等待。會產(chǎn)生饑餓

4)Peterson 算法

  • 讓讓讓!解決了之前的問題
  • trun:優(yōu)先讓該進程進入臨界區(qū)
  • 問題:未遵循讓權(quán)等待原則

總結(jié)

三. 進程互斥的硬件實現(xiàn)方法

1)中斷屏蔽方法

  • 利用開/關(guān)中斷指令實現(xiàn)
  • 簡單高效,但不適用于多處理機不適用于用戶進程

2)TestAndSet 指令

這里沒怎么看,日后發(fā)現(xiàn)重要的話再復習吧 T T

3)Swap 指令

  • 原子性

總結(jié)

總結(jié)

以上是生活随笔為你收集整理的【学习笔记】第二章——进程同步、进程互斥、进程互斥的硬件/软件实现方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。