欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

王道操作系統(tǒng)-創(chuàng)新互聯(lián)

文章目錄
    • 2.3_1_進(jìn)程同步、進(jìn)程互斥
    • 2.3_2_進(jìn)程互斥的軟件實(shí)現(xiàn)方法
    • 2.3_3_進(jìn)程互斥的硬件實(shí)現(xiàn)方式
    • 2.3_4_信號(hào)量機(jī)制
    • 2.3_5_用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥、同步、前驅(qū)關(guān)系
    • 2.3_11_管程

創(chuàng)新互聯(lián)建站是一家專(zhuān)業(yè)的成都網(wǎng)站建設(shè)公司,我們專(zhuān)注成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)絡(luò)營(yíng)銷(xiāo)、企業(yè)網(wǎng)站建設(shè),買(mǎi)友情鏈接廣告投放平臺(tái)為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。2.3_1_進(jìn)程同步、進(jìn)程互斥

進(jìn)程同步

  • 異步性:各并發(fā)執(zhí)行的進(jìn)程以各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn)。
  • 同步亦稱(chēng)直接制約關(guān)系,它是指為完成某種任務(wù)而建立的兩個(gè)或多個(gè)進(jìn)程,這些進(jìn)程因?yàn)樾枰谀承┪恢蒙蠀f(xié)調(diào)它們的工作次序而產(chǎn)生的制約關(guān)系。進(jìn)程間的直接制約關(guān)系就是源于它們之間的相互合作。

進(jìn)程互斥

  • 兩種資源共享方式:
    • 互斥共享方式:在一個(gè)時(shí)間段內(nèi)只允許一個(gè)進(jìn)程訪問(wèn)該資源
    • 同時(shí)共享方式:允許一個(gè)時(shí)間段內(nèi)由多個(gè)進(jìn)程同時(shí)對(duì)它們進(jìn)行訪問(wèn)。
  • 一個(gè)時(shí)間段內(nèi)只允許一個(gè)進(jìn)程使用的資源稱(chēng)為臨界資源
  • 對(duì)臨界資源的訪問(wèn)必須互斥的進(jìn)行。互斥,亦稱(chēng)間接制約關(guān)系。
  • 進(jìn)程互斥指當(dāng)一個(gè)進(jìn)程訪問(wèn)某臨界資源時(shí),另一個(gè)想要訪問(wèn)該臨界資源的進(jìn)程必須等待。
  • 進(jìn)程互斥的四個(gè)部分:進(jìn)入?yún)^(qū)、臨界區(qū)、退出區(qū)、剩余區(qū)。
  • 臨界區(qū)是進(jìn)程中訪問(wèn)臨界資源的代碼段。進(jìn)入?yún)^(qū)和退出區(qū)是實(shí)現(xiàn)互斥的代碼段。
  • 為了實(shí)現(xiàn)對(duì)臨界資源的互斥訪問(wèn),同時(shí)保證系統(tǒng)的整體性能,需要遵循以下原則:
    • 空閑讓進(jìn):臨界區(qū)空閑時(shí),可以允許一個(gè)請(qǐng)求進(jìn)入臨界區(qū)的進(jìn)程立即進(jìn)入臨界區(qū)
    • 忙則等待:當(dāng)已有進(jìn)程進(jìn)入臨界區(qū)時(shí),其他試圖進(jìn)入臨界區(qū)的進(jìn)程必須等待
    • 有限等待:對(duì)請(qǐng)求訪問(wèn)的進(jìn)程,應(yīng)保證能在有限時(shí)間內(nèi)進(jìn)入臨界區(qū)
    • 讓權(quán)等待:當(dāng)進(jìn)程不能進(jìn)入臨界區(qū)時(shí),應(yīng)立即釋放處理機(jī),防止進(jìn)程忙等待。
2.3_2_進(jìn)程互斥的軟件實(shí)現(xiàn)方法

