操作系統(tǒng)課設 實現(xiàn)讀者寫者Reader_第1頁
操作系統(tǒng)課設 實現(xiàn)讀者寫者Reader_第2頁
操作系統(tǒng)課設 實現(xiàn)讀者寫者Reader_第3頁
操作系統(tǒng)課設 實現(xiàn)讀者寫者Reader_第4頁
操作系統(tǒng)課設 實現(xiàn)讀者寫者Reader_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——操作系統(tǒng)課設實現(xiàn)讀者寫者(Reader武漢理工大學《操作系統(tǒng))》課程設計

學號:

課程設計

課程名稱

操作系統(tǒng)

計算機科學與技術學院

軟件工程

學院專業(yè)

班級姓名指導教師

2023——2023學年第1學期

I

武漢理工大學《操作系統(tǒng))》課程設計

1《操作系統(tǒng)原理》課程設計指導書

課程編號:

課程名稱:操作系統(tǒng)/OperatingSystem周數(shù)/學分:1周/1學分

先修課程:高級語言程序設計、匯編語言、數(shù)據(jù)結構、計算機組成原理適用專業(yè):計算機科學與技術、軟件工程開課學院、系或教研室:計算機科學與技術學院

一、課程設計的目的

通過對操作系統(tǒng)內核實現(xiàn)代碼的閱讀、修改、設計,理解和把握繁雜的操作系統(tǒng)的工作原理。

二、課程設計的內容和要求

1.系統(tǒng)調用

學習在Linux中產生一個系統(tǒng)調用以及怎樣通過往Linux內核中增加一個新函數(shù)從而在該內核空間中實現(xiàn)對用戶空間的讀寫。這個函數(shù)的功能是返回當前的系統(tǒng)時間。

試驗條件要求:每人一臺Linux主機且有超級用戶權限。2.內核定時器

通過研究內核的時間管理算法學習內核源代碼。然后應用這些知識并且使用“信號〞建立一種用戶空間機制來測量一個多線程程序的執(zhí)行時間。

試驗條件要求:每人一臺Linux主機且有超級用戶權限。3.實現(xiàn)生產者消費者(Bounded–BufferProblem)問題

通過研究Linux的線程機制和信號量實現(xiàn)生產者消費者(BoundedBuffer)問題的并發(fā)控制。

試驗條件要求:每人一臺與Linux主機聯(lián)網(wǎng)的Windows主機,普通用戶權限。4.實現(xiàn)讀者寫者(Reader-WriterProblem)問題

通過研究Linux的線程機制和信號量實現(xiàn)讀者寫者(Reader-Writer)問題并

II

武漢理工大學《操作系統(tǒng))》課程設計

發(fā)控制。

試驗條件要求:每人一臺與Linux主機聯(lián)網(wǎng)的Windows主機,普通用戶權限。

三、課程設計進度安排

序號123消化資料、系統(tǒng)設計編程、調試撰寫報告合計

1天3天1天5天階段內容所需時間四、課程設計說明書與圖紙要求

應包含如下內容:1.設計題目與要求

2.總的設計思想及系統(tǒng)平臺、語言、工具等。3.數(shù)據(jù)結構與模塊說明(功能與流程圖)4.源程序

5.運行結果與運行狀況6.調試記錄7.自我評析和總結

五、課程設計評分標準

序123評分項目學習態(tài)度認真,遵守紀律。設計結果。設計報告規(guī)范(包括設計圖、設計代碼)満分204040總得分/等實得分注:優(yōu)(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60

分以下為不及格。

六、課程設計參考資料

推薦教材:

III

武漢理工大學《操作系統(tǒng))》課程設計

《OperatingSystemConcepts(SixthEdition)(操作系統(tǒng)概念)影印版》,

參考書:

《計算機操作系統(tǒng)教程(第三版)》《操作系統(tǒng)原理(第三版)》,執(zhí)筆:楊銘熙

審閱:陳天煌審定:徐東平

主編:AbrahamSilberschatz出版社:高等教育出版社出版或修訂時間:2023年10月

主編:張堯學

出版社:清華大學出版社出版或修訂時間:2023年7月

主編:龐麗萍

出版社:華中科技大學出版社出版或修訂時間:2000年12月

IV

武漢理工大學《操作系統(tǒng))》課程設計

課程設計任務書

學生姓名:專業(yè)班級:軟件工程指導教師:劉軍工作單位:計算機科學與技術學院題目:實現(xiàn)讀者寫者(Reader-WriterProblem)問題試驗條件要求:通過研究Linux的線程機制和信號量實現(xiàn)讀者寫者

(Reader-Writer)問題并發(fā)控制。每人一臺與Linux主機聯(lián)網(wǎng)的Windows主機,普通用戶權限。

課程設計進度安排

序號123合計

5天消化資料、系統(tǒng)設計編程、調試撰寫報告1天3天1天階段內容所需時間2023年12月26日

V

武漢理工大學《操作系統(tǒng))》課程設計

目錄

1設計目的與要求1

1.1課程設計目的11.2課程設計要求12總的設計思想及系統(tǒng)平臺、語言、工具等1

2.1設計思想12.2系統(tǒng)平臺及使用語言22.3開發(fā)工具的選擇23數(shù)據(jù)結構和模塊說明2

3.1主函數(shù)23.2寫者線程函數(shù)33.3讀者線程函數(shù)34源程序55運行結果與運行狀況136調試記錄307自我評析和總結318武漢理工大學《操作系統(tǒng))》課程設計

5源程序

/*

reader-writerProblemauther:zhengfeirj0315Modole:

Shareddata

semaphoremutex,wrt;Initially

mutex=1,wrt=1,readcount=0writerprocess:begindo{wait(wrt);writing;

signal(wrt);

}while(1);end

Readerprocess:begindo{wait(mutex);readcount++;

if(readcount==1)

wait(rt);

signal(mutex);

reading;

wait(mutex);

5

武漢理工大學《操作系統(tǒng))》課程設計

readcount--;if(readcount==0)

signal(wrt);

signal(mutex);

}while(1);end***/

#include#include#include#include#include#include#include#include#include#include#include#definereaderNum5#definewriterNum7#defineBUFFERSIZE20usingnamespacestd;

intwriteRoom[writerNum];//tostorewhichbuffereverywriterarewritingintreadRoom[readerNum];//tostorewhichbuffereveryreaderarereadingintbuffer[BUFFERSIZE];//thebuffer

6

武漢理工大學《操作系統(tǒng))》課程設計

stringbufferOwn[BUFFERSIZE];//whousethebufferintreadcount=0;intreadp=0;intwriterp=0;

intcontent_id=0;//thecontentid

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論