

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 操作系統(tǒng)課程設(shè)計(jì)(設(shè)備管理)</p><p><b> 目 錄</b></p><p><b> 一 引言1</b></p><p> 1.1課程設(shè)計(jì)題目1</p><p> 1.2課程設(shè)計(jì)的目的1</p><p><b>
2、1.3小組人數(shù)1</b></p><p><b> 1.4編程語言1</b></p><p> 1.5課程設(shè)計(jì)內(nèi)容1</p><p> 1.6界面設(shè)計(jì)如圖1</p><p> 二 課程設(shè)計(jì)任務(wù)及要求2</p><p><b> 2.1設(shè)計(jì)任務(wù)2</
3、b></p><p><b> 2.2設(shè)計(jì)要求2</b></p><p> 三 算法及數(shù)據(jù)結(jié)構(gòu)2</p><p> 3.1算法的總體思想(流程)2</p><p> 3.2 Equipment模塊3</p><p> 3.2.1 功能3</p><p&
4、gt; 3.2.2 數(shù)據(jù)結(jié)構(gòu)3</p><p> 3.3 cpu模塊4</p><p> 3.3.1 功能4</p><p> 3.3.2 數(shù)據(jù)結(jié)構(gòu)4</p><p> 3.3.3 算法4</p><p> 3.4 form1模塊4</p><p> 3.4.1 功能
5、4</p><p> 3.4.2 算法5</p><p> 四 程序設(shè)計(jì)與實(shí)現(xiàn)5</p><p> 4.1 程序流程圖5</p><p> 4.2 基本思想6</p><p> 4.3 定義的公共變量或數(shù)據(jù)結(jié)構(gòu)7</p><p> 4.4 實(shí)驗(yàn)部分代碼7</p>
6、;<p> 4.5 運(yùn)行截圖12</p><p> 4.6 使用說明15</p><p><b> 五 總結(jié)15</b></p><p><b> 六 參考文獻(xiàn)15</b></p><p><b> 一 引言</b></p><
7、;p><b> 1.1課程設(shè)計(jì)題目</b></p><p> 實(shí)現(xiàn)一個(gè)模擬操作系統(tǒng)。</p><p> 1.2課程設(shè)計(jì)的目的</p><p> 通過模擬操作系統(tǒng)原理的實(shí)現(xiàn),加深對(duì)操作系統(tǒng)工作原理理解,進(jìn)一步了解操作系統(tǒng)的實(shí)現(xiàn)方法,并可練習(xí)合作完成系統(tǒng)的團(tuán)隊(duì)精神和提高程序設(shè)計(jì)能力。</p><p><b
8、> 1.3小組人數(shù)</b></p><p> 建議3~4人一組共同完成模擬系統(tǒng)的實(shí)現(xiàn)。</p><p><b> 1.4編程語言</b></p><p> 建議使用VC、VB、C#、Java等Windows環(huán)境下的程序設(shè)計(jì)語言,以借助這些語言環(huán)境來模擬硬件的一些并行工作。</p><p><
9、;b> 1.5課程設(shè)計(jì)內(nèi)容</b></p><p> 模擬采用多道程序設(shè)計(jì)方法的單用戶操作系統(tǒng),該操作系統(tǒng)包括進(jìn)程管理、存儲(chǔ)管理、設(shè)備管理、文件管理和用戶接口四部分。</p><p><b> 1.6界面設(shè)計(jì)如圖</b></p><p><b> 圖1.1</b></p><p
10、> 二 課程設(shè)計(jì)任務(wù)及要求</p><p><b> 2.1設(shè)計(jì)任務(wù)</b></p><p> 設(shè)計(jì)一個(gè)設(shè)備管理分配程序,按先來先服務(wù)的算法,對(duì)設(shè)備進(jìn)行分配。</p><p><b> 2.2設(shè)計(jì)要求</b></p><p> 設(shè)備管理主要包括設(shè)備的分配和回收。</p>
11、<p> (1)模擬系統(tǒng)中有A、B、C三種獨(dú)占型設(shè)備,A設(shè)備3個(gè),B設(shè)備2個(gè),C設(shè)備1個(gè)。</p><p> (2)因?yàn)槟M系統(tǒng)比較小,因此只要設(shè)備表設(shè)計(jì)合理即可。</p><p> (3)采用先來先服務(wù)分配策略,采用設(shè)備的安全分配方式。</p><p><b> (4)屏幕顯示</b></p><p&g
12、t; 每個(gè)設(shè)備是否被使用,哪個(gè)進(jìn)程在使用該設(shè)備,哪些進(jìn)程在等待使用該設(shè)備。</p><p><b> 三 算法及數(shù)據(jù)結(jié)構(gòu)</b></p><p> 3.1算法的總體思想(流程)</p><p> 設(shè)備管理的功能是按照設(shè)備的類型和系統(tǒng)采用的分配策略,為請(qǐng)求I/O進(jìn)程分配一條傳輸信息的完整通路。合理的控制I/O的控制過程,可最大限度的實(shí)現(xiàn)C
13、PU與設(shè)備、設(shè)備與設(shè)備之間的并行工作。</p><p> 1.監(jiān)視所有設(shè)備。為了能對(duì)設(shè)備實(shí)施有效的分配和控制,系統(tǒng)能獲取設(shè)備的狀態(tài)。設(shè)備狀態(tài)保存在設(shè)備控制表(DeviceTable)中,并動(dòng)態(tài)的記錄狀態(tài)的變化及有關(guān)信息。</p><p> 2.制定分配策略。按先來先服務(wù)的算法,進(jìn)行設(shè)備分配。</p><p> 3.設(shè)備的分配。把設(shè)備分配給進(jìn)程。</p&g
14、t;<p> 4.設(shè)備回收。當(dāng)進(jìn)程運(yùn)行完畢后,要釋放設(shè)備,則系統(tǒng)必須回收,一邊其他進(jìn)程使用。</p><p><b> 圖3.1</b></p><p> 3.2 Equipment模塊</p><p><b> 3.2.1 功能</b></p><p> 記錄設(shè)備的狀態(tài)及相
15、關(guān)信息</p><p><b> 檢查設(shè)備是否被調(diào)用</b></p><p><b> 對(duì)設(shè)備進(jìn)行分配</b></p><p> 進(jìn)程結(jié)束對(duì)設(shè)備進(jìn)行回收</p><p> 3.2.2 數(shù)據(jù)結(jié)構(gòu)</p><p> 一個(gè)DeviceTable類、一個(gè)DeviceTabl
16、e函數(shù)。</p><p> DeviceTable是設(shè)備分配表,說明設(shè)備的分配狀況,是否被占用。</p><p> Device類說明了設(shè)備是如何使用的。每個(gè)設(shè)備是否被使用,哪個(gè)進(jìn)程在使用該設(shè)備,哪些進(jìn)程在等待使用該設(shè)備。</p><p><b> 3.3 cpu模塊</b></p><p><b>
17、3.3.1 功能</b></p><p> 進(jìn)程對(duì)設(shè)備的調(diào)用,當(dāng)進(jìn)程使用設(shè)備時(shí),檢查設(shè)備是否空閑。如果空閑,則調(diào)用該設(shè)備;如果設(shè)備正被使用,則將該進(jìn)程阻塞到該設(shè)備的阻塞隊(duì)列中,等到設(shè)備空閑時(shí),再被喚醒,調(diào)用設(shè)備。</p><p> 3.3.2 數(shù)據(jù)結(jié)構(gòu)</p><p> 一個(gè)設(shè)備的枚舉類型DeviceType,一個(gè)cpu函數(shù)。</p>
18、<p> Cpu函數(shù)中調(diào)用Equipment模塊中的函數(shù)對(duì)設(shè)備進(jìn)行檢測(cè)。如果設(shè)備空閑,就調(diào)用該設(shè)備;如果設(shè)備真在被使用,則該進(jìn)程被阻塞到該設(shè)備的阻塞隊(duì)列中。</p><p><b> 3.3.3 算法</b></p><p> 通過調(diào)用Equipment模塊中的函數(shù)對(duì)設(shè)背進(jìn)行檢測(cè):如果設(shè)備空閑,則使用該設(shè)備;如果設(shè)備正在工作,則進(jìn)程被阻塞。</
19、p><p> 3.4 form1模塊</p><p><b> 3.4.1 功能</b></p><p><b> 界面管理</b></p><p><b> 圖3-2</b></p><p> 啟動(dòng)進(jìn)程,如果要使用設(shè)備,按先來先服務(wù)的算法調(diào)用設(shè)備
20、。此模塊中有一個(gè)設(shè)備調(diào)用函數(shù)public int Allocate(DeviceType type),根據(jù)設(shè)備的物理名調(diào)用設(shè)備,并將信息顯示顯示到界面中。</p><p><b> 3.4.2 算法</b></p><p> 先來先服務(wù)(FCFS, First Come First Service)分配算法:</p><p> 每一設(shè)備有
21、一隊(duì)列管理,當(dāng)多個(gè)作業(yè)或任務(wù)對(duì)同一設(shè)備提出I/O請(qǐng)求時(shí),該算法把請(qǐng)求的先后次序排成一個(gè)等待該設(shè)備的隊(duì)列,設(shè)備分配程序把設(shè)備分配給隊(duì)列中的第一各作業(yè)。</p><p><b> 四 程序設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b> 4.1 程序流程圖</b></p><p><b> 圖4-1</b&g
22、t;</p><p><b> 4.2 基本思想</b></p><p> 進(jìn)程調(diào)用設(shè)備。先調(diào)用A類設(shè)備, A類設(shè)備一共有三個(gè),如果有空閑的設(shè)備,則進(jìn)程就可調(diào)用;否則將進(jìn)程阻塞到設(shè)備A的阻塞隊(duì)列中,等待設(shè)備,等到A類設(shè)備有空閑設(shè)備時(shí),就喚醒該進(jìn)程,在斷點(diǎn)處繼續(xù)進(jìn)行程序。再調(diào)用B類設(shè)備, B類設(shè)備一共有兩個(gè),如果有空閑的設(shè)備,則進(jìn)程就可調(diào)用;否則將進(jìn)程阻塞到設(shè)備B的
23、阻塞隊(duì)列中,等待設(shè)備,等到B類設(shè)備有空閑設(shè)備時(shí),就喚醒該進(jìn)程,在斷點(diǎn)處繼續(xù)進(jìn)行程序。最后調(diào)用C類設(shè)備, C類設(shè)備只有一個(gè),C設(shè)備是臨界資源,如果C設(shè)備空閑,則進(jìn)程就可調(diào)用;否則將進(jìn)程阻塞到設(shè)備C的阻塞隊(duì)列中,等待設(shè)備,等到C設(shè)備空閑,就喚醒該進(jìn)程,在斷點(diǎn)處繼續(xù)進(jìn)行程序。</p><p> 4.3 定義的公共變量或數(shù)據(jù)結(jié)構(gòu)</p><p> Anum,Bnum,Cnum分別表示設(shè)備A,B
24、,C空閑數(shù)目</p><p> public enum DeviceType 枚舉型的數(shù)據(jù)類型 列舉出三種設(shè)備</p><p> public struct DeviceTable 定義一個(gè)設(shè)備表的結(jié)構(gòu)體</p><p> public class Device 設(shè)備類</p><p> public bool J
25、udgeDevice(DeviceType type) 檢查類型為type的設(shè)備是否可用</p><p> public int Allocate(DeviceType type) 分配設(shè)備,返回第幾個(gè)設(shè)備被占用</p><p> public void DeAllocate(DeviceType type, int a) 回收設(shè)備</p><p> 4.4
26、實(shí)驗(yàn)部分代碼</p><p> namespace WindowsApplication2</p><p> { public partial class Form1 : Form</p><p> { public static int Anum = 3, Bnum = 2, Cnum = 1;</p><p> public
27、enum DeviceType</p><p><b> { A,</b></p><p><b> B,</b></p><p><b> C,</b></p><p><b> }</b></p><p> publ
28、ic struct DeviceTable</p><p> { public DeviceType deviceType;</p><p> public int total;</p><p> public int[] useState; //0——空閑,1——占用</p><p> public DeviceTab
29、le(DeviceType type, int total) //定義一個(gè)構(gòu)造函數(shù)</p><p> { this.total = total;</p><p> deviceType = type;</p><p> useState = new int[total];</p><p> for (int i = 0; i
30、 < total; i++) //初始化每個(gè)設(shè)備</p><p> { useState[i] = 0;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></
31、p><p> public class Device</p><p> { private DeviceTable[] table = new DeviceTable[3]; //三種設(shè)備</p><p> private static Device device = new Device();</p><p> public
32、 Device()</p><p> { InitDevice();//初始化設(shè)備</p><p><b> }</b></p><p> private void InitDevice() //設(shè)備初始化,A設(shè)備3個(gè),B設(shè)備2個(gè),C設(shè)備1個(gè)</p><p> {
33、 table[0] = new DeviceTable(DeviceType.A, 3);</p><p> table[1] = new DeviceTable(DeviceType.B, 2);</p><p> table[2] = new DeviceTable(DeviceType.C, 1);</p><p><b> }</b&g
34、t;</p><p><b> //</b></p><p> /////////////////檢查類型為type的設(shè)備是否可用//////////////////////</p><p><b> //</b></p><p> public bool JudgeDevice(Devic
35、eType type)</p><p> { bool str = false;</p><p> switch (type)</p><p> { case DeviceType.A:</p><p> { if (table[0].total > 0)</p><p> { str
36、 = true;</p><p><b> }</b></p><p><b> break;</b></p><p><b> }</b></p><p> case DeviceType.B:</p><p> { if (table[
37、1].total > 0)</p><p> { str = true;</p><p><b> }</b></p><p><b> break;</b></p><p><b> }</b></p><p> case Devi
38、ceType.C:</p><p> { if (table[2].total > 0)</p><p> { str = true;</p><p><b> }</b></p><p><b> break;</b></p><p><b>
39、 }</b></p><p><b> }</b></p><p> return str;</p><p><b> }</b></p><p><b> //</b></p><p> ////////////分配設(shè)備,返回第
40、幾個(gè)設(shè)備被占用////////////////////////</p><p><b> //</b></p><p> public int Allocate(DeviceType type)</p><p> { int k = 0;</p><p> switch (type)
41、//使用switch語句選擇分配設(shè)備不同函數(shù)</p><p> { case DeviceType.A:</p><p> { table[0].total--;</p><p> for (int i = 0; i < 3; i++)</p><p> { if (table[0].useState[i] == 0
42、)</p><p> { table[0].useState[i] = 1;</p><p><b> k = i;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b&g
43、t; }</b></p><p><b> break;</b></p><p><b> }</b></p><p> case DeviceType.B:</p><p> { table[1].total--;</p><p> for (i
44、nt i = 0; i < 2; i++)</p><p><b> {</b></p><p> if (table[0].useState[i] == 0)</p><p> { table[0].useState[i] = 1;</p><p><b> k = i;</b>
45、;</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> }<
46、/b></p><p> case DeviceType.C:</p><p> { table[2].total--;</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</
47、b></p><p><b> return k;</b></p><p><b> }</b></p><p><b> //</b></p><p> //////////////////////////回收設(shè)備////////////////////////
48、////</p><p><b> //</b></p><p> public void DeAllocate(DeviceType type, int a)</p><p> { switch (type)</p><p> { case DeviceType.A:</p><p
49、> { table[0].total++;</p><p> table[0].useState[a] = 0;</p><p><b> break;</b></p><p><b> }</b></p><p> case DeviceType.B:</p>&
50、lt;p> { table[1].total++;</p><p> table[1].useState[a] = 0;</p><p><b> break;</b></p><p><b> }</b></p><p> case DeviceType.C:</p>
51、;<p> { table[2].total++;</p><p> table[2].useState[a] = 0;</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b><
52、;/p><p><b> }</b></p><p><b> }</b></p><p> public Form1()</p><p> { InitializeComponent();</p><p><b> }</b></p&g
53、t;<p><b> //</b></p><p> ///////////////////// 分配設(shè)備時(shí)的顏色變化////////////////////</p><p><b> //</b></p><p> private void button7_Click(object sender,
54、EventArgs e)</p><p> { Anum--;</p><p> string result1 = "";</p><p> Device d1 = new Device();</p><p> int m1 = d1.Allocate(DeviceType.A);</p><
55、;p> result1 = Convert.ToString(m1);</p><p> switch (Anum)</p><p> { case 2:</p><p> this.button1.BackColor = Color.Red;</p><p><b> break;</b></
56、p><p><b> case 1:</b></p><p> this.button2.BackColor = Color.Red;</p><p><b> break;</b></p><p><b> case 0:</b></p><p>
57、 this.button3.BackColor = Color.Red;</p><p><b> break;</b></p><p><b> default:</b></p><p> MessageBox.Show("無設(shè)備可分配");</p><p><b
58、> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> private void button8_Click(object sender, EventArgs e)</p><p> { Bnum--;&
59、lt;/p><p> string result2 = "";</p><p> Device d2 = new Device();</p><p> int m2 = d2.Allocate(DeviceType.B);</p><p> switch (Bnum)</p><p> {
60、 case 1:</p><p> this.button4.BackColor = Color.Red;</p><p><b> break;</b></p><p><b> case 0:</b></p><p> this.button5.BackColor = Color.Red
61、;</p><p><b> break;</b></p><p><b> default:</b></p><p> MessageBox.Show("無設(shè)備可分配");</p><p><b> break;</b></p>&l
62、t;p><b> }</b></p><p> result2 = Convert.ToString(m2);</p><p><b> }</b></p><p> private void button9_Click(object sender, EventArgs e)</p><p
63、> { Cnum--;</p><p> string result3 = "";</p><p> Device d1 = new Device();</p><p> int m3 = d1.Allocate(DeviceType.C);</p><p> if (Cnum == 0)</p&
64、gt;<p> { this.button6.BackColor = Color.Red;</p><p><b> }</b></p><p><b> else</b></p><p> { MessageBox.Show("無設(shè)備可分配");</p>&
65、lt;p><b> }</b></p><p> result3 = Convert.ToString(m3);</p><p><b> }</b></p><p><b> ?。?lt;/b></p><p><b> }</b></p&
66、gt;<p><b> 4.5 運(yùn)行截圖</b></p><p><b> 屏幕顯示</b></p><p> 主存使用情況示意圖,哪些主存塊已分配,哪些主存塊未分配,以不同的顏色表示,灰色表示設(shè)備空閑,紅色表示設(shè)備已分配</p><p> 初始化為所有設(shè)備都是空閑狀態(tài),如下圖所示</p>
67、<p><b> 圖4-2</b></p><p> 分配設(shè)備A正常情況下,如圖所示:</p><p><b> 圖4-3</b></p><p> 分配設(shè)備A非正常情況下,例如需要設(shè)備數(shù)超過實(shí)際有的設(shè)備數(shù)時(shí),如圖所示:</p><p><b> 圖4-4</
68、b></p><p> 3個(gè)設(shè)備A都被分配出去,回收設(shè)備A時(shí)正常情況如下圖所示:</p><p><b> 圖4-5</b></p><p><b> 4.6 使用說明</b></p><p> 設(shè)備管理主要包括設(shè)備的分配和回收。</p><p><b&g
69、t; 1. 設(shè)備的模擬</b></p><p> 模擬系統(tǒng)中有A、B、C三種獨(dú)占型設(shè)備,A設(shè)備3個(gè),B設(shè)備2個(gè),C設(shè)備1個(gè)。</p><p><b> 數(shù)據(jù)結(jié)構(gòu)</b></p><p> 因?yàn)槟M系統(tǒng)比較小,因此只要設(shè)備表設(shè)計(jì)合理既可。</p><p><b> 設(shè)備分配</b>
70、;</p><p> 采用先來先服務(wù)策略。</p><p><b> 設(shè)備回收</b></p><p> 回收設(shè)備后,要注意喚醒等待設(shè)備的進(jìn)程。</p><p><b> 屏幕顯示</b></p><p> 屏幕顯示要求包括:每個(gè)設(shè)備是否被使用,哪個(gè)進(jìn)程在使用該設(shè)備
71、,哪些進(jìn)程在等待使用該設(shè)備。其中灰色表示設(shè)備空閑,紅色表示設(shè)備已被分配。</p><p><b> 五 總結(jié)</b></p><p> 設(shè)備管理主要監(jiān)視所有設(shè)備的狀態(tài),制定分配策略,完成設(shè)備的分配和回收,合理的控制I/O的控制過程,最大限度的實(shí)現(xiàn)CPU與設(shè)備、設(shè)備與設(shè)備之間的把并行工作。</p><p> 通過對(duì)這次操作系統(tǒng)課程設(shè)計(jì)的親自
72、參與和操作,使我深刻體會(huì)到了:只要你想做只要你想學(xué)沒有弄不懂得事情,工程里面也不能不在乎細(xì)節(jié),等等。感覺很受益匪淺。懂得了操作系統(tǒng)包括的四部分內(nèi)容:文件管理和用戶接口、存儲(chǔ)管理、設(shè)備管理、進(jìn)程管理之間的內(nèi)在聯(lián)系。加深了我對(duì)這門課程的理解。鍛煉了自己在考慮全局也不是細(xì)節(jié)的能力。通過這次實(shí)驗(yàn),再一次熟悉并深入掌握了程序設(shè)計(jì)語言和界面設(shè)計(jì)。同時(shí),我也深深體會(huì)到了團(tuán)隊(duì)的重要性,如果沒有同組人的互相鼓勵(lì)和督促我跟本不能很快的完成任務(wù)。一滴水的力量
73、是有限的,但匯聚成溪流將是美麗的。雖然我們每個(gè)人的力量都是有限的,但是激烈的討論、相互的鼓勵(lì)使我們?cè)趯?shí)踐中成長。感謝和我一起面對(duì)的同伴們,因?yàn)橛心銈兾也抛兊们趭^。更感謝給予我們諄諄教導(dǎo)的老師,在我們猶豫困惑時(shí)給予我們指導(dǎo),謝謝您!</p><p><b> 六 參考文獻(xiàn)</b></p><p> 劉振鵬、王煜、張明 《操作系統(tǒng)》(第三版)北京:中國鐵道出版社&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設(shè)計(jì)——操作系統(tǒng)課程設(shè)計(jì)模擬操作系統(tǒng)
- 內(nèi)存管理(操作系統(tǒng))操作系統(tǒng)課程設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)-- 操作系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)存儲(chǔ)管理
- 課程設(shè)計(jì)(實(shí)驗(yàn)設(shè)備管理系統(tǒng))
- 操作系統(tǒng)課程設(shè)計(jì)---進(jìn)程管理系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)--文件管理系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)---文件管理系統(tǒng)設(shè)計(jì)
- 【操作系統(tǒng)課程設(shè)計(jì)】?jī)?nèi)存管理子系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告----文件管理系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)之獨(dú)占設(shè)備的分配
- 課程設(shè)計(jì)--設(shè)備管理系統(tǒng)實(shí)現(xiàn)—管理模塊
- 操作系統(tǒng)課程設(shè)計(jì)--信息發(fā)布管理系統(tǒng)
- c語言課程設(shè)計(jì)--- 設(shè)備管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論