操作系統(tǒng)課程設計要點說明_第1頁
操作系統(tǒng)課程設計要點說明_第2頁
操作系統(tǒng)課程設計要點說明_第3頁
操作系統(tǒng)課程設計要點說明_第4頁
操作系統(tǒng)課程設計要點說明_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、I / 15更多企業(yè)學院:更多企業(yè)學院:中小企業(yè)管理全能版183 套講座+89700 份資料總經(jīng)理、高層管理49 套講座+16388 份資料中層管理學院46 套講座+6020 份資料 國學智慧、易經(jīng)46 套講座人力資源學院56 套講座+27123 份資料各階段員工培訓學院77 套講座+ 324 份資料員工管理企業(yè)學院67 套講座+ 8720 份資料工廠生產(chǎn)管理學院52 套講座+ 13920 份資料財務管理學院53 套講座+ 17945 份資料 銷售經(jīng)理學院56 套講座+ 14350 份資料銷售人員培訓學院72 套講座+ 4879 份資料II / 15操作系統(tǒng)課程設計(設備管理)目目 錄錄III

2、 / 151 / 15一一引言引言1.11.1 課程設計題目課程設計題目實現(xiàn)一個模擬操作系統(tǒng)。1.21.2 課程設計的目的課程設計的目的通過模擬操作系統(tǒng)原理的實現(xiàn),加深對操作系統(tǒng)工作原理理解,進一步了解操作系統(tǒng)的實現(xiàn)方法,并可練習合作完成系統(tǒng)的團隊精神和提高程序設計能力。1.31.3 小組人數(shù)小組人數(shù)建議 34 人一組共同完成模擬系統(tǒng)的實現(xiàn)。1.41.4 編程語言編程語言建議使用 VC、VB、C#、Java 等 Windows 環(huán)境下的程序設計語言,以借助這些語言環(huán)境來模擬硬件的一些并行工作。1.51.5 課程設計容課程設計容模擬采用多道程序設計方法的單用戶操作系統(tǒng),該操作系統(tǒng)包括進程管理、存

3、儲管理、設備管理、文件管理和用戶接口四部分。1.61.6 界面設計如圖界面設計如圖圖圖 1.11.1二二 課程設計任務與要求課程設計任務與要求2.12.1 設計任務設計任務設計一個設備管理分配程序,按先來先服務的算法,對設備進行分配。2.22.2 設計要求設計要求 設備管理主要包括設備的分配和回收。(1)模擬系統(tǒng)中有 A、B、C 三種獨占型設備,A 設備 3 個,B 設備 2 個,C 設備 1 個。(2)因為模擬系統(tǒng)比較小,因此只要設備表設計合理即可。(3)采用先來先服務分配策略,采用設備的安全分配方式。(4)屏幕顯示2 / 15每個設備是否被使用,哪個進程在使用該設備,哪些進程在等待使用該設

4、備。三三 算法與數(shù)據(jù)結構算法與數(shù)據(jù)結構3.13.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)必須回收,一邊其

5、他進程使用。圖 3.13.23.2EquipmentEquipment 模塊模塊3.2.13.2.1 功能功能記錄設備的狀態(tài)與相關信息檢查設備是否被調用對設備進行分配進程結束對設備進行回收3.2.23.2.2 數(shù)據(jù)結構數(shù)據(jù)結構一個 DeviceTable 類、一個 DeviceTable 函數(shù)。DeviceTable 是設備分配表,說明設備的分配狀況,是否被占用。Device 類說明了設備是如何使用的。每個設備是否被使用,哪個進程在使用該設備,哪些進程在等待使用該設備。3.3cpu3.3cpu 模塊模塊3.3.13.3.1 功能功能進程對設備的調用,當進程使用設備時,檢查設備是否空閑。如果空閑

6、,3 / 15則調用該設備;如果設備正被使用,則將該進程阻塞到該設備的阻塞隊列中,等到設備空閑時,再被喚醒,調用設備。3.3.23.3.2 數(shù)據(jù)結構數(shù)據(jù)結構一個設備的枚舉類型 DeviceType,一個 cpu 函數(shù)。Cpu 函數(shù)中調用 Equipment 模塊中的函數(shù)對設備進行檢測。如果設備空閑,就調用該設備;如果設備真在被使用,則該進程被阻塞到該設備的阻塞隊列中。3.3.33.3.3 算法算法通過調用 Equipment 模塊中的函數(shù)對設背進行檢測:如果設備空閑,則使用該設備;如果設備正在工作,則進程被阻塞。3.4form13.4form1 模塊模塊3.4.13.4.1 功能功能界面管理圖

7、 3-2啟動進程,如果要使用設備,按先來先服務的算法調用設備。此模塊中有一個設備調用函數(shù)public int Allocate(DeviceType type),根據(jù)設備的物理名調用設備,并將信息顯示顯示到界面中。3.4.23.4.2 算法算法先來先服務(FCFS, First Come First Service)分配算法:每一設備有一隊列管理,當多個作業(yè)或任務對同一設備提出 I/O 請求時,該算法把請求的先后次序排成一個等待該設備的隊列,設備分配程序把設備分配給隊列中的第一各作業(yè)。四四程序設計與實現(xiàn)程序設計與實現(xiàn)4.14.1 程序流程圖程序流程圖4 / 15YNNNY執(zhí)行的進程根據(jù)設備的物

