国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

《操作系統(tǒng)》課程中進(jìn)程同步問(wèn)題的教學(xué)方法研究

2015-06-02 13:14張霞谷淑化張求明
電腦知識(shí)與技術(shù) 2015年9期
關(guān)鍵詞:操作系統(tǒng)信號(hào)燈

張霞 谷淑化 張求明

摘 要:操作系統(tǒng)是信息相關(guān)專業(yè)的重要的核心課程之一。處理機(jī)管理部分是操作系統(tǒng)課程中的重中之重,處理機(jī)管理主要?dú)w結(jié)為對(duì)進(jìn)程的管理。而進(jìn)程同步問(wèn)題是進(jìn)程管理中的重要部分。一直以來(lái),進(jìn)程同步問(wèn)題都是操作系統(tǒng)教學(xué)中的重點(diǎn)和難點(diǎn)。該文針對(duì)合作進(jìn)程的執(zhí)行順序類進(jìn)程同步問(wèn)題探討操作系統(tǒng)課程的教學(xué)方法,總結(jié)教師在教學(xué)實(shí)踐當(dāng)中的寶貴經(jīng)驗(yàn),旨在提高學(xué)生對(duì)用信號(hào)燈機(jī)制解決進(jìn)程同步問(wèn)題的理解和掌握。

關(guān)鍵詞:操作系統(tǒng);進(jìn)程同步;合作進(jìn)程的執(zhí)行順序;信號(hào)燈;P操作;V操作

中圖分類號(hào):TP316 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)09-0183-02

1引言

操作系統(tǒng)作為信息類相關(guān)專業(yè)的核心課程,課程內(nèi)容龐雜、涉及面廣、知識(shí)點(diǎn)多、實(shí)踐性強(qiáng),概念多而抽象,不容易理解。學(xué)生很難掌握一些重要知識(shí)點(diǎn)。因此需要加強(qiáng)重要知識(shí)點(diǎn)的教學(xué)方法研究,以提高教學(xué)質(zhì)量。

進(jìn)程同步是操作系統(tǒng)課程中處理機(jī)管理的核心問(wèn)題之一,是操作系統(tǒng)的核心知識(shí)點(diǎn),是教學(xué)過(guò)程中的重點(diǎn)和難點(diǎn),也是考研的重點(diǎn)考核內(nèi)容,因此學(xué)生能否很好地理解并掌握這部分內(nèi)容是影響教學(xué)效果的關(guān)鍵。

在多年的操作系統(tǒng)課程的教學(xué)實(shí)踐中,信號(hào)燈和P、V操作問(wèn)題一直是困擾老師和學(xué)生的一個(gè)難點(diǎn)。概念很容易講,老師很清楚如何去解決,但如何讓學(xué)生很輕松容易地去理解和解決類似的問(wèn)題,這是操作系統(tǒng)教學(xué)和學(xué)習(xí)過(guò)程中的一個(gè)難點(diǎn)。

本文針對(duì)進(jìn)程同步問(wèn)題探討操作系統(tǒng)課程的教學(xué)方法,總結(jié)教學(xué)實(shí)踐中的寶貴經(jīng)驗(yàn),旨在提高學(xué)生對(duì)用信號(hào)燈機(jī)制實(shí)現(xiàn)進(jìn)程同步問(wèn)題的理解和把握。

2 進(jìn)程同步的基本概念

2.1 進(jìn)程同步

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

2.2 進(jìn)程同步的基本類型

在操作系統(tǒng)中,有各種各樣進(jìn)程同步,按特點(diǎn)不同一般可將同步問(wèn)題分為兩類:

(1)各進(jìn)程合作完成某工作的邏輯順序;

(2)對(duì)系統(tǒng)資源的共享的合作進(jìn)程的同步。

本文主要講解第一類進(jìn)程同步問(wèn)題的解決方法。

3 信號(hào)燈的基本概念

信號(hào)燈的概念是由荷蘭人Dijkstra于1968年提出的,這個(gè)時(shí)期正是操作系統(tǒng)形成的活躍時(shí)期。

