版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
年5月29日操作系統(tǒng)課程設計設備管理文檔僅供參考操作系統(tǒng)課程設計(設備管理)目錄一引言 11.1課程設計題目 11.2課程設計的目的 11.3小組人數(shù) 11.4編程語言 11.5課程設計內容 11.6界面設計如圖 1二課程設計任務及要求 22.1設計任務 22.2設計要求 2三算法及數(shù)據(jù)結構 23.1算法的總體思想(流程) 23.2Equipment模塊 33.2.1功能 33.2.2數(shù)據(jù)結構 33.3cpu模塊 43.3.1功能 43.3.2數(shù)據(jù)結構 43.3.3算法 43.4form1模塊 43.4.1功能 43.4.2算法 5四程序設計與實現(xiàn) 54.1程序流程圖 54.2基本思想 64.3定義的公共變量或數(shù)據(jù)結構 74.4實驗部分代碼 74.5運行截圖 124.6使用說明 15五總結 15六參考文獻 15一引言1.1課程設計題目實現(xiàn)一個模擬操作系統(tǒng)。1.2課程設計的目的經(jīng)過模擬操作系統(tǒng)原理的實現(xiàn),加深對操作系統(tǒng)工作原理理解,進一步了解操作系統(tǒng)的實現(xiàn)方法,并可練習合作完成系統(tǒng)的團隊精神和提高程序設計能力。1.3小組人數(shù)建議3~4人一組共同完成模擬系統(tǒng)的實現(xiàn)。1.4編程語言建議使用VC、VB、C#、Java等Windows環(huán)境下的程序設計語言,以借助這些語言環(huán)境來模擬硬件的一些并行工作。1.5課程設計內容模擬采用多道程序設計方法的單用戶操作系統(tǒng),該操作系統(tǒng)包括進程管理、存儲管理、設備管理、文件管理和用戶接口四部分。1.6界面設計如圖圖1.1二課程設計任務及要求2.1設計任務設計一個設備管理分配程序,按先來先服務的算法,對設備進行分配。2.2設計要求設備管理主要包括設備的分配和回收。(1)模擬系統(tǒng)中有A、B、C三種獨占型設備,A設備3個,B設備2個,C設備1個。(2)因為模擬系統(tǒng)比較小,因此只要設備表設計合理即可。(3)采用先來先服務分配策略,采用設備的安全分配方式。(4)屏幕顯示每個設備是否被使用,哪個進程在使用該設備,哪些進程在等待使用該設備。三算法及數(shù)據(jù)結構3.1算法的總體思想(流程)設備管理的功能是按照設備的類型和系統(tǒng)采用的分配策略,為請求I/O進程分配一條傳輸信息的完整通路。合理的控制I/O的控制過程,可最大限度的實現(xiàn)CPU與設備、設備與設備之間的并行工作。1.監(jiān)視所有設備。為了能對設備實施有效的分配和控制,系統(tǒng)能獲取設備的狀態(tài)。設備狀態(tài)保存在設備控制表(DeviceTable)中,并動態(tài)的記錄狀態(tài)的變化及有關信息。2.制定分配策略。按先來先服務的算法,進行設備分配。 3.設備的分配。把設備分配給進程。 4.設備回收。當進程運行完畢后,要釋放設備,則系統(tǒng)必須回收,一邊其它進程使用。圖3.13.2Equipment模塊3.2.1功能記錄設備的狀態(tài)及相關信息檢查設備是否被調用對設備進行分配進程結束對設備進行回收3.2.2數(shù)據(jù)結構 一個DeviceTable類、一個DeviceTable函數(shù)。DeviceTable是設備分配表,說明設備的分配狀況,是否被占用。Device類說明了設備是如何使用的。每個設備是否被使用,哪個進程在使用該設備,哪些進程在等待使用該設備。3.3cpu模塊3.3.1功能進程對設備的調用,當進程使用設備時,檢查設備是否空閑。如果空閑,則調用該設備;如果設備正被使用,則將該進程阻塞到該設備的阻塞隊列中,等到設備空閑時,再被喚醒,調用設備。3.3.2數(shù)據(jù)結構一個設備的枚舉類型DeviceType,一個cpu函數(shù)。Cpu函數(shù)中調用Equipment模塊中的函數(shù)對設備進行檢測。如果設備空閑,就調用該設備;如果設備真在被使用,則該進程被阻塞到該設備的阻塞隊列中。3.3.3算法經(jīng)過調用Equipment模塊中的函數(shù)對設背進行檢測:如果設備空閑,則使用該設備;如果設備正在工作,則進程被阻塞。3.4form1模塊3.4.1功能 界面管理圖3-2 啟動進程,如果要使用設備,按先來先服務的算法調用設備。此模塊中有一個設備調用函數(shù)publicintAllocate(DeviceTypetype),根據(jù)設備的物理名調用設備,并將信息顯示顯示到界面中。3.4.2算法 先來先服務(FCFS,FirstComeFirstService)分配算法:每一設備有一隊列管理,當多個作業(yè)或任務對同一設備提出I/O請求時,該算法把請求的先后次序排成一個等待該設備的隊列,設備分配程序把設備分配給隊列中的第一各作業(yè)。四程序設計與實現(xiàn)4.1程序流程圖YYNNNY執(zhí)行的進程根據(jù)設備的物理名調用設備設備a是否空閑設備b是否空閑設備c是否空閑進程結束,回收設備Y將該進程放到設備a的阻塞隊列中將該進程放到設備b的阻塞隊列中將該進程放到設備c的阻塞隊列中圖4-14.2基本思想 進程調用設備。先調用A類設備,A類設備一共有三個,如果有空閑的設備,則進程就可調用;否則將進程阻塞到設備A的阻塞隊列中,等待設備,等到A類設備有空閑設備時,就喚醒該進程,在斷點處繼續(xù)進行程序。再調用B類設備,B類設備一共有兩個,如果有空閑的設備,則進程就可調用;否則將進程阻塞到設備B的阻塞隊列中,等待設備,等到B類設備有空閑設備時,就喚醒該進程,在斷點處繼續(xù)進行程序。最后調用C類設備,C類設備只有一個,C設備是臨界資源,如果C設備空閑,則進程就可調用;否則將進程阻塞到設備C的阻塞隊列中,等待設備,等到C設備空閑,就喚醒該進程,在斷點處繼續(xù)進行程序。4.3定義的公共變量或數(shù)據(jù)結構Anum,Bnum,Cnum分別表示設備A,B,C空閑數(shù)目publicenumDeviceType枚舉型的數(shù)據(jù)類型列舉出三種設備publicstructDeviceTable定義一個設備表的結構體publicclassDevice設備類publicboolJudgeDevice(DeviceTypetype)檢查類型為type的設備是否可用publicintAllocate(DeviceTypetype)分配設備,返回第幾個設備被占用publicvoidDeAllocate(DeviceTypetype,inta)回收設備4.4實驗部分代碼namespaceWindowsApplication2{publicpartialclassForm1:Form{publicstaticintAnum=3,Bnum=2,Cnum=1;publicenumDeviceType{A,B,C,}publicstructDeviceTable{publicDeviceTypedeviceType;publicinttotal;publicint[]useState;//0——空閑,1——占用publicDeviceTable(DeviceTypetype,inttotal)//定義一個構造函數(shù){this.total=total;deviceType=type;useState=newint[total];for(inti=0;i<total;i++)//初始化每個設備{useState[i]=0;}}}publicclassDevice{privateDeviceTable[]table=newDeviceTable[3];//三種設備privatestaticDevicedevice=newDevice();publicDevice(){InitDevice();//初始化設備}privatevoidInitDevice()//設備初始化,A設備3個,B設備2個,C設備1個{table[0]=newDeviceTable(DeviceType.A,3);table[1]=newDeviceTable(DeviceType.B,2);table[2]=newDeviceTable(DeviceType.C,1);}///////////////////檢查類型為type的設備是否可用////////////////////////publicboolJudgeDevice(DeviceTypetype){boolstr=false;switch(type){caseDeviceType.A:{if(table[0].total>0){str=true;}break;}caseDeviceType.B:{if(table[1].total>0){str=true;}break;}caseDeviceType.C:{if(table[2].total>0){str=true;}break;}}returnstr;}//////////////分配設備,返回第幾個設備被占用//////////////////////////publicintAllocate(DeviceTypetype){intk=0;switch(type)//使用switch語句選擇分配設備不同函數(shù){caseDeviceType.A:{table[0].total--;for(inti=0;i<3;i++){if(table[0].useState[i]==0){table[0].useState[i]=1;k=i;break;}}break;}caseDeviceType.B:{table[1].total--;for(inti=0;i<2;i++){if(table[0].useState[i]==0){table[0].useState[i]=1;k=i;break;}}break;}caseDeviceType.C:{table[2].total--;break;}}returnk;}////////////////////////////回收設備//////////////////////////////publicvoidDeAllocate(DeviceTypetype,inta){switch(type){caseDeviceType.A:{table[0].total++;table[0].useState[a]=0;break;}caseDeviceType.B:{table[1].total++;table[1].useState[a]=0;break;}caseDeviceType.C:{table[2].total++;table[2].useState[a]=0;break;}}}}publicForm1(){InitializeComponent();}///////////////////////分配設備時的顏色變化//////////////////////privatevoidbutton7_Click(objectsender,EventArgse){Anum--;stringresult1="";Deviced1=newDevice();intm1=d1.Allocate(DeviceType.A);result1=Convert.ToString(m1);switch(Anum){case2:this.button1.BackColor=Color.Red;break;case1:this.button2.BackColor=Color.Red;break;case0:this.button3.BackColor=Color.Red;break;default:MessageBox.Show("無設備可分配");break;}}privatevoidbutton8_Click(objectsender,EventArgse){Bnum--;stringresult2="";Deviced2=newDevice();intm2=d2.Allocate(DeviceType.B);switch(Bnum){case1:this.button4.BackColor=Color.Red;break;case0:this.button5.BackColor=Color.Red;break;default:MessageBox.Show("無設備可分配");break;}result2=Convert.ToString(m2);}privatevoidbutton9_Click(objectsender,EventArgse){Cnum--;stringresult3="";Deviced1=newDevice();intm3=d1.Allocate(DeviceType.C);if(Cnum==0){this.button6.BackCo
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學年第一學期XX市第七中學高二年級生物教學反思:實驗課與核心概念理解實踐
- 員工進廠安全教育培訓
- 倉庫安全培訓教材
- 員工自我認識培訓
- 好利來培訓教學課件
- 倉庫6S培訓課件
- 員工服務形象培訓
- 員工報發(fā)票培訓
- 員工應急能力培訓
- 基金從業(yè)培訓課件
- 2026四川省物誠益商醫(yī)藥有限公司招聘業(yè)務員6人備考題庫完整答案詳解
- 安全教育培訓管理制度及流程
- 煤礦春節(jié)放假期間的工作方案及安全技術措施
- 醫(yī)院消防安全宣傳教育
- 新高考數(shù)學之圓錐曲線綜合講義第26講外接圓問題(原卷版+解析)
- 中藥湯劑煎煮技術規(guī)范-公示稿
- 新版出口報關單模板
- 微型課題研究的過程與方法課件
- 藥學導論緒論-課件
- 14K118 空調通風管道的加固
- 加油站財務管理制度細則
評論
0/150
提交評論