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

使用PV操作解決列車調度問題的改進算法

2009-02-01 03:29:48于占虎
數字技術與應用 2009年12期
關鍵詞:進程

于占虎

[摘 要]以進程的同步與互斥中的列車調度問題為例,分析了傳統的解決方法及存在的問題,提出了一種高效的、防止“餓死”的改進算法。

[關鍵詞]進程 P、V操作 信號量 餓死

[中圖分類號]R-05[文獻標識碼]A[文章編號]1007-9416(2009)12-0108-02

1 引言

在多道程序設計的系統中,當處理器的數量少于進程的數量時,多個進程就會輪流使用處理器,即一個進程的工作沒有全部完成之前,另一個進程就開始工作。如果并發執行的多個進程共享了相同的資源,而進程的調度又不加以控制,則不同的調度次序將會產生不同的結果,即系統會發生“與時間有關的錯誤”[1]。

荷蘭學者Dijkstra發明的信號量機制是一種卓有成效的進程同步工具,它通過P、V兩個操作原語來保證進程之間的同步與互斥,進而可以避免產生與時間有關的錯誤[2]。信號量機制雖然能避免產生與時間有關的錯誤,但在使用時,如果考慮不嚴密則會使系統效率大大降低,或者出現進程長時間得不到服務的“餓死”現象。筆者結合列車調度問題,分析傳統解決方法的不足,并給出了既能提高效率,又能防止進程“餓死”的改進算法。

2 列車調度問題的描述

如圖1所示,假設A、B兩個火車站之間是單軌連接的,現有許多列車需經過A站開往B站,也有許多列車需經過B站開往A站,為確保行駛安全,必須保證在同一時刻兩站之間不能有相對行駛的列車,即當有列車從某一車站開往另一個車站時,從另一個車站開往本站的列車只能等待,當有兩列列車分別從兩個車站出發相對行駛時,系統就發生了與時間有關的錯誤。

3 傳統的解決方法及存在的問題

解決列車調度問題的最簡單的方法是使用P、V操作。將每列列車看作是一個進程,將兩個車站之間的單軌鐵路看作是共享資源,設置一個互斥信號量Mutex,其初值為1,用于對共享資源的互斥訪問。多個進程并發執行的P、V操作算法如下:

經過A站開往B站的列車:

經過B站開往A站的列車:

processPAi processPBi

beginbegin

…………

P(Mutex); P(Mutex);

經過A站到達B站;經過B站到達A站;

V(Mutex); V(Mutex);

…………

endend

上述算法雖然避免了與時間有關的錯誤,但要求同一時刻在兩站之間只能有一列列車行駛,在這種情況下,系統的效率將大大降低。事實上,當某列列車從一個車站開往另一個車站時,同方向的列車也可以依次(但不可以同時出站)跟在后面同向行駛。因此,只需要某一方向的第一列列車申請共享資源的信號量Mutex即可,其它同向行駛的列車不必申請共享資源信號量,當同一方向的所有列車均通過后再釋放共享資源信號量Mutex。

4 提高效率的算法

對上面的算法加以改進。設置2個變量count1、count2分別對兩邊的列車進行計數,其初值均為0。由于每列列車均使用變量count1或count2,因此,設置信號量S1、S2分別用于對變量count1、count2的互斥訪問,其初值均為1,信號量S1和S2可以防止同一方向有兩列列車同時出站行駛。為安全起見,設置兩列列車從同一車站駛出的時間間隔不低于十分鐘,即每列列車在出站十分鐘后再釋放可以喚醒下列列車的信號量S1或S2。改進后的P、V操作算法如下:

經過A站開往B站的列車:

經過B站開往A站的列車:

processPAi

processPBi

begin begin

…………

P(S1); P

(S2);

count1=count1+1;count2=count2+1;

if count1=1 then P(Mutex);if count2=1 then P(Mutex);

從A站開出;

從B站開出;

十分鐘后;

十分鐘后;

V(S1); V(S2);

…… ……

到達B站;

到達A站;

P(S1);

P(S2);

count1=count1-1;

Count2=count2-1;

if count1=0 then V(Mutex);if count2=0 then V(Mutex);

V(S1);V(S2);

…… ……

end end

改進的算法可以充分的利用系統資源,提高了系統的效率,但又出現了新的問題:當某一方向上有列車行駛時,在這個方向上其它的列車也可以依次跟在后面行駛,如果這個方向上源源不斷的有列車駛出時,對面方向上的列車將長時間處于等待狀態而不能駛出,此現象叫做進程的“餓死”。

5 防止“餓死”的改進算法