他把互斥的關(guān)鍵概念抽象到信號(hào)燈這個(gè)概念中。信號(hào)燈是一個(gè)被保護(hù)的變量,只有P操作、V操作和一種稱為信號(hào)燈初始化操作才能訪問(wèn)和改變它的值。信號(hào)燈是一個(gè)確定的二元組(s,q),s 是一個(gè)具有非負(fù)初值的整型變量,q是一個(gè)初始狀態(tài)為空的排隊(duì)站。創(chuàng)建信號(hào)燈時(shí),應(yīng)準(zhǔn)確說(shuō)明信號(hào)燈 s的意義和初值 (這個(gè)初值絕不能為負(fù)值)。每個(gè)信號(hào)燈都有一個(gè)隊(duì)列,其初始狀態(tài)為空。

P操作:提出申請(qǐng),檢測(cè)所需信號(hào)是否到達(dá),有可能使一個(gè)進(jìn)程轉(zhuǎn)到等待狀態(tài)。

(1)s值減1;

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

(3)若結(jié)果小于0,則該進(jìn)程掛起。

V操作:釋放信號(hào),有可能要去喚醒一個(gè)處于等待狀態(tài)的進(jìn)程。

(1)s值加1;

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

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

4 用信號(hào)燈解決進(jìn)程同步的方法

4.1 分析進(jìn)程同步關(guān)系

前趨圖是一種有向無(wú)環(huán)圖,可以很好地描述各進(jìn)程在關(guān)鍵點(diǎn)上的同步關(guān)系。每個(gè)進(jìn)程在前趨圖中都跟其它進(jìn)程有相互聯(lián)系,有其直接前趨、直接后繼。如圖1所示P3的直接前趨是P1和P2,P3進(jìn)程必須在P1和P2進(jìn)程執(zhí)行完畢才能開(kāi)始執(zhí)行,否則轉(zhuǎn)等待;P3的直接后繼是P4,也就是說(shuō)P4進(jìn)程的直接前趨是P3進(jìn)程,P4進(jìn)程必須在P3進(jìn)程執(zhí)行完畢才能開(kāi)始執(zhí)行,否則轉(zhuǎn)等待。

4.2 信號(hào)燈的設(shè)置

在前趨圖的每一條弧上分別設(shè)置一個(gè)信號(hào)燈,分別代表前一個(gè)進(jìn)程沒(méi)有完成,后面一個(gè)進(jìn)程就不能開(kāi)始。

4.3 信號(hào)燈值的設(shè)置

合作進(jìn)程必有開(kāi)始和結(jié)束,前面的未結(jié)束后面的就不能開(kāi)始,所以每個(gè)信號(hào)燈的值都設(shè)置為0。

4.4 程序描述

主程序如下:

main()

{

定義若干初值為0的信號(hào)燈;

cobegin

P1();

P2();

P3();

……

Pi();

……

coend

}

各進(jìn)程的程序描述:

對(duì)于前趨圖中的任意進(jìn)程Pi(i=1……n),我們可以分離出進(jìn)程結(jié)點(diǎn)以及與之相關(guān)聯(lián)的所有關(guān)系如圖2所示,其中:

結(jié)點(diǎn)Pi表示Pi進(jìn)程本身要完成的主要工作;

箭頭指向結(jié)點(diǎn)Pi的弧表示Pi結(jié)點(diǎn)有限定它運(yùn)行的直接前趨,弧上的信號(hào)燈是Pi前趨結(jié)點(diǎn)完成后應(yīng)該發(fā)送給Pi進(jìn)程的完成信號(hào);

箭頭從結(jié)點(diǎn)Pi引出的弧表示Pi結(jié)點(diǎn)有它限定運(yùn)行的直接后繼,弧上的信號(hào)燈是Pi結(jié)點(diǎn)完成后應(yīng)該發(fā)送給Pi后繼進(jìn)程的完成信號(hào)。

程序描述如下:

Pi()

{

P(sa1);......P(sam); /*依次檢查Pi的直接前趨是否執(zhí)行完畢,若沒(méi)有,則等待在相應(yīng)信號(hào)燈的隊(duì)列上。如果Pi進(jìn)程沒(méi)有直接前趨,則此處沒(méi)有P操作*/

Pi進(jìn)程要完成的主要工作;

V(sb1);......V(sbn); /*依次向Pi的后繼進(jìn)程發(fā)送完成信號(hào)。如果Pi進(jìn)程沒(méi)有直接后繼,則此處沒(méi)有V操作*/

}

