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

經典讀寫進程問題的改進算法

2017-07-20 12:11:18李廣軍
魅力中國 2016年45期
關鍵詞:同步進程

李廣軍

【摘要】讀者-寫者問題是操作系統中經典進程同步問題之一,本文在闡述傳統解決讀者寫者問題方案的基礎上,給出了改進解決方案和算法。

【關鍵詞】進程; 同步; 互斥; 信號量

引言

利用信號量機制來實現讀者與寫者的同步問題,一直是操作系統中討論一個的經典進程同步問題.這類題型變化多、實例多,又與實際生活中的問題有著緊密聯系,本文利用信號量機制和wait、signal操作,在讀者-寫者問題傳統傳統解決方案的給出了兩種改進解決方案.

1.讀寫同步問題及傳統解決方案

1.1 問題內容

某共享文件,多個讀者(只讀文件進程)和多個寫者(只寫文件進程)在某個時間段內對該文件資源異步進行讀寫.為避免文件數據出現丟失修改和讀臟數據的情況,對讀者寫者要求如下:

(1)讀-讀共享,即允許多個讀者同時對文件進行讀操作.

(2)讀-寫互斥,即不允許讀者和寫者同時對文件分別進行讀寫操作.

(3)寫-寫互斥,即不允許多個寫者同時對文件進行寫操作.

1.2 傳統解決方案

解決方案:為實現讀者與寫者進程間在讀寫和寫寫互斥設置一個互斥信號量Wmutex.另外,再設置一個整型變量Readercount表示正在讀的進程數目.由于只要有一個讀進程在讀,便不允許寫進程去寫.因此,僅當Readercount =0,表示尚無讀進程在讀時,讀進程才需要執行Wait(Wmutex)操作.若Wait(Wmutex)操作成功,讀進程便可去讀,相應地做Readercount+1操作.同理,僅當讀進程在執行了Readercount-1操作后其值為0時,才須執行Signal(Wmutex)操作,以便讓寫進程操作.又因為Readercount是一個可被多個讀進程訪問的臨界資源,因此,也應該為它設置一個互斥信號量Rmutex.

2.讀寫問題改進解決方案

2.1 讀寫同步公平競爭解決方案

解決方案:為實現讀者與寫者進程間在讀寫和寫寫互斥設置一個互斥信號量Wmutex.另外,再設置一個整型變量Readercount表示正在讀的進程數目.由于只要有一個讀進程在讀,便不允許寫進程去寫.因此,僅當Readercount =0,表示尚無讀進程在讀時,讀進程才需要執行Wait(Wmutex)操作.若Wait(Wmutex)操作成功,讀進程便可去讀,相應地做Readercount+1操作.同理,僅當讀進程在執行了Readercount-1操作后其值為0時,才須執行Signal(Wmutex)操作,以便讓寫進程操作.又因為Readercount是一個可被多個讀進程訪問的臨界資源,因此,也應該為它設置一個互斥信號量Rmutex.

算法描述:

Var Rmutex,Wmutex:semaphore:=1,1;

Readercount:integer:=0;

Reader(讀者進程)

begin

repeat

wait(Rmutex);

if Readercount=0 then wait(Wmutex);

Readercount:= Readercount+1;

signal(Rmutex);

……

perform read operation;

……

wait(Rmutex);

Readercount:= Readercount-1;

if Readercount=0 then signal(Wmutex);

signal(Rmutex);

until false;

end

writer(寫者進程)

begin

repeat

wait(Wmutex);

……

perform write operation;

……

signal(Wmutex);

until false;

end

結果分析:該方案已經基本滿足題目要求,但讀者的高優先級可能造成后續的寫者由于被隨后而來的讀者插隊而長時間等待,直到全部讀者進程運行完畢后,才可以使用文件.所以說上述算法為讀者優先方案.

2.2 寫者優先的解決方案

在原讀者-寫者問題上增加兩點要求(1)僅當無寫者時才允許讀者使用文件;(2)多個讀寫進程等待時首先考慮喚醒寫者.

算法描述:

Var Rmutex,Wmutex, Wcmutex,Idmutex ,Enmutex:semaphore:=1,1,1,1,1;

Readercount,writercount:integer:=0,0;

Reader(讀者進程)

begin

repeat

wait(Enmutex);

wait(Idmutex);

wait(Rmutex);

if Readercount=0 then wait(Wmutex);

Readercount:= Readercount+1;

signal(Rmutex);

signal(Idmutex);

signal(Enmutex);

……

perform read operation;

……

wait(Rmutex);

Readercount:= Readercount-1;

if Readercount=0 then signal(Wmutex);

signal(Rmutex);

until false;

end

