999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

學(xué)生在理解信號(hào)量實(shí)現(xiàn)進(jìn)程同步與互斥時(shí)常見(jiàn)問(wèn)題

2014-10-21 14:56:52李暢
科技視界 2014年36期

【摘 要】在計(jì)算機(jī)教學(xué)過(guò)程中,利用信號(hào)量實(shí)現(xiàn)進(jìn)程同步與互斥既是重點(diǎn)也是難點(diǎn)。本文重點(diǎn)討論在教學(xué)過(guò)程中發(fā)現(xiàn)學(xué)生用信號(hào)量時(shí)的常見(jiàn)問(wèn)題并給出這些問(wèn)題的解決方法。

【關(guān)鍵詞】進(jìn)程互斥;進(jìn)程同步;信號(hào)量

0 引言

操作系統(tǒng)作為計(jì)算機(jī)專業(yè)學(xué)生的必修課程,是非常重要的一門核心課程。筆者在操作系統(tǒng)教學(xué)過(guò)程中發(fā)現(xiàn)在所有的章節(jié)中,進(jìn)程的互斥與同步是學(xué)生最難掌握的部分。本文詳細(xì)分析了學(xué)生在進(jìn)程互斥與同步學(xué)習(xí)過(guò)程中遇到的常見(jiàn)問(wèn)題,并提出解決方法。

1 進(jìn)程互斥與同步概念

現(xiàn)代操作系統(tǒng)的三個(gè)主要特征是并發(fā)性、資源共享和異步性。所謂并發(fā)性是指兩個(gè)或多個(gè)活動(dòng)在同一時(shí)間間隔內(nèi)發(fā)生,在多道程序環(huán)境下是指在一段時(shí)間內(nèi)可有多道程序同時(shí)運(yùn)行。正是由于并發(fā)機(jī)制才導(dǎo)致了程序的執(zhí)行不可預(yù)測(cè),并發(fā)性又是系統(tǒng)能夠?qū)崿F(xiàn)資源共享的必要條件。系統(tǒng)中的多個(gè)并發(fā)進(jìn)程之間因?yàn)楣蚕碣Y源而形成兩種相互制約關(guān)系:間接制約關(guān)系——互斥,直接制約關(guān)系——同步。[5]

1.1 進(jìn)程互斥

是進(jìn)程間的一種間接制約關(guān)系,他們并不知道其他進(jìn)程的存在。例如,在批處理系統(tǒng)中,系統(tǒng)分別為各個(gè)作業(yè)建立了進(jìn)程;在分時(shí)系統(tǒng)中,系統(tǒng)分別為每個(gè)用戶建立了一個(gè)進(jìn)程。這些進(jìn)程同處于一個(gè)系統(tǒng)中,必然存在資源共享的關(guān)系。由于某些資源的屬性要求一次只能有一個(gè)進(jìn)程訪問(wèn),我們稱這樣的資源為臨界資源。[3]由于系統(tǒng)不能允許多個(gè)進(jìn)程同時(shí)訪問(wèn)臨界資源,所以進(jìn)程間必然產(chǎn)生對(duì)資源的競(jìng)爭(zhēng)。因此,互斥直觀理解就是一種競(jìng)爭(zhēng)關(guān)系。例如一個(gè)學(xué)生宿舍房間內(nèi)的洗漱間使用問(wèn)題;顯然,洗漱間在沒(méi)有人使用時(shí)(可以看成初始狀態(tài)),對(duì)于任何一個(gè)同學(xué)都是可用的,其洗漱間的信號(hào)量初值應(yīng)當(dāng)為1(表達(dá)一種狀態(tài),也可以看成資源的數(shù)目,不過(guò)作為一種狀態(tài)更恰當(dāng)),見(jiàn)圖1。(誰(shuí)的速度快的問(wèn)題)。

圖1 互斥的事例

圖2 同步的事例

1.2 進(jìn)程同步

多個(gè)進(jìn)程知道彼此的存在,更多的表現(xiàn)出一種合作關(guān)系。此時(shí)要保證相互合作的多個(gè)進(jìn)程在執(zhí)行次序上的協(xié)調(diào),不能出現(xiàn)與時(shí)間有關(guān)的錯(cuò)我。系統(tǒng)中多個(gè)進(jìn)程間發(fā)生的時(shí)間存在某種時(shí)序關(guān)系,需要相互合作,共同完成一項(xiàng)任務(wù)。進(jìn)程間的這種關(guān)系稱為進(jìn)程同步。例如學(xué)校運(yùn)動(dòng)會(huì)中接力競(jìng)賽問(wèn)題;見(jiàn)圖2.,顯然,任何一組由4人組成的參賽隊(duì)只有在發(fā)令員發(fā)令(看成初始狀態(tài))之后,第1個(gè)人才能跑,其他3人是順序接力的,不可能是4個(gè)人都可以同時(shí)跑,4個(gè)人之間是同步關(guān)系,即在初始狀態(tài)(各就位)只有第1個(gè)人可以跑,其他人是不可以的,要等待(“通知”)。

2 信號(hào)量的概念和含義