單標(biāo)志法

  • 算法思想:兩個(gè)進(jìn)程在訪問(wèn)完臨界區(qū)后會(huì)把使用臨界區(qū)的權(quán)限轉(zhuǎn)交給另一個(gè)進(jìn)程。也就是說(shuō)每個(gè)進(jìn)程進(jìn)入臨界區(qū)的權(quán)限只能被另一個(gè)進(jìn)程賦予。
  • 可以實(shí)現(xiàn)同一時(shí)刻最多只允許一個(gè)進(jìn)程訪問(wèn)臨界區(qū)。但違背了空閑讓進(jìn)的原則。

雙標(biāo)志先檢查法

  • 算法思想:設(shè)置一個(gè)布爾型數(shù)組flag[],數(shù)組中各個(gè)元素用來(lái)標(biāo)記各進(jìn)程想進(jìn)入臨界區(qū)的意愿,每個(gè)進(jìn)程在進(jìn)入臨界區(qū)之前先檢查當(dāng)前有沒(méi)有別的進(jìn)程想進(jìn)入臨界區(qū),如果沒(méi)有,則把自身對(duì)應(yīng)的標(biāo)志位flag[i]設(shè)為true,之后開(kāi)始訪問(wèn)臨近區(qū)。
  • 違反忙則等待原則。原因在于進(jìn)入?yún)^(qū)的檢查和上鎖兩個(gè)處理不是一氣呵成的,檢查后,上鎖前可能發(fā)生進(jìn)程切換。

雙標(biāo)志后檢查法

  • 算法思想:先上鎖,后檢查。
  • 解決了忙則等待的問(wèn)題,但是又違背了空閑讓進(jìn)和有限等待原則,會(huì)因各進(jìn)程都長(zhǎng)期無(wú)法訪問(wèn)臨界資源而產(chǎn)生饑餓現(xiàn)象。

Peterson算法

  • 算法思想:如果雙方都爭(zhēng)著想進(jìn)入臨界區(qū)的化,那可以讓進(jìn)程嘗試孔融讓梨,主動(dòng)讓對(duì)方先使用臨界資源。
  • 進(jìn)入?yún)^(qū):主動(dòng)爭(zhēng)取,主動(dòng)謙讓?zhuān)瑱z查對(duì)方是否也想使用,且最后一次是不是自己說(shuō)了客氣話。
  • 解決了進(jìn)程互斥的問(wèn)題,遵循了空閑讓進(jìn),忙則等待,有限等待三個(gè)原則,但是依然未遵循讓權(quán)等待的原則。
2.3_3_進(jìn)程互斥的硬件實(shí)現(xiàn)方式

中斷屏蔽方法

  • 利用開(kāi)/關(guān)中斷指令實(shí)現(xiàn)
  • 不適用于多處理機(jī),只適用于操作系統(tǒng)內(nèi)核進(jìn)程,不適用于用戶進(jìn)程。特權(quán)指令。

TestAndSet指令

  • 用硬件實(shí)現(xiàn)的,上鎖和檢查操作用硬件的方式變成了一氣呵成的原子操作。
  • 適用于多處理機(jī)的環(huán)境。不滿足讓權(quán)等待的原則。

Swap指令

  • 硬件實(shí)現(xiàn),執(zhí)行過(guò)程中不允許被中斷,只能一氣呵成。
  • 和TestAndSet指令類(lèi)似。
2.3_4_信號(hào)量機(jī)制
  • 用戶進(jìn)程可以通過(guò)使用操作系統(tǒng)提供的一對(duì)原語(yǔ)來(lái)對(duì)信號(hào)量進(jìn)行操作,從而很方便的實(shí)現(xiàn)了進(jìn)程互斥,進(jìn)程同步。
  • 信號(hào)量其實(shí)就是一個(gè)變量(可以是一個(gè)整數(shù),也可以是更復(fù)雜的記錄型變量) ,可以用一個(gè)信號(hào)量來(lái)表示系統(tǒng)中某種資源的數(shù)量。
  • 原語(yǔ)是一種特殊的程序段,其執(zhí)行只能一氣呵成,不可能被中斷,是由關(guān)中斷/開(kāi)中斷指令實(shí)現(xiàn)的。
  • 一對(duì)原語(yǔ):wait(s),signal(s), 簡(jiǎn)稱(chēng)為P,V操作。