writer(寫者進程)

begin

repeat

wait(Wcmutex)

if writercount=0 then wait(Idmutex);

writercount:=writercount+1;

signal(Wcmutex);

wait(Wmutex);

……

perform write operation;

……

signal(Wmutex);

wait(Wcmutex)

writercount:=writercount-1;

if writercount=0 then signal(Idmutex);

signal(Wcmutex);

until false;

end

結果分析:該方案在滿足讀寫同步問題要求的前提下也實現寫者進程優先的要求.

3.結論

讀寫同步問題是進程同步問題中的經典實例,若對它問題能熟練掌握的話,那么對于常見一類進程多次訪問,而不同類的進程必須互斥訪問資源的控制這類問題也就不難解決了.

參考文獻

[1]帖軍,陸際光.同步互斥機制中的讀者-寫者模型[J].武漢:中南民族大學學報.2013-09

[2]湯子瀛,哲鳳屏.計算機操作系統[M].西安:西安電子科技大學出版社.2012-04

[3]趙素萍.淺談信號量的設置與使用[J].福建:福建電腦 2013-10

[4]程曉錦."讀者-寫者"問題的Java實現[J].北京:北京印刷學院學報,2010-03

[5]房永龍,周書民.基于線程的短信實時并發算法[J].上海:計算機應用與軟件 2016-04

[6]夏春梅.用記錄型信號量解決讀者—寫者問題[J].安微:機械工業出版社,2012-06

猜你喜歡
同步進程
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
素質教育理念下藝術教育改革的思路
政府職能的轉變與中國經濟結構調整的同步
商情(2016年42期)2016-12-23 14:26:58
公共藝術與城市設計的協調與同步
有源應答器DBPL解碼算法研究及FPGA實現
一種新型雙軌同步焊接的焊接裝置
時間統一系統秒同步故障遠程預警系統設計
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
男女平等進程中出現的新矛盾和新問題
主站蜘蛛池模板: 精品亚洲欧美中文字幕在线看| 在线观看av永久| 狠狠做深爱婷婷久久一区| 91精品视频在线播放| 亚洲中文字幕日产无码2021| 波多野结衣一级毛片| 久久人人97超碰人人澡爱香蕉| 婷婷亚洲视频| 无码内射中文字幕岛国片| 国产一级无码不卡视频| 欧美另类精品一区二区三区| 人人看人人鲁狠狠高清| 亚洲一级无毛片无码在线免费视频| 亚洲av无码人妻| 国产成人三级| 国产精品丝袜视频| 国产精品尤物在线| 秘书高跟黑色丝袜国产91在线| 国产成人资源| 国产精品人成在线播放| 亚洲综合中文字幕国产精品欧美| 国产农村精品一级毛片视频| 国产日韩精品欧美一区灰| 国产真实乱人视频| 亚洲人成在线精品| 婷婷六月在线| 日日拍夜夜操| 色婷婷亚洲综合五月| 波多野结衣无码AV在线| 国产精品va免费视频| 一级毛片无毒不卡直接观看 | 国产精品免费久久久久影院无码| 无码精油按摩潮喷在线播放| 不卡无码h在线观看| 高清无码一本到东京热| 任我操在线视频| 一级毛片免费不卡在线 | 久久亚洲中文字幕精品一区| 看看一级毛片| 国产极品嫩模在线观看91| 成人国产精品网站在线看| 色哟哟国产精品| 亚洲精品在线观看91| 亚洲男人在线天堂| 最新国产精品第1页| 香蕉网久久| 无码专区第一页| 国产成人久久777777| 天堂岛国av无码免费无禁网站| 亚洲一区无码在线| 欧美啪啪精品| 成人午夜免费视频| 毛片免费在线视频| 国产福利大秀91| 国产美女无遮挡免费视频网站| 国产AV无码专区亚洲A∨毛片| 毛片一区二区在线看| 欧美一级视频免费| 午夜老司机永久免费看片| 国产精品刺激对白在线| 精品无码一区二区三区电影| 国产一级精品毛片基地| 日韩第九页| 亚洲第一极品精品无码| 人妻免费无码不卡视频| 国产精品福利导航| 一本综合久久| 国产自无码视频在线观看| 国产无吗一区二区三区在线欢| 国产色伊人| 久久精品国产91久久综合麻豆自制| 欧美狠狠干| 好吊日免费视频| 99视频在线看| 欧美日韩动态图| 成人国产精品一级毛片天堂 | 午夜精品久久久久久久无码软件 | 伊人激情综合网| 91成人在线免费观看| 亚洲久悠悠色悠在线播放| 免费又黄又爽又猛大片午夜| 国产成人一区二区|