信號(hào)量是一個(gè)記錄型的數(shù)據(jù)結(jié)構(gòu),它有兩個(gè)數(shù)據(jù)項(xiàng)。

Struc semaphore

{

int value;

pointer_PCB queue;

}S;

信號(hào)量的物理含義:在進(jìn)程互斥的情況下,信號(hào)量可以看成是一把鎖;在進(jìn)程同步的情況下,信號(hào)量可以代表一種資源的使用權(quán),信號(hào)量的值大于0時(shí)表示系統(tǒng)中某類可用的資源的數(shù)目,當(dāng)其值小于0時(shí),其絕對(duì)值表示系統(tǒng)中因請(qǐng)求該類資源而被阻塞的進(jìn)程數(shù)目。除了初始化外,對(duì)信號(hào)量只能有兩個(gè)操作:P(S)操作和V(S)操作。這兩操作定義為:

其中P操作物理含義為申請(qǐng)資源的操作,每執(zhí)行一次P操作,信號(hào)量的值就會(huì)減一,表明可用的資源少了一個(gè);V操作的物理含義為釋放資源的操作,每執(zhí)行一次V操作,信號(hào)量的值就會(huì)加一,表明可用的資源數(shù)增加了一個(gè)。

3 學(xué)生在運(yùn)用信號(hào)量解決問(wèn)題時(shí)常見(jiàn)問(wèn)題

3.1 分不清楚進(jìn)程之間的關(guān)系

進(jìn)程之間的關(guān)系是要解決的根本問(wèn)題,如果前期進(jìn)程之間的關(guān)系分析不清楚,后續(xù)解題過(guò)程一定的錯(cuò)誤的。

例題1:某條河上只有一座獨(dú)木橋,以便行人過(guò)橋。現(xiàn)在河的兩邊都有人要過(guò)橋,過(guò)橋規(guī)則:同一方向的可以連續(xù)過(guò)橋;一方有人過(guò)橋另一方的人要等待。該問(wèn)題是非常明顯的讀者寫(xiě)著問(wèn)題的同類例題。橋兩邊的人是一種競(jìng)爭(zhēng)關(guān)系,競(jìng)爭(zhēng)的是橋這個(gè)臨界資源。同理,同一方向的人之間也是競(jìng)爭(zhēng)關(guān)系,競(jìng)爭(zhēng)修改“人數(shù)”這個(gè)變量。在此要讓學(xué)生明白多個(gè)競(jìng)爭(zhēng)的進(jìn)程之間是沒(méi)有固定的先后順序的,可能一面的人先過(guò)橋,也可能另一面的人先過(guò)橋。

例題2:有一倉(cāng)庫(kù)可以存放A,B兩種物品,每次只能存入一物品(A或B)存儲(chǔ)空間無(wú)限大, 只是要求-n

3.2 對(duì)信號(hào)量的概念及意義不清楚

在信號(hào)量概念學(xué)習(xí)過(guò)程中首先要讓學(xué)生清楚信號(hào)量和整型變量的根本區(qū)別。整型變量在內(nèi)存中占有4個(gè)字節(jié),僅能存放數(shù)值;而信號(hào)量類型不僅能表示資源數(shù)量,更重要在于為申請(qǐng)資(下轉(zhuǎn)第323頁(yè))(上接第192頁(yè))源而得不到滿足的進(jìn)程提供阻塞鏈接隊(duì)頭指針。其次要不斷強(qiáng)化信號(hào)量類型數(shù)據(jù)僅僅能夠進(jìn)行P,V操作,不可以進(jìn)行除了P,V之外的任何操作。例如上面例題2:有同學(xué)寫(xiě)出如下代碼:

Semophere counta=countb=0,mutex=1;

存入A:

{

A生產(chǎn)產(chǎn)品;

P(mutex);

If(counta-countb-n)

存入A;

V(mutex);

}

在這段代碼中,第一個(gè)問(wèn)題是沒(méi)有搞清楚信號(hào)量的基本操作只能是P,V,不能有其他的加減及判斷;第二個(gè)問(wèn)題是沒(méi)有搞清楚信號(hào)量的含義,當(dāng)申請(qǐng)存入A而得不到滿足的時(shí)候,進(jìn)程是要阻塞的。按照上述程序,如果不符合判斷條件,則產(chǎn)品拋棄,繼續(xù)下一個(gè)進(jìn)程。這明顯是錯(cuò)誤的。本題目正確的做法是:

Semophere counta=m-1,//當(dāng)B產(chǎn)品一個(gè)都不放,A最多可以放m-1個(gè)產(chǎn)品;

countb=n-1,//當(dāng)A產(chǎn)品一個(gè)都不放,B最多可以放N-1個(gè)產(chǎn)品;

mutex=1;

存入A: 存入B:

{ {

A生產(chǎn)產(chǎn)品; B生產(chǎn)產(chǎn)品;

P(counta) ;

p(countb);

P(mutex); p(mutex);

存入A;

存入B;

V(countb);

V(counta);

} }

3.3 信號(hào)量命名不清楚,不明確