整型信號(hào)量

  • 對(duì)信號(hào)量的操作只有三種:初始化,P操作,V操作。
  • 檢查和上鎖一氣呵成,避免了并發(fā)、異步導(dǎo)致的問(wèn)題。
  • 不滿足讓權(quán)等待原則,會(huì)發(fā)生忙等。

記錄型信號(hào)量

  • 用記錄型數(shù)據(jù)結(jié)構(gòu)表示的信號(hào)量。
  • 如果剩余資源數(shù)量不夠,使用block原語(yǔ)使進(jìn)程從運(yùn)行態(tài)進(jìn)入阻塞態(tài),并把該進(jìn)程掛到信號(hào)量S的等待隊(duì)列中。
  • 釋放資源后,若還有別的進(jìn)程在等待這種資源,則使用wakeup原語(yǔ)喚醒等待隊(duì)列中的一個(gè)進(jìn)程,該進(jìn)程從阻塞態(tài)變?yōu)榫途w態(tài)。
  • PV操作中,先執(zhí)行++或者–操作,在根據(jù)實(shí)際情況執(zhí)行原語(yǔ)。
2.3_5_用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥、同步、前驅(qū)關(guān)系

信號(hào)量機(jī)制實(shí)現(xiàn)進(jìn)程互斥

  • 分析并發(fā)進(jìn)程的關(guān)鍵活動(dòng),劃定臨界區(qū)
  • 設(shè)置互斥信號(hào)量mutex,初值為1
  • 在臨界區(qū)之前執(zhí)行P,缺少P(mutex)就不能保證臨界資源的互斥訪問(wèn)
  • 在臨界區(qū)之后執(zhí)行V,缺少V(mutex)就會(huì)導(dǎo)致資源永遠(yuǎn)不會(huì)被釋放,等待進(jìn)程永不會(huì)被喚醒。

用信號(hào)量機(jī)制實(shí)現(xiàn)進(jìn)程同步

  • 進(jìn)程同步:要讓各并發(fā)進(jìn)程按要求有序的推進(jìn)。
  • 分析什么地方需要實(shí)現(xiàn)同步關(guān)系,即必須保證一前一后執(zhí)行的兩個(gè)操作
  • 設(shè)置同步信號(hào)量S,初始化為0
  • 在前操作之后執(zhí)行V(S)
  • 在后操作之前執(zhí)行P(S)

用信號(hào)量機(jī)制實(shí)現(xiàn)前驅(qū)關(guān)系

  • 要為每一對(duì)前驅(qū)關(guān)系各設(shè)置一個(gè)同步變量
  • 前V(S),后P(S)
2.3_11_管程

管程的組成

  • 局部于管程的共享數(shù)據(jù)結(jié)構(gòu)說(shuō)明
  • 對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過(guò)程(函數(shù))
  • 對(duì)局部于管程的共享數(shù)據(jù)結(jié)構(gòu)設(shè)置初始值的語(yǔ)句
  • 管程有一個(gè)名字
  • 引入管程的目的無(wú)非就是要更方便地實(shí)現(xiàn)進(jìn)程互斥和同步。

管程的基本特征

  • 局部于管程的數(shù)據(jù)只能被局部于管程的過(guò)程所訪問(wèn)
  • 一個(gè)進(jìn)程只有通過(guò)調(diào)用管程內(nèi)的函數(shù)才能進(jìn)入管程訪問(wèn)共享數(shù)據(jù)
  • 每次僅允許一個(gè)進(jìn)程在管程內(nèi)執(zhí)行某個(gè)內(nèi)部函數(shù)。
  • 由編譯器負(fù)責(zé)實(shí)現(xiàn)各進(jìn)程互斥地進(jìn)入管程中的函數(shù)
  • 管程中設(shè)置條件變量和等待/喚醒操作,以解決同步問(wèn)題。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

名稱(chēng)欄目:王道操作系統(tǒng)-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article6/djopig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)手機(jī)網(wǎng)站建設(shè)做網(wǎng)站網(wǎng)站改版網(wǎng)站策劃網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司