




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
12023年1月15日北京交通大學計算機學院翟高壽主講教師:翟高壽(副教授)聯(lián)系電話辦)電子郵件:gszhai@制作人:翟高壽制作單位:北京交通大學計算機學院《操作系統(tǒng)實驗指導》22023年1月15日北京交通大學計算機學院翟高壽教學要求待續(xù)一、完成四個必做實驗課題,并通過課程作業(yè)網(wǎng)站提交相應完整的實驗課題電子版打包文件,至少包含實驗報告、源程序和可執(zhí)行系統(tǒng)(截至結束周周日)。二、實驗報告應給出實驗目的、實驗設計、源程序清單和說明、算法及關鍵數(shù)據(jù)結構設計、實驗問題回答、實驗過程中間結果屏幕截圖、疑難解惑及經(jīng)驗教訓[含他人專解]。1、頁面置換算法(1-4周)2、線程同步機制(5-8周)3、內存管理器(9-12周)4、文件系統(tǒng)模擬(13-16周)實驗相互檢查學習融入報告32023年1月15日北京交通大學計算機學院翟高壽教學要求續(xù)完三、電子版目錄結構要求:
1、以自己的學號姓名和課題編號、課題簡稱為一級目錄名,如09281001岳飛02線程同步機制
2、目錄組織結構示例
09281001岳飛02線程同步機制
|--實驗報告文檔.doc|--無同步控制的線程并發(fā)運行|--源程序子目錄+可執(zhí)行文件|--Windows同步線程并發(fā)運行|--源程序子目錄+可執(zhí)行文件∟Peterson同步線程并發(fā)運行|--源程序子目錄+可執(zhí)行文件42023年1月15日北京交通大學計算機學院翟高壽線程同步機制52023年1月15日北京交通大學計算機學院翟高壽線程同步機制實驗目的通過觀察共享數(shù)據(jù)資源但不受控制的兩個線程的并發(fā)運行輸出結果,體會同步機制的必要性和重要性。然后利用現(xiàn)有操作系統(tǒng)提供的同步機制編程實現(xiàn)關于該兩個線程的有序控制,同時要求根據(jù)同步機制的Peterson軟件解決方案嘗試自己編程實現(xiàn)同步機制和用于同一問題的解決,并基于程序運行時間長短比較兩種同步機制。62023年1月15日北京交通大學計算機學院翟高壽線程同步機制課題基本要求1基于給定銀行賬戶間轉賬操作模擬代碼作為線程執(zhí)行代碼,在主線程中創(chuàng)建兩個并發(fā)線程,編程實現(xiàn)并觀察程序運行結果和予以解釋說明。利用Windows互斥信號量操作函數(shù)解決上述線程并發(fā)問題,并分析、嘗試和討論線程執(zhí)行體中有關信號量操作函數(shù)調用的正確位置。72023年1月15日北京交通大學計算機學院翟高壽線程同步機制課題基本要求2根據(jù)同步機制的Peterson軟件解決方案嘗試自己編程實現(xiàn)線程同步機制和用于上述線程并發(fā)問題的解決,并基于程序運行時間長短將其與基于Windows互斥信號量的線程同步機制的效率展開比較。其間,可規(guī)定線程主體代碼循環(huán)執(zhí)行1000000次。82023年1月15日北京交通大學計算機學院翟高壽共享數(shù)據(jù)資源的并發(fā)線程代碼示例intnAccount1=0,nAccount2=0;//主線程創(chuàng)建的全局變量intnLoop=0;intnTemp1,nTemp2,nRandom;do{ nTemp1=nAccount1; nTemp2=nAccount2; nRandom=rand(); nAccount1=nTemp1+nRandom; nAccount2=nTemp2-nRandom; nLoop++;}while((nAccount1+nAccount2)==0);printf("循環(huán)次數(shù)為%d\n",nLoop);銀行賬戶間轉賬操作模擬92023年1月15日北京交通大學計算機學院翟高壽Windows線程編程知識1線程函數(shù)原型及框架DWORDWINAPIThreadExecutive(LPVOIDlpParameter){
int*pID=(int*)lpParameter; …… return0;}#include<windows.h>102023年1月15日北京交通大學計算機學院翟高壽Windows線程編程知識2線程創(chuàng)建函數(shù)原型HANDLECreateThread(LPSECURITY_ATTRIBUTESlpThreadAttributes,DWORDdwStackSize,LPTHREAD_START_ROUTINElpStartAddress,LPVOIDlpParameter,DWORDdwCreationFlags,LPDWORDlpThreadId);&nPID1/&nPID2intnPID1=1,nPID=2;ThreadExecutive112023年1月15日北京交通大學計算機學院翟高壽Windows線程編程知識3等待線程函數(shù)原型DWORDWaitForMultipleObjects(DWORDnCount,CONSTHANDLE*lpHandles,BOOLfWaitAll,DWORDdwMilliseconds);hThreadHANDLEhThread[2];INFINITETRUE122023年1月15日北京交通大學計算機學院翟高壽Windows線程編程知識4互斥信號量創(chuàng)建函數(shù)原型HANDLECreateMutex(LPSECURITY_ATTRIBUTESlpMutexAttributes,BOOLbInitialOwner,LPCTSTRlpName);FALSE132023年1月15日北京交通大學計算機學院翟高壽Windows線程編程知識5互斥信號量釋放喚醒函數(shù)原型BOOLReleaseMutex(HANDLEhMutex);142023年1月15日北京交通大學計算機學院翟高壽Windows線程編程知識6互斥信號量申請(上鎖/等待)函數(shù)原型DWORDWaitForSingleObject(HANDLEhHandle,DWORDdwMilliseconds);INFINITE152023年1月15日北京交通大學計算機學院翟高壽Windows線程編程知識7線程掛起函數(shù)原型VOIDSleep(DWORDdwMilliseconds);0162023年1月15日北京交通大學計算機學院翟高壽Windows時間編程知識系統(tǒng)時間獲取函數(shù)原型DWORDGetTickCount(VOID)172023年1月15日北京交通大學計算機學院翟高壽線程同步機制
相關知識說明182023年1月15日北京交通大學計算機學院翟高壽利用軟件方法解決進程互斥問題進程互斥算法1設置訪問編號進程互斥算法2設置訪問標志進程互斥算法3設置訪問標志進程互斥算法4編號+標志問題Peterson解決方案192023年1月15日北京交通大學計算機學院翟高壽進程互斥算法1設置訪問編號Varturn:integer:=i;repeat……
whileturnidono_op;
臨界區(qū)
turn:=j;……untilfalse;202023年1月15日北京交通大學計算機學院翟高壽進程互斥算法2設置訪問標志Varflagi,flagj:boolean:=false,false;repeatwhileflagjdono_op;flagi:=true;
臨界區(qū)
flagi:=false;untilfalse;212023年1月15日北京交通大學計算機學院翟高壽進程互斥算法3設置訪問標志Varflagi,flagj:boolean:=false,false;repeatflagi:=true;
whileflagjdono_op;
臨界區(qū)
flagi:=false;untilfalse;222023年1月15日北京交通大學計算機學院翟高壽進程互斥算法4編號+標志Varflagi,flagj:boolean;
turn:integer;repeatflagi:=true;turn:=j;
while(flagjandturn=j)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租責任合同范本
- 買賣合同和定制合同范本
- 傭金類合同范本
- 電氣控制PLC習題(含答案)
- 廠房檢查合同范本
- 上海旅游心得體會
- 三年級第一學期語文教學計劃
- 三八婦女節(jié)工會活動策劃方案
- 亞克力板材合同范本
- 廠房帶看合同范本
- 化工原理Ⅱ學習通超星期末考試答案章節(jié)答案2024年
- 責任護理組長競選
- 基因家族分析
- 手機以舊換新活動方案
- 高中英語牛津譯林版(2020)中國文化+素材
- 施工便道施工方案三工區(qū)縱向便道施工方案
- 2024年河南省高考對口升學語文英語試題
- 2025年高考地理復習:農(nóng)業(yè)(解析版)
- 《中醫(yī)藥學概論》期末考試復習題庫(含答案)
- 義務教育道德與法治課程標準2022版試題庫及答案
- 2024年《形勢與政策》知識考試題庫(含答案)
評論
0/150
提交評論