這個(gè)問(wèn)題是從教科書(shū)上生產(chǎn)者消費(fèi)者問(wèn)題延續(xù)而來(lái)。在生產(chǎn)者消費(fèi)者問(wèn)題中設(shè)置的full,empty信號(hào)量其實(shí)含義不是特別清楚明了。如果改成buffer和product則明了很多,無(wú)論從資源的角度看還是從前驅(qū)關(guān)系的角度看都特別清楚明了。學(xué)生們?cè)谟?jì)算機(jī)基礎(chǔ)中學(xué)過(guò)變量的命名規(guī)則,作者認(rèn)為變量的命名規(guī)則同樣適用信號(hào)量的命名規(guī)則。

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

操作系統(tǒng)設(shè)計(jì)的目標(biāo)之一就是資源的充分利用,進(jìn)程的并發(fā)是實(shí)現(xiàn)這一目標(biāo)的重要方法,而并發(fā)又離不開(kāi)進(jìn)程的同步和互斥。信號(hào)量是實(shí)現(xiàn)進(jìn)程間的互斥與同步既方便又高效的工具。在操作系統(tǒng)課程的教學(xué)中, 利用信號(hào)量實(shí)現(xiàn)進(jìn)程同步與互斥的問(wèn)題還將繼續(xù)研究下去。

【參考文獻(xiàn)】

[1][美]William Stallings.操作系統(tǒng)-精髓與設(shè)計(jì)原理[M].5版.陳渝,等,譯.北京:電子工業(yè)出版社,2006.

[2]湯子瀛,哲風(fēng)屏,湯小丹,編.計(jì)算機(jī)操作系統(tǒng)(修訂版)[M].西安:西安電子科技大學(xué)出版社,2002.

[3]范策,許憲成,黃紅桃,李暢.計(jì)算機(jī)操作系統(tǒng)教程:核心與設(shè)計(jì)原理[M].北京:清華大學(xué)出版社.

[4]李芳,夏宇.簡(jiǎn)析操作系統(tǒng)中進(jìn)程間的相互制約關(guān)系[J].湖北:黃石理工學(xué)院 2007-8.

[5]李暢,范策.進(jìn)程互斥與同步解析[J].廣州:現(xiàn)代計(jì)算機(jī),2010,12.

[責(zé)任編輯:薛俊歌]

主站蜘蛛池模板: 久久免费精品琪琪| 亚洲欧美一区二区三区图片| 幺女国产一级毛片| 国产91特黄特色A级毛片| 国产亚洲精品自在线| 久久人搡人人玩人妻精品| aa级毛片毛片免费观看久| 91麻豆精品视频| 亚洲一区二区在线无码| 福利片91| 亚洲日韩精品无码专区97| 午夜精品一区二区蜜桃| 99在线观看国产| 亚洲精选高清无码| 国产亚洲欧美在线视频| 乱系列中文字幕在线视频| 99精品国产高清一区二区| 国产综合色在线视频播放线视 | 中文字幕佐山爱一区二区免费| 熟妇丰满人妻av无码区| 国产真实乱人视频| 人人91人人澡人人妻人人爽 | 久久人妻系列无码一区| 日韩小视频在线播放| 国产网站免费观看| 国产成人做受免费视频| 夜夜爽免费视频| 欧美天天干| 综合亚洲色图| 日韩欧美中文在线| 亚洲精品第1页| 欧美亚洲国产日韩电影在线| 国产精品熟女亚洲AV麻豆| 欧美精品在线看| 日韩免费中文字幕| 精品国产成人三级在线观看| 国产成人精品一区二区秒拍1o| AV老司机AV天堂| 亚洲swag精品自拍一区| 久久亚洲国产视频| 国产人成网线在线播放va| 无码精品福利一区二区三区| 欧美中文字幕一区| 成人精品在线观看| 无遮挡国产高潮视频免费观看| 免费观看国产小粉嫩喷水| 亚洲成人77777| 狠狠干欧美| 国产精品分类视频分类一区| 国产H片无码不卡在线视频| 91视频日本| 漂亮人妻被中出中文字幕久久| 99人妻碰碰碰久久久久禁片| 青青青国产在线播放| 久久精品人人做人人爽| 国产成人久久综合一区| av免费在线观看美女叉开腿| 国产成人免费高清AⅤ| 久久久久亚洲AV成人人电影软件 | 欧美国产精品不卡在线观看| 91av成人日本不卡三区| 国产欧美日韩va| …亚洲 欧洲 另类 春色| 91 九色视频丝袜| 日韩在线第三页| 国产不卡一级毛片视频| 少妇精品在线| 日韩无码黄色| 国产高清在线丝袜精品一区| 国内精品自在自线视频香蕉| 动漫精品中文字幕无码| 亚洲综合色在线| 国产不卡在线看| 91精选国产大片| www.亚洲一区| 99无码中文字幕视频| 99在线观看精品视频| 久久婷婷五月综合97色| 波多野结衣在线se| 成人精品视频一区二区在线| 亚洲无线国产观看| 久久国产亚洲偷自|