版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、在計(jì)算機(jī)操作系統(tǒng)中, PV操作是進(jìn)程管理中的難點(diǎn)。 首先應(yīng)弄清PV操作的含義:PV操作由P操作原語和V操作原語組成(原語是不可中斷的過 程),對(duì)信號(hào)量進(jìn)行操作,具體定義如下:P( S):將信號(hào)量 S的值減1,即S=S-1;如果S30,則該進(jìn)程繼續(xù)執(zhí)行;否則該進(jìn)程置為等待狀態(tài),排入等待隊(duì)列。V( S):將信- 號(hào)量 S的值加1,即S=S+1;如果S0,則該進(jìn)程繼續(xù)執(zhí)行;否則釋放隊(duì)列中第一個(gè)等待信號(hào)量的進(jìn)程。PV操作的意義:我們用信號(hào)量及PV操作來實(shí)現(xiàn)進(jìn)程的同步和互斥。PV操作屬于進(jìn)程的低級(jí)通信。什么是信號(hào)量?信號(hào)量(semaphore)的數(shù)據(jù)結(jié)構(gòu)為一個(gè)值和一個(gè)指針,指針指向等待該信 號(hào)量的下一個(gè)
2、進(jìn)程。 信號(hào)量的值與相應(yīng)資源的使用情況有關(guān)。當(dāng)它的值大于0時(shí),表示當(dāng)前可用資源的數(shù)量;當(dāng)它的值小于 0時(shí),其絕對(duì)值表示等待使用該資源的進(jìn)程個(gè)數(shù)。注意,信號(hào)量的值僅能由PV操作來改變。一般來說,信號(hào)量 S30時(shí),S表示可用資源的數(shù)量。執(zhí)行一次P操作意味著請(qǐng)求分配一個(gè)單位資源,因此 S的值減1 ;當(dāng)S0時(shí),表示已經(jīng)沒有可用資源,請(qǐng)求者必須等待別的 進(jìn)程釋放該類資源,它才能運(yùn)行下去。而執(zhí)行一個(gè)V操作意味著釋放一個(gè)單位資源,因此S的值加1 ;若S0表示有某些進(jìn)程正在等待該資源,因此要喚醒一個(gè)等待狀態(tài)的進(jìn)程,使 之運(yùn)行下去。利用信號(hào)量和PV操作實(shí)現(xiàn)進(jìn)程互斥的一般模型是:進(jìn)程P1進(jìn)程P2進(jìn)程PnP (S)
3、;P (S);P (S);臨界區(qū);臨界區(qū);臨界區(qū);V (S);V (S);V (S);其中信號(hào)量S用于互斥,初值為1。使用PV操作實(shí)現(xiàn)進(jìn)程互斥時(shí)應(yīng)該注意的是:(1) 每個(gè)程序中用戶實(shí)現(xiàn)互斥的P、V操作必須成對(duì)出現(xiàn),先做 P操作,進(jìn)臨界區(qū), 后做V操作,出臨界區(qū)。若有多個(gè)分支,要認(rèn)真檢查其成對(duì)性。(2) P、V操作應(yīng)分別緊靠臨界區(qū)的頭尾部,臨界區(qū)的代碼應(yīng)盡可能短,不能有死循環(huán)。(3) 互斥信號(hào)量的初值一般為 1。利用信號(hào)量和PV操作實(shí)現(xiàn)進(jìn)程同步PV操作是典型的同步機(jī)制之一。 用一個(gè)信號(hào)量與一個(gè)消息聯(lián)系起來, 當(dāng)信號(hào)量的值為0時(shí), 表示期望的消息尚未產(chǎn)生;當(dāng)信號(hào)量的值非 0時(shí),表示期望的消息已經(jīng)存
4、在。用 PV操作實(shí) 現(xiàn)進(jìn)程同步時(shí),調(diào)用 P操作測(cè)試消息是否到達(dá),調(diào)用 V操作發(fā)送消息。使用PV操作實(shí)現(xiàn)進(jìn)程同步時(shí)應(yīng)該注意的是:(1) 分析進(jìn)程間的制約關(guān)系,確定信號(hào)量種類。在保持進(jìn)程間有正確的同步關(guān)系情況 下,哪個(gè)進(jìn)程先執(zhí)行,哪些進(jìn)程后執(zhí)行,彼此間通過什么資源(信號(hào)量)進(jìn)行協(xié)調(diào),從而明 確要設(shè)置哪些信號(hào)(2) 信號(hào)量的初值與相應(yīng)資源的數(shù)量有關(guān),也與P、V操作在程序代碼中出現(xiàn)的位置有關(guān)。(3) 同一信號(hào)量的 P、V操作要成對(duì)出現(xiàn),但它們分別在不同的進(jìn)程代碼中。【例1】生產(chǎn)者-消費(fèi)者問題在多道程序環(huán)境下,進(jìn)程同步是一個(gè)十分重要又令人感興趣的問題,而生產(chǎn)者-消費(fèi)者問題是其中一個(gè)有代表性的進(jìn)程同步問題
5、。下面我們給出了各種情況下的生產(chǎn)者-消費(fèi)者問題,深入地分析和透徹地理解這個(gè)例子,對(duì)于全面解決操作系統(tǒng)內(nèi)的同步、互斥問題將有很大幫助。(1) 一個(gè)生產(chǎn)者,一個(gè)消費(fèi)者,公用一個(gè)緩沖區(qū)。 定義兩個(gè)同步信號(hào)量:empty表示緩沖區(qū)是否為空,初值為1。full 表示緩沖區(qū)中是否為滿,初值為 0。 生產(chǎn)者進(jìn)程while(TRUE)生產(chǎn)一個(gè)產(chǎn)品;P(empty);產(chǎn)品送往 Buffer; V(full); 消費(fèi)者進(jìn)程while(True)P(full);從Buffer取出一個(gè)產(chǎn)品;V(empty);消費(fèi)該產(chǎn)品;(2) 一個(gè)生產(chǎn)者,一個(gè)消費(fèi)者,公用n個(gè)環(huán)形緩沖區(qū)。 定義兩個(gè)同步信號(hào)量:empty 表示緩沖區(qū)是
6、否為空,初值為 n。 full 表示緩沖區(qū)中是否為滿,初值為0。設(shè)緩沖區(qū)的編號(hào)為1n-1,定義兩個(gè)指針in和out,分別是生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程使 用的指,指向下一個(gè)可用的緩沖區(qū)。生產(chǎn)者進(jìn)程while(TRUE)生產(chǎn)一個(gè)產(chǎn)品;P(empty);產(chǎn)品送往buffer (in);in=(in+1)mod n ;V(full);消費(fèi)者進(jìn)程while(TRUE)P(full);從buffer (out)中取出產(chǎn)品;out=(out+1)mod n ;V(empty);消費(fèi)該產(chǎn)品;(3) 一組生產(chǎn)者,一組消費(fèi)者,公用n個(gè)環(huán)形緩沖區(qū)在這個(gè)問題中,不僅生產(chǎn)者與消費(fèi)者之間要同步,而且各個(gè)生產(chǎn)者之間、各個(gè)消費(fèi)者
7、之間還必須互斥地訪問緩沖區(qū)。定義四個(gè)信號(hào)量:empty表示緩沖區(qū)是否為空,初值為n。full 表示緩沖區(qū)中是否為滿,初值為0。mutex1 生產(chǎn)者之間的互斥信號(hào)量,初值為1。mutex2 消費(fèi)者之間的互斥信號(hào)量,初值為1。設(shè)緩沖區(qū)的編號(hào)為1n-1,定義兩個(gè)指針in和out,分別是生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程使 用的指針,指向下一個(gè)可用的緩沖區(qū)。生產(chǎn)者進(jìn)程while(TRUE)生產(chǎn)一個(gè)產(chǎn)品;P(empty);P(mutex1);產(chǎn)品送往buffer (in);in=(in+1)mod n ;V(mutex1);V(full);消費(fèi)者進(jìn)程while(TRUE)P(full)P(mutex2);從buff
8、er (out)中取出產(chǎn)品;out=(out+1)mod n ;V (mutex2);V(empty);消費(fèi)該產(chǎn)品;需要注意的是無論在生產(chǎn)者進(jìn)程中還是在消費(fèi)者進(jìn)程中,兩個(gè)P操作的次序不能顛倒。應(yīng)先執(zhí)行同步信號(hào)量的 P操作,然后再執(zhí)行互斥信號(hào)量的P操作,否則可能造成進(jìn)程死鎖?!纠?】桌上有一空盤,允許存放一只水果。爸爸可向盤中放蘋果,也可向盤中放桔子,兒 子專等吃盤中的桔子,女兒專等吃盤中的蘋果。規(guī)定當(dāng)盤空時(shí)一次只能放一只水果供吃者取 用,請(qǐng)用P、V原語實(shí)現(xiàn)爸爸、兒子、女兒三個(gè)并發(fā)進(jìn)程的同步。分析 在本題中,爸爸、兒子、女兒共用一個(gè)盤子,盤中一次只能放一個(gè)水果。當(dāng)盤子為空 時(shí),爸爸可將一個(gè)水果放
9、入果盤中。若放入果盤中的是桔子,則允許兒子吃,女兒必須等待;若放入果盤中的是蘋果,則允許女兒吃,兒子必須等待。本題實(shí)際上是生產(chǎn)者-消費(fèi)者問題的一種變形。這里,生產(chǎn)者放入緩沖區(qū)的產(chǎn)品有兩類,消費(fèi)者也有兩類,每類消費(fèi)者只消費(fèi) 其中固定的一類產(chǎn)品。解:在本題中,應(yīng)設(shè)置三個(gè)信號(hào)量S、So、Sa,信號(hào)量S表示盤子是否為空,其初值為I;信號(hào)量So表示盤中是否有桔子,其初值為 0;信號(hào)量Sa表示盤中是否有蘋果,其初值為 0。同步描述如下:int S= 1;int Sa= 0;int So = 0;main ()cobegi nfather();/* 父親進(jìn)程 */son();/*兒子進(jìn)程*/daughter
10、。;/* 女兒進(jìn)程 */coe ndfather()while(1)P(S);將水果放入盤中;if (放入的是桔子)V(So);else V(Sa);son()while(1)P(So);從盤中取出桔子;V(S);吃桔子; daughter()while(1)P(Sa);從盤中取出蘋果V(S);吃蘋果;思考題:四個(gè)進(jìn)程進(jìn)程A和進(jìn)程C不能同時(shí)讀文件 F,進(jìn)程 程并發(fā)執(zhí)行時(shí)能按系統(tǒng)要求使用文件,現(xiàn)用(1) 應(yīng)定義的信號(hào)量及初值:(2) 在下列的程序中填上適當(dāng)?shù)腁()1;read F;2;A、B、C、D都要讀一個(gè)共享文件 F,系統(tǒng)允許多個(gè)進(jìn)程同時(shí)讀文件F。但限制是B和進(jìn)程D也不能同時(shí)讀文件 F。為了
11、使這四個(gè)進(jìn) PV操作進(jìn)行管理,請(qǐng)回答下面的問題:B()3; read F;4;P、OV操作,以保證它們能正確并發(fā)工作:D()7; read F;8;C();read F;;思考題解答:(1 )定義二個(gè)信號(hào)量S1,進(jìn)程B和D使用信號(hào)量S2。(2)從1到8分別為:P(S1) V(S1) P(S2) V(S2) P(S1) V(S1) P(S2) V(S2)S1、S2,初值均為曰.1,即:S仁1,S2=1。其中進(jìn)程A和C使用信號(hào)量四、一輩子孤單并不可怕,如果我們可以從中提煉出自由,那我們就是幸福的。許多長久的關(guān)系都以為忘記了當(dāng)初所堅(jiān)持與擁有的,最后又開始羨慕起孤單的人。五、戀愛,在感情上,當(dāng)你想征服
12、對(duì)方的時(shí)候,實(shí)際上已經(jīng)在一定程度上被對(duì)方征服了。首先是對(duì)方對(duì)你的吸引,然后才是你征服對(duì)方的欲望。六、沒有心如刀割,不再依依不舍,只有,沉默相隔七、和你在一起只是我不想給任何人機(jī)會(huì)。八、一個(gè)人總要走陌生的路,看陌生的風(fēng)景,聽陌生的歌,然后在某個(gè)不經(jīng)意的瞬間,你會(huì)發(fā)現(xiàn),原本是費(fèi)盡心機(jī)想要忘記的事情真的就那么忘記了。九、無論我們愛過還是就這樣錯(cuò)過,我都會(huì)感謝你。因?yàn)橛鲆娔?,我才知道思念一個(gè)人的滋味;因?yàn)橛鲆娔悖也胖栏星檎娴牟荒苊銖?qiáng);因?yàn)橛鲆娔?,我才知道我的心不是真的死了?因?yàn)橛鲆娔?,我才知道我也能擁有美麗的記憶。所以,無論你怎么對(duì)待我,我都會(huì)用心去寬恕你的狠,用心去銘記你的好。十、愛情需要的是
13、彼此互相的照顧,當(dāng)我們心愛的人累了,我們不是坐在一邊不理,而是多陪對(duì)方談?wù)勑?,?duì)方需要什么的時(shí)候,自己盡量的滿足對(duì)方的需求,至少可以讓對(duì)方知道,在 自己身邊的感覺是如此的溫暖。十一、自從你出現(xiàn)後,我才知道原來有人愛是那麼的美好十二、有的人與人之間的相遇就像是流星,瞬間迸發(fā)出令人羨慕的火花,卻注定只是匆匆而過。十三、有一些人,這一輩子都不會(huì)在一起,但是有一種感覺卻可以藏在心里守一輩子。十四、不要輕易說愛,許下的承諾就是欠下的債!十五、不管你是多么的愛對(duì)方,但千萬不可當(dāng)?shù)谌?。?xì)想,默然。因?yàn)橹?,這樣的故事一開始便注定了結(jié)局,一開始就注定在這個(gè)故事里,很多人會(huì)受傷。離開的總是要離開,挽留 不住,
14、就像彼岸花,窮其一生,花葉仍是生生相錯(cuò)。十六、什么叫快樂?就是掩飾自己的悲傷對(duì)每個(gè)人微笑。十七、愛情與視力無關(guān),任你看得再怎么清楚,在愛里只有模糊。因?yàn)樘斆魈碇蔷蜎]有辦法戀愛,愛情根本是盲目的。十八、戀愛就像剪頭發(fā),這種事情不到最后是不知道結(jié)果的,結(jié)果能否令每個(gè)人皆大歡喜,無人保障,但是一切都是自己的選擇。十九、因?yàn)閻圻^,所以慈悲:因?yàn)槎茫詫捜?。二十、那些隨風(fēng)散落的微笑眼神,仿似落寞詩人的愛情詩句,一段一段,錯(cuò)落成行。孤獨(dú)的鐘鳴徹夜悲鳴,那些如花容顏,終不敵過時(shí)間切割的頹敗,我們憂傷的仰望陽光,看流年未亡, 年華盡耗。二十一、一個(gè)人一生可以愛上很多的人,等你獲得真正屬于你的幸福之后,
15、你就會(huì)明白一起的傷痛其實(shí)是一種財(cái)富,它讓你學(xué)會(huì)更好地去把握和珍惜你愛的人。二十二、愛一個(gè)人,由天由人卻由不得自己。不由自主只因刻骨銘心,不離不棄只因無法代替。總是心有期待,才有燈火闌珊處的望眼等待;總是情懷善待,才有心甘情愿地付出所有, 習(xí)慣的依賴。也許你的世界一無所有,但在愛你人的心里,你就是全世界。珍惜一個(gè)深愛你的人,更要珍藏一顆為你融入生命的心。二十三、就在我以為一切都沒有改變只要我高興就可以重新扎入你的懷抱一輩子不出來的時(shí)候,其實(shí)一切都已經(jīng)滄海桑田了,我像是一躲在殼里長眠的鸚鵡螺,等我探出頭來打量這個(gè)世 界的時(shí)候,我原先居住的大海已經(jīng)成為高不可攀的山脈,而我,是一塊僵死在山崖上的化石二十四、幸福,不是長生不老,不是大魚大肉,不是權(quán)傾朝野。幸福是每一個(gè)微小的生活愿望達(dá)成。當(dāng)你想吃的時(shí)候有得吃,想被愛的時(shí)候有人來愛你。二十五、有時(shí),愛也是種傷害。殘忍的人,選擇傷害別人,善良的人,選擇傷害自己。二十
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 換熱器課程設(shè)計(jì)致謝范文
- 二零二五年度合資成立智能物流配送公司合作協(xié)議3篇
- 通信安全課程設(shè)計(jì)題目
- 波紋阻火器課程設(shè)計(jì)
- 二零二五年度智能制造定向增發(fā)股份認(rèn)購協(xié)議書3篇
- 英語宏觀課程設(shè)計(jì)
- 二零二五年度智能通信基站場(chǎng)地租用及升級(jí)合同3篇
- 辦公室文員崗位的職責(zé)描述模版(2篇)
- 二零二五年度按揭中二手房買賣合同范本:按揭利率風(fēng)險(xiǎn)控制版3篇
- 小學(xué)“陽光少年”評(píng)選活動(dòng)方案(3篇)
- 人教版七年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)完整版課件
- 初中生物人教七年級(jí)上冊(cè)(2023年更新) 生物圈中的綠色植物18 開花和結(jié)果
- 水電解質(zhì)及酸堿平衡的業(yè)務(wù)學(xué)習(xí)
- 統(tǒng)編版一年級(jí)語文上冊(cè) 第5單元教材解讀 PPT
- CSCEC8XN-SP-安全總監(jiān)項(xiàng)目實(shí)操手冊(cè)
- 口腔衛(wèi)生保健知識(shí)講座班會(huì)全文PPT
- 成都市產(chǎn)業(yè)園區(qū)物業(yè)服務(wù)等級(jí)劃分二級(jí)標(biāo)準(zhǔn)整理版
- 最新監(jiān)督學(xué)模擬試卷及答案解析
- ASCO7000系列GROUP5控制盤使用手冊(cè)
- 污水處理廠關(guān)鍵部位施工監(jiān)理控制要點(diǎn)
- 財(cái)政投資評(píng)審中心工作流程
評(píng)論
0/150
提交評(píng)論