• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    操作系統(tǒng)進(jìn)程互斥與同步教學(xué)難點(diǎn)突破

    2016-04-14 14:13:31崔松健
    電腦知識(shí)與技術(shù) 2016年5期
    關(guān)鍵詞:信號(hào)量原語(yǔ)預(yù)賽

    崔松健

    摘要:該文通過一個(gè)小型運(yùn)動(dòng)會(huì)實(shí)例,通過類比方法讓學(xué)生理解并掌握操作系統(tǒng)中與進(jìn)程相關(guān)的概念,以及如何使用信號(hào)量實(shí)現(xiàn)進(jìn)步的同步與互斥。

    關(guān)鍵詞:操作系統(tǒng);計(jì)算機(jī)教學(xué)

    中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)05-0118-02

    1 序言

    操作系統(tǒng)是計(jì)算機(jī)專業(yè)的核心課程,操作系統(tǒng)的教學(xué)主要是讓學(xué)生理解并掌握操作系統(tǒng)的功能及實(shí)現(xiàn)原理,理論性很強(qiáng),知識(shí)點(diǎn)多,教學(xué)難度大,學(xué)生不易掌握,特別是對(duì)于高職院校的學(xué)生。為了讓學(xué)生能很好地學(xué)習(xí)操作系統(tǒng)的理論知識(shí),老師們進(jìn)行的了很多的探討與教學(xué)嘗試,下面就將我多年來在操作系統(tǒng)教中,對(duì)進(jìn)程同步與互斥這個(gè)教學(xué)難點(diǎn)的教學(xué)方法作一個(gè)簡(jiǎn)單的論述。

    2 相關(guān)概念的突破

    教學(xué)時(shí)以小型體育運(yùn)動(dòng)會(huì)實(shí)例來解釋相關(guān)的概念。

    實(shí)例描述:一個(gè)在半天內(nèi)完成的小型體育運(yùn)動(dòng)會(huì)。比賽項(xiàng)目有:100米,200米,4*100米接力。而這三個(gè)項(xiàng)目又分為預(yù)賽和決賽兩個(gè)階段進(jìn)行,預(yù)賽先于決賽進(jìn)行。因此總的比賽項(xiàng)目有:100米預(yù)賽,200米預(yù)賽,4*100米接力預(yù)賽,100米決賽,200米決賽,4*100米接力決賽六個(gè)子項(xiàng)目。因?yàn)檫\(yùn)動(dòng)場(chǎng)地只有一塊,所以某一時(shí)刻只能有一項(xiàng)體育比賽可以進(jìn)行。某項(xiàng)比賽一旦開始,就必須全部比賽完成,但不同的比賽可以穿插進(jìn)行。

    下面通過類比的方法解釋與進(jìn)程相關(guān)的概念。

    1)進(jìn)程:具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng)。

    因?yàn)槊恳粋€(gè)項(xiàng)目都是可以獨(dú)立進(jìn)行的,所以可以將每一個(gè)項(xiàng)目看成是一個(gè)具有獨(dú)立功能的程序,而將每一項(xiàng)比賽看成是每一個(gè)項(xiàng)目在裁判、計(jì)時(shí)員等支持下的一次獨(dú)立運(yùn)行活動(dòng)。因此六個(gè)項(xiàng)目的比賽過程可以看成六個(gè)進(jìn)程的運(yùn)行。

    2)并發(fā):同一個(gè)時(shí)間段內(nèi)幾個(gè)進(jìn)程都處于已經(jīng)開始運(yùn)行和運(yùn)行完畢之間,且這幾個(gè)進(jìn)程都是在同一個(gè)處理機(jī)上運(yùn)行,但在任一時(shí)刻,只能有一個(gè)進(jìn)程在處理機(jī)上運(yùn)行。我們就說這幾個(gè)進(jìn)程處于并發(fā)狀態(tài)。

    運(yùn)動(dòng)會(huì)的三個(gè)項(xiàng)目是交替進(jìn)行的,我們認(rèn)為這三個(gè)項(xiàng)目都處于進(jìn)行當(dāng)中,因?yàn)樗麄兌紱]有結(jié)束。這種狀態(tài)就稱之為并發(fā)狀態(tài)。因?yàn)檫\(yùn)動(dòng)場(chǎng)地只有一個(gè),所以同一時(shí)刻只能有一個(gè)項(xiàng)目在進(jìn)行當(dāng)中,我們就說比賽并行為1,若有兩個(gè)場(chǎng)地可以同時(shí)比賽,我們就說并行為2。

    3)臨界資源:操作系統(tǒng)把一次僅允許一個(gè)進(jìn)程使用的資源稱為臨界資源。

    由于競(jìng)賽場(chǎng)地某一時(shí)刻只能進(jìn)行一場(chǎng)比賽,所以場(chǎng)地是臨界資源。

    4)臨界區(qū):一個(gè)進(jìn)程中訪問臨界資源的那段程序。

    由于每場(chǎng)比賽都要使用場(chǎng)地,因此每場(chǎng)比賽都是臨界區(qū)。

    5)互斥:是指多個(gè)進(jìn)程不能同時(shí)使用同一個(gè)資源。

    由于比賽場(chǎng)地只能輪流使用而不能同時(shí)使用,所以使用場(chǎng)地的過程就稱為互斥過程。

    6)同步:指多個(gè)進(jìn)程之間存在著某種時(shí)序關(guān)系,必須協(xié)同動(dòng)作、相互配合。

    4*100接力比賽是4個(gè)人協(xié)同完成的,每人跑一棒,而且是第一棒跑完才能跑第二棒,第二棒跑完才能跑第三棒,第三棒跑完才能跑第四棒。這種有嚴(yán)格時(shí)序關(guān)系的協(xié)同過程就稱為同步,四個(gè)人之間的先后關(guān)系就是同步關(guān)系。

    運(yùn)動(dòng)場(chǎng)地是一個(gè)封閉的空間,入口有一道門,要想進(jìn)入運(yùn)動(dòng)場(chǎng),必須獲得打開門的鑰匙,而鑰匙只有一把,所以一開始時(shí)的Value的初值為1,獲得鑰匙的運(yùn)動(dòng)項(xiàng)目可以進(jìn)入運(yùn)動(dòng)場(chǎng)比賽,而沒有獲得鑰匙的運(yùn)動(dòng)項(xiàng)目則在門外排隊(duì)等待。

    8)原語(yǔ):通常由若干條指令組成,用來實(shí)現(xiàn)某個(gè)特定的操作。通過一段不可分割的或不可中斷的程序?qū)崿F(xiàn)其功能。

    信號(hào)量只能通過P原語(yǔ)和V原語(yǔ)訪問。

    P操作用于申請(qǐng)資源,value值減1,如果資源數(shù)量不夠,則進(jìn)程需要阻塞等待。

    V操作用于釋放資源, value值加1,如果此時(shí)value<0,表示有其他進(jìn)程等待該資源,則喚醒。

    當(dāng)value<0時(shí),| value|表示等待隊(duì)列的進(jìn)程數(shù)。

    拿到鑰匙,打開門,進(jìn)入場(chǎng)地這三個(gè)動(dòng)作必須一次性完成,中間不可以被中止,這就是原語(yǔ)操作。

    3 進(jìn)程互斥的實(shí)現(xiàn)

    由于運(yùn)動(dòng)場(chǎng)地是臨界資源,所以哪一個(gè)項(xiàng)目可以使用運(yùn)動(dòng)場(chǎng)地進(jìn)行比賽是需要競(jìng)爭(zhēng)的,那么如何保證進(jìn)入運(yùn)動(dòng)場(chǎng)比賽的項(xiàng)目只能是一個(gè)呢?我們使用信號(hào)量來控制互斥地使用運(yùn)動(dòng)場(chǎng)地。

    信號(hào)量就是一把鑰匙,而且鑰匙只有一把,因此設(shè)信號(hào)量S的初值為1。

    由于100米預(yù)賽,200米預(yù)賽和4*100接力預(yù)賽是可以并發(fā)進(jìn)行的,因此,我們?cè)O(shè)計(jì)三個(gè)并發(fā)程序控制使用運(yùn)動(dòng)場(chǎng)地進(jìn)行比賽(臨界區(qū))。而哪個(gè)項(xiàng)目能夠進(jìn)行(進(jìn)入臨界區(qū)),就看哪個(gè)項(xiàng)目獲得了運(yùn)動(dòng)場(chǎng)地(臨界資源)的使用權(quán),而對(duì)使用權(quán)的控制就是看誰(shuí)能夠進(jìn)入運(yùn)動(dòng)場(chǎng)地,最終則是誰(shuí)能獲得入門的鑰匙(信號(hào)量),因此只要控制住鑰匙,就能實(shí)現(xiàn)互斥進(jìn)入。

    結(jié)論:使用信號(hào)量實(shí)現(xiàn)互斥的方法是在臨界區(qū)前放置一個(gè)P原語(yǔ)操作,臨界區(qū)后面放置一個(gè)V原語(yǔ)操作。含義為:P原語(yǔ)申請(qǐng)鑰匙,如果成功則獲得資源(運(yùn)動(dòng)場(chǎng)地),進(jìn)行比賽,比賽結(jié)束后,V原語(yǔ)操作,交出鑰匙(信號(hào)量),喚醒等待比賽的項(xiàng)目。

    4 進(jìn)程同步的實(shí)現(xiàn)

    進(jìn)程之間的關(guān)系除了競(jìng)爭(zhēng)關(guān)系以外,可能還存在時(shí)間上的制約關(guān)系,這種關(guān)系就是同步關(guān)系。比如運(yùn)動(dòng)會(huì)中,運(yùn)動(dòng)項(xiàng)目之間就存在時(shí)序上的先后關(guān)系,100米預(yù)賽必須先于100米決賽之前進(jìn)行,而200米決賽則不能早于200米預(yù)賽之前進(jìn)行。4*100米接力賽中的四個(gè)人之間也存在著先后關(guān)系。那么如何通過信號(hào)量來實(shí)現(xiàn)這個(gè)同步關(guān)系呢?

    我們以100米預(yù)賽和100米決賽之間的時(shí)序關(guān)系為例說明如何實(shí)現(xiàn)同步。

    100米預(yù)賽和100米決賽為兩個(gè)并發(fā)程序,100米預(yù)賽早于100米決賽進(jìn)行。則可以將它們之間的時(shí)序關(guān)系通過有向圖來表示,圖1說明了100米預(yù)賽先于100米決賽進(jìn)行。

    }

    說明:由于信號(hào)量初值為0,因此只有當(dāng)【100米預(yù)賽】并發(fā)程序執(zhí)行結(jié)束以后,s的值才能為1,也只有當(dāng)s的值為1后,【100米決賽】并發(fā)程序才能夠執(zhí)行,從而實(shí)現(xiàn)了兩個(gè)并發(fā)程序之間的時(shí)序關(guān)系。

    綜上所述,我們總結(jié)出進(jìn)程同步中并發(fā)程序的書寫規(guī)則:

    1)將問題中的所有有時(shí)序關(guān)系的并發(fā)程序找出,用有向圖畫出他們之間的時(shí)序關(guān)系;

    2)有向圖中有幾個(gè)結(jié)點(diǎn),則寫幾個(gè)并發(fā)程序;

    3)有向圖中有幾個(gè)有向箭頭,則設(shè)置幾個(gè)信號(hào)量,同時(shí)將所有信號(hào)量的初值設(shè)為0;

    4)對(duì)于有向圖中的每個(gè)結(jié)點(diǎn),如果有一個(gè)出向箭頭,則在并發(fā)程序的后面加一個(gè)V操作;

    5)對(duì)于有向圖中的每個(gè)結(jié)點(diǎn),如果有一個(gè)入向箭頭,則在并發(fā)程序的前面加一個(gè)P操作。

    舉例說明:如圖2所示的有向圖,請(qǐng)寫出所有進(jìn)程的并發(fā)程序。

    }

    5 結(jié)論

    通過以上的方法,學(xué)生很容易掌握和理解操作系統(tǒng)進(jìn)程的概念,進(jìn)程之間有關(guān)系,以及如何使用信號(hào)量來實(shí)現(xiàn)進(jìn)程之間的互斥與同步。

    猜你喜歡
    信號(hào)量原語(yǔ)預(yù)賽
    測(cè)試原語(yǔ):存儲(chǔ)器故障最小檢測(cè)序列的統(tǒng)一特征
    基于STM32的mbedOS信號(hào)量調(diào)度機(jī)制剖析
    一道四川省預(yù)賽題的探究
    2018瑞士數(shù)學(xué)奧林匹克(預(yù)賽)
    Nucleus PLUS操作系統(tǒng)信號(hào)量機(jī)制的研究與測(cè)試
    第九屆陳省身杯全國(guó)高中數(shù)學(xué)奧林匹克預(yù)賽
    密碼消息原語(yǔ)通信協(xié)議介紹及安全分析
    數(shù)讀歐預(yù)賽
    足球周刊(2014年33期)2014-11-14 16:39:19
    基于原語(yǔ)自動(dòng)生成的安全協(xié)議組合設(shè)計(jì)策略及應(yīng)用研究
    μC/OS- -III對(duì)信號(hào)量的改進(jìn)
    开化县| 和田县| 镇江市| 礼泉县| 恩平市| 合川市| 安国市| 靖远县| 逊克县| 济源市| 玛沁县| 澎湖县| 广灵县| 通化县| 卢湾区| 台山市| 宝应县| 怀宁县| 通榆县| 绥滨县| 漳平市| 荆州市| 夏邑县| 福清市| 宁安市| 石家庄市| 霍城县| 吉木乃县| 贡觉县| 上蔡县| 淄博市| 上思县| 江华| 北碚区| 平阴县| 麻栗坡县| 荔浦县| 长乐市| 顺昌县| 广东省| 阿合奇县|