5 信號(hào)燈在解決進(jìn)程同步之合作進(jìn)程的執(zhí)行順序問(wèn)題中的具體應(yīng)用

問(wèn)題描述:P1、P2、P3、P4進(jìn)程的同步關(guān)系如圖1所示。

5.1 分析同步關(guān)系

前趨圖關(guān)系顯示P3進(jìn)程必須在P1和P2進(jìn)程執(zhí)行完畢才能開(kāi)始執(zhí)行,否則轉(zhuǎn)等待;P4進(jìn)程必須在P3進(jìn)程執(zhí)行完畢才能開(kāi)始執(zhí)行,否則轉(zhuǎn)等待。

5.2 信號(hào)燈設(shè)置

每條弧上分別設(shè)置一個(gè)信號(hào)燈如圖3,s13是表示P1完成后通知P3進(jìn)程開(kāi)始的信號(hào)燈;s23是表示P2完成后通知P3進(jìn)程開(kāi)始的信號(hào)燈;s34是表示P3完成后通知P4進(jìn)程開(kāi)始的信號(hào)燈。

5.3 信號(hào)燈初值設(shè)置

所有信號(hào)燈初值為0。

5.4 程序描述

主程序:

main()

{

int s13=0;

int s23=0;

int s34=0;

cobegin

P1();

P2();

P3();

P4();

coend

}

各進(jìn)程的程序描述:

對(duì)于前趨圖中的任意進(jìn)程P1、P2、P3、P4,我們可以分離出進(jìn)程結(jié)點(diǎn)以及與之相關(guān)的所有關(guān)系如圖4所示。各進(jìn)程對(duì)應(yīng)的程序描述如下:

6 結(jié)束語(yǔ)

信號(hào)燈機(jī)制是操作系統(tǒng)中實(shí)現(xiàn)并發(fā)進(jìn)程執(zhí)行的有效方法。用信號(hào)燈機(jī)制可以有效地解決進(jìn)程同步與互斥問(wèn)題,但這一知識(shí)點(diǎn)的理解和掌握并不容易。

本文著重介紹了在操作系統(tǒng)課程的教學(xué)過(guò)程中的一種很好的教學(xué)方法。應(yīng)用一種公式法則來(lái)講解用信號(hào)燈機(jī)制解決進(jìn)程同步之合作進(jìn)程的執(zhí)行順序類問(wèn)題這一核心知識(shí)點(diǎn),學(xué)生普遍感覺(jué)利用這種求解思路和求解方法能夠比較容易和熟練地解決這類問(wèn)題,反映良好。

參考文獻(xiàn):

[1] 龐麗萍.操作系統(tǒng)原理(第四版)[M].武漢.華中科技大學(xué)出版社,2008 .

[2] 龐麗萍,陽(yáng)富民.計(jì)算機(jī)操作系統(tǒng)(第2版)[M].北京.人民郵電出版社,2014 .

[3] 汪國(guó)安,等.計(jì)算機(jī)操作系統(tǒng)課程及考研輔導(dǎo)[M].北京.機(jī)械工業(yè)出版社,2004.

[4] 曾平,李春葆.操作系統(tǒng)——習(xí)題與解析[M].北京.清華大學(xué)出版社,2001.

[5] 曾平,曾林.操作系統(tǒng)習(xí)題與解析(第2版)[M].北京.清華大學(xué)出版社,2004.

猜你喜歡
操作系統(tǒng)信號(hào)燈
交通信號(hào)燈
安裝在路面的交通信號(hào)燈
交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)
禹城市| 定襄县| 普兰县| 太和县| 邯郸市| 尼勒克县| 云林县| 恩平市| 乌拉特中旗| 尉氏县| 巴彦县| 于田县| 汶上县| 玉田县| 井冈山市| 磴口县| 商河县| 三穗县| 建昌县| 会泽县| 洛川县| 泸州市| 龙山县| 沂源县| 松潘县| 鲁山县| 金门县| 河东区| 大新县| 郓城县| 桃园市| 蓝田县| 衡阳县| 阳城县| 大荔县| 禹城市| 荣昌县| 山西省| 江津市| 麻江县| 丘北县|