• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      PV操作解決進程同步問題的難點研究與實現(xiàn)

      2017-07-12 06:28:06魯力韓潔徐琴
      電腦知識與技術 2017年13期
      關鍵詞:操作系統(tǒng)信號燈

      魯力 韓潔 徐琴

      摘要:操作系統(tǒng)是計算機系統(tǒng)中的核心系統(tǒng)軟件,它負責控制和管理這個系統(tǒng)資源并協(xié)調(diào)用戶有效地使用這些資源,使計算機系統(tǒng)高效的工作。進程管理部分是操作系統(tǒng)課程中的重要內(nèi)容。而進程同步是進程管理中十分重要的部分。怎樣很好的解決進程同步問題,一直是初學者所面臨的難題。該文通過四個簡單易懂的步驟,使初學者可以很快掌握使用信號燈的PV操作來解決進程同步的問題。進而使初學者能夠更好地理解和掌握進程同步問題。

      關鍵詞:操作系統(tǒng);進程同步;信號燈;P操作;V操作

      中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2017)13-0038-02

      1概述

      操作系統(tǒng)是計算機科學與技術領域中最為活躍的學科之一,因而操作系統(tǒng)課程也自然是該專業(yè)的一門核心的專業(yè)基礎課。操作系統(tǒng)課程內(nèi)容綜合了基礎理論教學、課程實踐教學、最新技術追蹤等多項內(nèi)容。操作系統(tǒng)課程的重要性在于教學內(nèi)容必須兼顧基礎性和前瞻性,同時體現(xiàn)趣味性和時尚性,以激發(fā)學生的學習興趣。

      進程同步是操作系統(tǒng)中處理機管理的核心問題。是操作系統(tǒng)的核心知識,也是進程管理當中的重、難點。學生是否能夠很好的掌握進程同步是反映學生是否學習好進程這部分內(nèi)容的重要指標。

      在多年的實際教學經(jīng)驗中,我發(fā)現(xiàn)在講解進程同步問題時,學生可以很容易理解,但是,一旦使用信號燈的PV操作去解決進程同步的問題候,很多學生都很茫然,很多時候不知所措。

      因此,本文將通過使用四步簡單的操作,使學生迅速掌握用PV操作解決進程同步問題的方法。使得學生即使在不完全理解進程同步的原理的情況下,也能解決進程同步問題。進而,能夠加深對進程同步的理解。

      2進程同步和信號燈的基本概念

      所謂進程同步,就是并發(fā)進程在一些關鍵點上可能需要互相等待和互通消息,這樣的相互制約關系稱為進程同步。同步意味著兩個或多個進程之間根據(jù)它們一致同意的協(xié)議進行相互作用。

      信號燈的概念是由Dijkstra提出的f1968)。他把同步的關鍵概念抽象到信號量這個概念中,信號量是一個被保護的變量,只有P、V操作和一種稱為信號量初始化操作才能訪問和改變它的值。

      信號燈是一個確定的二元組(s,q),s是一個具有非負初值的整型變量,q是一個初始狀態(tài)為空的排隊棧。s代表資源的實體。在實際應用中應準確地說明s的意義和初值,每個信號燈都有一個隊列,其初始狀態(tài)為空。

      信號燈的值僅能由P、V操作來改變,對信號燈的P操作記為:P(S),P操作是一個原子操作。對信號燈的V操作記為:V(S),V操作也是一個原子操作。在實際操作系統(tǒng)中,一般情況下是由機器硬件提供P、V操作的指令,當然是原子操作,若機器不提供P、V操作的指令,則操作系統(tǒng)提供P、V操作原語。

      P操作:

      1)s值減1;

      2)若相減結果大于等于0,則進程繼續(xù)執(zhí)行;

      3)若結果小于0,則該進程掛起。

      注:掛起該進程包括:保留調(diào)用進程CPU現(xiàn)場;置“等待”狀態(tài);入等待隊列;轉(zhuǎn)進程調(diào)度;

      V操作:

      1)s值加1;

      2)若相加結果大于0,進程繼續(xù)執(zhí)行;

      3)否則,喚醒一個(或多個)等待該信號燈的進程,然后本進程繼續(xù)執(zhí)行。

      3四步解決進程同步問題

      為描述方便,可用一個圖來表示進程集合的執(zhí)行時間軌跡。如圖1所示,圖的連接描述了進程間開始和結束的次序約束。此圖稱為進程流圖。如用s表示系統(tǒng)中某一任務啟動,f表示完成。則圖1是四個并發(fā)程序的進程流圖。根據(jù)此圖,我們可以看到四個并發(fā)程序中p1必須先執(zhí)行,p1執(zhí)行完后p2、p3開始執(zhí)行,p2、p3都執(zhí)行完后p4才可以開始執(zhí)行。我們發(fā)現(xiàn)該進程集合的執(zhí)行次序是混合式的,既有順序執(zhí)行,也有并行執(zhí)行的。下面開始用四個簡單步驟,解決PV操作實現(xiàn)進程同步的問題。

      1)搭框架

      如圖2所示,首先我們按照程序的慣例寫法,將主程序和需要并發(fā)的進程寫好。需要幾個信號燈暫時不用管,我們將在第四步解決這個問題。其中,cobegin和coend之間的進程函數(shù),代表這些進程是并發(fā)的。由于,圖l中有四個進程,所以cobegin和coend之間有四個進程函數(shù)。

      2)寫PV

      框架搭好了以后,我們將要根據(jù)同步進程之間的關系來書寫PV操作。在這一步中主函數(shù)不用變動,只需要改變進程的函數(shù)。在這里,我們可以簡單的把P操作看作申請操作,把v操作看作同意操作。也就是某個進程的開始如果要申請其他進程的同意,就做P操作,同理如果某個進程結束后需要同意其他進程的開始就需要做v操作。如圖3所示p1進程開始不受制約,不需要其他進程同意,所以,pl不用做P操作,但p1運行完后需要同意p2、p3兩個進程開始執(zhí)行,所以p1需要做兩次V操作。同理p2進程開始需要申請p1進程同意,因此,p2需要做一次P操作,p2運行完后需要同意p4進程開始,所以p2需要做一次V操作。p3同p2相同。p4進程需要申請p2、p3兩個進程的同意才能開始,所以p4需要做兩次P操作,p4運行完了后不需要同意任何其他進程開始,因此,p4不需要做v操作。根據(jù)以上分析,我們可以在四個進程函數(shù)中添加PV操作,如圖3所示。

      3)填信號量

      在PV操作寫好后,就需要在對應的PV操作函數(shù)中進行信號量s的填寫。信號量s的名字直接按照申請和同意兩個進程的名字填寫即可。例如p1進程需同意p2進程的開始申請,則p1的V操作函數(shù)和p2的P操作函數(shù)中填上參數(shù)s12。其他PV操作填寫方法一樣,如圖4所示。

      4)賦初值

      信號量的個數(shù)和名字起好了后,就可以在主函數(shù)中進行信號量的定義。本例為了保證在前驅(qū)進程沒有同意即做V操作的時候,后繼進程無法開始運行。所有的信號量必須賦值為0。如圖5所示。

      至此,所有程序書寫完畢,用信號燈的PV操作實現(xiàn)進程同步的問題已經(jīng)解決。

      4結束語

      信號燈是實現(xiàn)程序并發(fā)執(zhí)行,進程之間同步和互斥的非常好的一種方法和手段,初學者有必要很好的掌握其概念和解題方法。

      本文根據(jù)多年的教學經(jīng)驗,主要針對初學者在用信號燈解決進程同步問題中,不知所措,無從下手的問題,通過四個簡單步驟讓學生掌握解題方法,進而提高對進程同步問題的理解和掌握。學生普遍反應,此種解題方法容易掌握,解題無壓力,效果良好。

      猜你喜歡
      操作系統(tǒng)信號燈
      交通信號燈
      信號燈為什么選這三個顏色?
      智能手機操作系統(tǒng)的分析與比較
      卷宗(2016年10期)2017-01-21 14:04:15
      國產(chǎn)桌面操作系統(tǒng)中虛擬化技術應用研究
      計算機維護中操作系統(tǒng)還原技術的分析
      對計算機進行操作系統(tǒng)重裝的維護
      基于單片機的嵌入式系統(tǒng)的開發(fā)研究
      “操作系統(tǒng)原理”實驗教學設置初探
      安裝在路面的交通信號燈
      華人時刊(2016年19期)2016-04-05 07:56:05
      交通信號燈控制系統(tǒng)設計
      翁牛特旗| 新竹市| 麻江县| 渭源县| 闵行区| 黄山市| 马尔康县| 汉沽区| 海安县| 安徽省| 郑州市| 满洲里市| 兴海县| 长兴县| 上饶县| 鄄城县| 池州市| 友谊县| 香河县| 泰来县| 肃宁县| 定州市| 黔西| 英德市| 新干县| 古交市| 遂川县| 盐池县| 嘉鱼县| 海原县| 汾西县| 松江区| 巴青县| 铜陵市| 广州市| 余姚市| 蓬溪县| 额济纳旗| 通州市| 合山市| 青河县|