8、理名調用設備設備 a 是否空閑設備 b 是否空閑設備 c 是否空閑進程結束,回收設備Y將該進程放到設備 a 的阻塞隊列中將該進程放到設備 b 的阻塞隊列中將該進程放到設備 c 的阻塞隊列中圖 4-14.24.2 基本思想基本思想進程調用設備。先調用 A 類設備, A 類設備一共有三個,如果有空閑的設備,則進程就可調用;否則將進程阻塞到設備 A 的阻塞隊列中,等待設備,等到 A 類設備有空閑設備時,就喚醒該進程,在斷點處繼續(xù)進行程序。再調用 B 類設備, B 類設備一共有兩個,如果有空閑的設備,則進程就可調用;否則將進程阻塞到設備 B 的阻塞隊列中,5 / 15等待設備,等到 B 類設備有空閑設

9、備時,就喚醒該進程,在斷點處繼續(xù)進行程序。最后調用 C 類設備, C 類設備只有一個,C 設備是臨界資源,如果 C 設備空閑,則進程就可調用;否則將進程阻塞到設備 C 的阻塞隊列中,等待設備,等到 C 設備空閑,就喚醒該進程,在斷點處繼續(xù)進行程序。4.34.3 定義的公共變量或數(shù)據(jù)結構定義的公共變量或數(shù)據(jù)結構Anum,Bnum,Cnum 分別表示設備 A,B,C 空閑數(shù)目public enum DeviceType 枚舉型的數(shù)據(jù)類型 列舉出三種設備public struct DeviceTable 定義一個設備表的結構體 public class Device 設備類public bool J

10、udgeDevice(DeviceType type) 檢查類型為 type 的設備是否可用public int Allocate(DeviceType type) 分配設備,返回第幾個設備被占用public void DeAllocate(DeviceType type, int a) 回收設備4.44.4 實驗部分代碼實驗部分代碼namespace WindowsApplication2public partial class Form1 : Form public static int Anum = 3, Bnum = 2, Cnum = 1; public enum DeviceTyp

11、e A,B, C, public struct DeviceTable public DeviceType deviceType; public int total; public int useState; /0空閑,1占用 public DeviceTable(DeviceType type, int total) /定義一個構造函數(shù) this.total = total; deviceType = type; useState = new inttotal; for (int i = 0; i 0) str = true; break; case DeviceType.B: if (ta

12、ble1.total 0) str = true; break; case DeviceType.C: if (table2.total 0)7 / 15 str = true; break; return str; /分配設備分配設備, ,返回第幾個設備被占用返回第幾個設備被占用/ / public int Allocate(DeviceType type) int k = 0; switch (type) /使用switch語句選擇分配設備不同函數(shù) case DeviceType.A: table0.total-; for (int i = 0; i 3; i+) if (table0.u

13、seStatei = 0) table0.useStatei = 1; k = i; break; break; case DeviceType.B: table1.total-; for (int i = 0; i 2; i+) if (table0.useStatei = 0) table0.useStatei = 1; k = i; break; break;8 / 15 case DeviceType.C: table2.total-; break; return k; / /回收設備回收設備/ / public void DeAllocate(DeviceType type, int

14、 a) switch (type) case DeviceType.A: table0.total+; table0.useStatea = 0; break; case DeviceType.B: table1.total+; table1.useStatea = 0; break; case DeviceType.C: table2.total+; table2.useStatea = 0; break; public Form1() InitializeComponent(); 9 / 15/ / 分配設備時的顏色變化分配設備時的顏色變化/ / private void button7_

15、Click(object sender, EventArgs e) Anum-; string result1 = ; Device d1 = new Device(); int m1 = d1.Allocate(DeviceType.A); result1 = Convert.ToString(m1); switch (Anum) case 2: this.button1.BackColor = Color.Red; break; case 1: this.button2.BackColor = Color.Red; break; case 0: this.button3.BackColor

16、 = Color.Red; break; default: MessageBox.Show(無設備可分配); break; private void button8_Click(object sender, EventArgs e) Bnum-; string result2 = ; Device d2 = new Device(); int m2 = d2.Allocate(DeviceType.B); switch (Bnum) case 1: this.button4.BackColor = Color.Red; break; case 0: this.button5.BackColor

17、 = Color.Red;10 / 15 break; default: MessageBox.Show(無設備可分配); break; result2 = Convert.ToString(m2); private void button9_Click(object sender, EventArgs e) Cnum-; string result3 = ; Device d1 = new Device(); int m3 = d1.Allocate(DeviceType.C); if (Cnum = 0) this.button6.BackColor = Color.Red; else M

18、essageBox.Show(無設備可分配); result3 = Convert.ToString(m3); 4.54.5 運行截圖運行截圖屏幕顯示主存使用情況示意圖,哪些主存塊已分配,哪些主存塊未分配,以不同的顏色表示,灰色表示設備空閑,紅色表示設備已分配初始化為所有設備都是空閑狀態(tài),如下圖所示圖 4-211 / 15分配設備 A 正常情況下,如圖所示:圖 4-3分配設備 A 非正常情況下,例如需要設備數(shù)超過實際有的設備數(shù)時,如圖所示:圖 4-43 個設備 A 都被分配出去,回收設備 A 時正常情況如下圖所示:圖 4-54.64.6 使用說明使用說明設備管理主要包括設備的分配和回收。1. 設備的模擬 模擬系統(tǒng)中有 A、B、C 三種獨占型設備,A 設備 3 個,B 設備 2 個,C 設備 1 個。2. 數(shù)據(jù)結構 因為模擬系統(tǒng)

溫馨提示

  • 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

提交評論