付費下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、實踐內(nèi)容簡要描述1.實踐目標1)學會用方法解決臨界區(qū)問題。2)了解Peterson 算法,并能簡單實現(xiàn)。2.實踐內(nèi)容利用Peterson 算法解決臨界區(qū)問題兄弟問題。協(xié)作線程兄弟問題設(shè)置競爭條件:1)2)t1 和t2,初值都為零;定義兩個全局變量:創(chuàng)建兩個線程acc1 和acc2:a)b)c)d)獲得一個隨機數(shù);從t1 減去這個隨機數(shù);將這個隨機數(shù)加到t2 中;t2=0。正確的話,二、實踐主要內(nèi)容1.設(shè)計思路利用Peterson 算法解決臨界區(qū)問題兄弟問題。flag2; /初值falseturn; do flag i= true; turn = j;while (flag j and tu
2、rn = j) ;臨界區(qū);flag i = false;剩余區(qū); while (1);Peterson 算法適用于兩個進程在臨界區(qū)與剩余區(qū)間互斥的交替執(zhí)行。兩個進P0 和P1,其中,當使用Pi 時,用Pj 來表示另一個進程,即i=線程序號-1, j=2-線程序號。變量 turn 表示了哪個進程可以進入其臨界區(qū),數(shù)組 flag 表示哪個進程想要進入其臨界區(qū)。2. 主要數(shù)據(jù)結(jié)構(gòu)/線程結(jié)構(gòu)體ThreadInfo struct ThreadInfoserial; double delay;bool flag2; /標志數(shù)組 turn;volatile volatilet1 = 0; /* t2 = 0
3、;he memory */3. 主要代碼結(jié)構(gòu)void acc(void* p)DWORD m_delay; m_serial;rand_num,t, counter = 0;/get info froaram_serial = (ThreadInfo*)(p)-serial;m_delay = (DWORD)(ThreadInfo*)(p)-delay*E_PER_SEC);srand(unsigned)(ThreadInfo*)(p)-delay);do prf(I am thread%d , I amng%05dth stepn, m_serial,counter);rand_num =
4、rand();/* prf(rand_num =%05d n,rand_num); */Sleep(m_delay);flagm_serial - 1 = true;/m_serial- 1-0 2-1turn = 2 - m_serial;/m_serial-turn 1-1 2-0 while (flag2 - m_serial & turn = 2 - m_serial);/begin critical_sectiont1 =t1 - rand_num;Sleep(m_delay);t2 = t =t2 + rand_num; t1 +t2;/critical_sectionendfla
5、gm_serial - 1 = false;counter+; while (t = 0) & (counter 10);prf(Nowt2 =%05dn,t);/system(pause); /end acc4. 主要代碼分析利用 Peterson 算法解決臨界區(qū)問題兄弟問題。兩個進P0 和 P1,其中,當使用 Pi 時,用 Pj 來表示另一個進程,即 i=線程序號-1,j=2-線程序號。變量turn 表示了哪個進程可以進入其臨界區(qū),即如果turn=i,那么進程Pi 允許在其臨界區(qū)內(nèi)執(zhí)行。數(shù)組 flag 表示哪個進程想要進入其臨界區(qū),即如果 flagi為true,那么進程Pi 想要進入其臨界
6、區(qū)。三、 實踐結(jié)果基本數(shù)據(jù)源程序代碼行數(shù) :144完成實踐投入的時間(小時數(shù)):1.3資料查閱時間:1b)編程調(diào)試時間:0.32.測試數(shù)據(jù)設(shè)計文件ex2.dat 中測試數(shù)據(jù)如下:1 52 23.分析程序運行截圖:程序運行結(jié)果正確,測試成功。四、實踐體會1.實踐過程中遇到及解決過程這個實驗, 要求的是解決臨界區(qū)問題。一開始, 不太明白為何為什么t2 會不等于 0。通過查閱相關(guān)資料書籍,并復習了臨界區(qū)相關(guān)知識,一步步調(diào)試程序才明白。再根據(jù)老師提供的 Peterson 算法互斥并解決了該問題。步驟,很快就實現(xiàn)Peterson 算法適用于兩個進程在臨界區(qū)與剩余區(qū)間互斥的交替執(zhí)行。則需要對兩個進程Pi
7、和Pj 進行合理的表示,經(jīng)過研究發(fā)現(xiàn), i 可以等于線程序號減 1,j 等于 2 減去線程序號。2.實踐過程中產(chǎn)生的錯誤及原因分析由于老師提供的樣例里有數(shù)據(jù)文件,一開始只是簡單的拷貝到相應(yīng)文件夾下,忘記改名了,導致了錯誤。3.實踐體會和收獲通過這次實驗,我基本了解了線程的創(chuàng)建及運行過程。雖然只是簡單的實現(xiàn)了Peterson 算法,但是覺得自己受益匪淺。能夠進一步的了解臨界區(qū)問題,從僅僅是操作系統(tǒng)課程的紙上談兵到自己實踐了一次,還是十分有意義的。五、 參考文獻Abraham Silberschatz ,Peter Baer Concepts ,6th Edition(影印版).Abraham Silberschatz ,Peter BaerConcepts ,Seventh Edition(影印版).Galvin and Greg:高等教育Gagne. Operating System. 2002.Gagne. Operating System. 2007.Galvin and Greg:高等教育3 Abraham Silberschatz ,Peter Baer Galvin and Greg Gagne.根等譯.操作系統(tǒng)概念 第六版,翻譯版. M.:高等教育. 2004.4 Abr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微型機械設(shè)計
- 大數(shù)據(jù)分析實戰(zhàn)教程及工具
- 2026年經(jīng)濟學基礎(chǔ)理論考試題集及答案
- 2026年環(huán)境保護法規(guī)污染治理方案設(shè)計題庫
- 2026年公務(wù)員結(jié)構(gòu)化面試題行政倫理與公共政策題
- 2026年計算機網(wǎng)絡(luò)技術(shù)進階路由配置題目集
- 2026年金融風險管理技能認證題目
- 2026年翻譯官職業(yè)能力水平測試操作題庫
- 2026年農(nóng)業(yè)科技發(fā)展與應(yīng)用專家考試題目
- 2025 小學二年級道德與法治上冊家庭垃圾我分類投放課件
- 大推力液體火箭發(fā)動機綜合測試中心建設(shè)項目可行性研究報告模板立項申批備案
- 湖北中煙2024年招聘考試真題(含答案解析)
- 運維檔案管理制度
- 2025年航空發(fā)動機涂層材料技術(shù)突破行業(yè)報告
- 2026年汽車美容店員工績效工資考核辦法細則
- 公路施工安全管理課件 模塊五 路基路面施工安全
- 2025智能化產(chǎn)業(yè)市場深度觀察及未來方向與投資潛力研究調(diào)研報告
- 藥企產(chǎn)品經(jīng)理工作全解析
- 護士夜班應(yīng)急預案
- 新版二年級道德與法治《我們都是中國人》教學設(shè)計(2課時)
- 經(jīng)濟學研究的前沿領(lǐng)域與趨勢-經(jīng)濟學研究前沿
評論
0/150
提交評論