為了解決進程的“餓死”現象,體現公平性原則,對算法做進一步改進:當某一方向的多列列車連續通過時,如果對面方向有列車等待通過,則本方向上后到的列車將被阻塞。按照這一原則,可以在算法中增加一個信號量P,其初值為1,每列列車在通過之前,都需先爭奪信號量P,這樣,系統按照申請信號量S的順序進行調度,這樣可以阻止對面后來的列車的通過機會,從而消除“餓死”現象。消除“餓死”現象的P、V操作算法如下:

經過A站開往B站的列車:

經過B站開往A站的列車:

processPAi

processPBi

begin begin

…… ……

P(S); P(S);

P(S1);P(S2);

count1=count1+1;

count2=count2+1;

if count1=1 then P(Mutex);

if count2=1 then P(Mutex);

從A站開出; 從B站開出;

V(S); V(S);

十分鐘后;十分鐘后;

V(S1);V(S2);

…………

到達B站; 到達A站;

P(S1); P(S2);

count1=count1-1;

Count2=count2-1;

if count1=0 then V(Mutex);

if count2=0 then V(Mutex);

V(S1); V(S2);

…………

end end

6 結語

P、V操作可以實現進程的同步和共享資源的互斥使用,避免產生“與時間有關的錯誤”,但卻不能避免死鎖。當申請和釋放信號量的次序安排不當時,系統即有可能發生死鎖。因此,合理的P、V操作次序也是確保算法正確、高效執行的重要基礎。

[參考文獻]

[1] 譚耀銘.操作系統概論[M].北京:經濟科學出版社,2000.4.

[2] 湯子瀛.計算機操作系統[M].西安:西安電子科技大學出版社,2002.7.

猜你喜歡
進程
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
改革開放進程中的國際收支統計
中國外匯(2019年8期)2019-07-13 06:01:06
快速殺掉頑固進程
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
講效率 結束進程要批量
電腦迷(2012年24期)2012-04-29 00:44:03
男女平等進程中出現的新矛盾和新問題
俄羅斯現代化進程的阻礙
論文萊的民族獨立進程
主站蜘蛛池模板: 亚洲国产成人麻豆精品| 在线看片中文字幕| 亚洲精品动漫在线观看| 五月天综合网亚洲综合天堂网| 一级毛片网| 国产SUV精品一区二区| 丁香综合在线| 亚洲黄色视频在线观看一区| 在线亚洲精品自拍| 亚洲人成网18禁| 波多野衣结在线精品二区| 99精品免费欧美成人小视频 | 亚洲国产91人成在线| 亚洲天堂区| 国产va在线观看| 国产成人无码AV在线播放动漫| 亚洲国产成人无码AV在线影院L| 国产成人精品一区二区| 久久视精品| 亚洲中文字幕久久无码精品A| 99视频在线免费观看| 国产精品99久久久久久董美香| 免费激情网址| 成人自拍视频在线观看| 丰满人妻中出白浆| 91外围女在线观看| 无码福利日韩神码福利片| 无码有码中文字幕| 精品少妇人妻一区二区| 久久精品国产999大香线焦| 尤物精品视频一区二区三区| 爆乳熟妇一区二区三区| 精品福利网| 欧美日韩在线亚洲国产人| 国产99免费视频| 久久久国产精品无码专区| 国产婬乱a一级毛片多女| 色综合中文综合网| 亚洲Av综合日韩精品久久久| 亚洲美女操| 国产日韩欧美精品区性色| 国产男女免费视频| 国产欧美日韩va另类在线播放| 亚洲一级毛片在线观播放| 67194成是人免费无码| 国产精品3p视频| 欧美一级片在线| 日本午夜影院| 色成人亚洲| 欧美a在线| 亚洲AV电影不卡在线观看| 97影院午夜在线观看视频| 亚洲一区国色天香| 亚洲一区色| 97久久人人超碰国产精品 | 91精品福利自产拍在线观看| 九九线精品视频在线观看| 日本a级免费| 国产av一码二码三码无码| 国产人成乱码视频免费观看| 国产亚洲高清在线精品99| 18禁色诱爆乳网站| 亚洲日本一本dvd高清| 九九香蕉视频| 91在线无码精品秘九色APP| 无码高潮喷水在线观看| 国产99热| 久久青青草原亚洲av无码| 在线观看亚洲精品福利片| 精品国产女同疯狂摩擦2| 69av免费视频| 日韩123欧美字幕| 亚洲成A人V欧美综合天堂| 无码人妻免费| 九九热视频在线免费观看| 午夜色综合| 国产女人在线视频| 欧美亚洲中文精品三区| 久久精品国产91久久综合麻豆自制| 亚洲精品波多野结衣| 在线无码私拍| 在线免费无码视频|