進(jìn)程調(diào)度模擬程序課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)報(bào)告</p><p>  專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  班級(jí): 09計(jì)本班 </p><p>  題目名稱: 進(jìn)程調(diào)度模擬程序 </p><p>  完成日期: 2012年6月20日 </p><p><b>  目

2、錄</b></p><p>  第一章 課程設(shè)計(jì)目的3</p><p>  第二章 課程設(shè)計(jì)要求3</p><p>  第三章 設(shè)計(jì)思想4</p><p>  3.1 基本概念4</p><p>  3.2 進(jìn)程控制塊5</p><p>  3.3 算法思想5</p

3、><p>  第四章 詳細(xì)設(shè)計(jì)6</p><p>  4.1 程序設(shè)計(jì)流程圖6</p><p>  4.2 程序各模塊功能介紹6</p><p>  第五章 運(yùn)行結(jié)果及分析14</p><p>  5.1 程序調(diào)試14</p><p>  5.2 運(yùn)行結(jié)果15</p>&l

4、t;p>  5.3 結(jié)果分析17</p><p><b>  第六章 總結(jié)17</b></p><p><b>  參考文獻(xiàn)18</b></p><p><b>  進(jìn)程調(diào)度模擬程序 </b></p><p>  第一章 課程設(shè)計(jì)目的</p><

5、p>  深入掌握進(jìn)程調(diào)度的概念原理和實(shí)現(xiàn)方法,理解操作系統(tǒng)進(jìn)程管理中進(jìn)行進(jìn)程調(diào)度的過程和編程方法,掌握先來先服務(wù)調(diào)度算法和最高優(yōu)先數(shù)優(yōu)先的調(diào)度算法,創(chuàng)建進(jìn)程控制塊PCB。理解進(jìn)程的狀態(tài)及變化,動(dòng)態(tài)顯示每個(gè)進(jìn)程的當(dāng)前狀態(tài)及進(jìn)程的調(diào)度情況。進(jìn)程調(diào)度是處理機(jī)管理的核心內(nèi)容。本次課程設(shè)計(jì)用C語言編寫模擬進(jìn)程調(diào)度程序,以便加深理解有關(guān)進(jìn)程控制快、進(jìn)程隊(duì)列等概念,并體會(huì)最高優(yōu)先數(shù)優(yōu)先與按時(shí)間片輪轉(zhuǎn)調(diào)度結(jié)合算法的優(yōu)缺點(diǎn)。</p>

6、<p>  第二章 課程設(shè)計(jì)要求</p><p>  編寫一個(gè)進(jìn)程調(diào)度程序,允許多個(gè)進(jìn)程并行執(zhí)行。</p><p>  1、進(jìn)程調(diào)度算法:采用最高優(yōu)先數(shù)優(yōu)先與按時(shí)間片輪轉(zhuǎn)調(diào)度結(jié)合算法。</p><p>  2、每個(gè)進(jìn)程有一個(gè)進(jìn)程控制塊(PCB)表示。進(jìn)程控制塊可以包含如下信息:進(jìn)程名、優(yōu)先數(shù)、到達(dá)時(shí)間、需要運(yùn)行時(shí)間、已用CPU時(shí)間、進(jìn)程狀態(tài)等等。</

7、p><p>  3、進(jìn)程的優(yōu)先數(shù)及需要的運(yùn)行時(shí)間可在運(yùn)行時(shí)輸入,進(jìn)程的到達(dá)時(shí)間為輸入進(jìn)程的時(shí)間。</p><p>  4、進(jìn)程的運(yùn)行時(shí)間以時(shí)間片為單位進(jìn)行計(jì)算。</p><p>  5、每個(gè)進(jìn)程的狀態(tài)可以是就緒 W(Wait)、運(yùn)行R(Run)、或完成F(Finish)三種狀態(tài)之一。</p><p>  6、就緒進(jìn)程獲得 CPU后都只能運(yùn)行一個(gè)時(shí)

8、間片。</p><p>  7、如果運(yùn)行一個(gè)時(shí)間片后,進(jìn)程的已占用 CPU時(shí)間已達(dá)到所需要的運(yùn)行時(shí)間,則撤消該進(jìn)程,如果運(yùn)行一個(gè)時(shí)間片后進(jìn)程的已占用CPU時(shí)間還未達(dá)所需要的運(yùn)行時(shí)間,也就是進(jìn)程還需要繼續(xù)運(yùn)行,此時(shí)應(yīng)將進(jìn)程的優(yōu)先數(shù)減1(即降低一級(jí)),然后把它插入就緒隊(duì)列等待CPU。</p><p>  8、每進(jìn)行一次調(diào)度程序都打印一次運(yùn)行進(jìn)程、就緒隊(duì)列、以及各個(gè)進(jìn)程的 PCB,以便進(jìn)行檢查。

9、</p><p>  重復(fù)以上過程,直到所要進(jìn)程都完成為止。</p><p><b>  第三章 設(shè)計(jì)思想</b></p><p><b>  3.1 基本概念</b></p><p>  優(yōu)先級(jí)調(diào)度算法:按照進(jìn)程的優(yōu)先級(jí)大小來調(diào)度。使高優(yōu)先級(jí)進(jìn)程或線程得到優(yōu)先的處理的調(diào)度策略稱為優(yōu)先級(jí)調(diào)度算法。進(jìn)

10、程的優(yōu)先級(jí)可以由系統(tǒng)自動(dòng)地按一定原則賦給它,也可由系統(tǒng)外部來進(jìn)行安排。本次課程設(shè)計(jì)是自己給定進(jìn)程的優(yōu)先級(jí)。</p><p>  但在許多采用優(yōu)先級(jí)調(diào)度的系統(tǒng)中,通常采用動(dòng)態(tài)優(yōu)先數(shù)策略。即一個(gè)進(jìn)程的優(yōu)先級(jí)不是固定的,往往是隨許多因素的變化而變化。尤其隨作業(yè)(進(jìn)程)的等待時(shí)間,已使用的處理器時(shí)間或其他系統(tǒng)資源的使用情況而定,以防止低優(yōu)先級(jí)進(jìn)程或線程長(zhǎng)期饑餓現(xiàn)象發(fā)生</p><p>  時(shí)間片輪

11、轉(zhuǎn)算法: 時(shí)間片輪轉(zhuǎn)調(diào)度是一種最古老,最簡(jiǎn)單,最公平且使用最廣的算法。每個(gè)進(jìn)程被分配一個(gè)時(shí)間段,稱作它的時(shí)間片,即該進(jìn)程允許運(yùn)行的時(shí)間。如果在時(shí)間片結(jié)束時(shí)進(jìn)程還在運(yùn)行,則CPU將被剝奪并分配給另一個(gè)進(jìn)程。如果進(jìn)程在時(shí)間片結(jié)束前阻塞或結(jié)束,則CPU當(dāng)即進(jìn)行切換。調(diào)度程序所要做的就是維護(hù)一張就緒進(jìn)程列表,當(dāng)進(jìn)程用完它的時(shí)間片后,它被移到隊(duì)列的末尾。時(shí)間片輪轉(zhuǎn)算法主要用于處理器調(diào)度。采用此算法的系統(tǒng),其進(jìn)程就緒隊(duì)列往往按進(jìn)程到達(dá)的時(shí)間來排序。

12、進(jìn)程調(diào)度程序總是選擇就緒隊(duì)列中的第一個(gè)進(jìn)程,也就是說按照先進(jìn)先出原則調(diào)度,但一旦進(jìn)程占有處理器僅使用一個(gè)時(shí)間片,在使用完一個(gè)時(shí)間片后,進(jìn)程還沒有完成其運(yùn)行,它也必須釋放出(被搶占)處理器給下一個(gè)就緒的進(jìn)程。而被搶占的進(jìn)程返回到就緒隊(duì)列的末尾重新排隊(duì)等候再次運(yùn)行。</p><p>  進(jìn)程調(diào)度程序選擇一個(gè)就緒狀態(tài)的進(jìn)程,使之在處理器上運(yùn)行,每個(gè)進(jìn)程的狀態(tài)信息用數(shù)據(jù)結(jié)構(gòu)(進(jìn)程控制塊PCB)表示,進(jìn)程的調(diào)度采用最高優(yōu)先

13、數(shù)優(yōu)先和按時(shí)間片輪轉(zhuǎn)相結(jié)合的調(diào)度算法,并且采用動(dòng)態(tài)優(yōu)先數(shù)策略,選擇進(jìn)程占用處理器后該進(jìn)程僅能使用一個(gè)時(shí)間片,運(yùn)行完后優(yōu)先數(shù)減1。</p><p><b>  進(jìn)程的狀態(tài):</b></p><p>  運(yùn)行狀態(tài)R(Run):進(jìn)程正在處理器上運(yùn)行。</p><p>  就緒狀態(tài)W(Wait):一個(gè)進(jìn)程獲得了除處理器外的一切所需資源,一旦得到處理器即

14、可運(yùn)行。</p><p>  完成狀態(tài)F(Finish):一個(gè)進(jìn)程一旦完成,就停止運(yùn)行。</p><p><b>  3.2 進(jìn)程控制塊</b></p><p>  描述進(jìn)程的狀態(tài)信息,用結(jié)構(gòu)體定義</p><p>  typedef struct process </p><p>  { ch

15、ar name[10]; //進(jìn)程名</p><p>  int priority; //優(yōu)先數(shù)</p><p>  Time ReachTime; //到達(dá)時(shí)間</p><p>  Time NeedTime; //需要運(yùn)行時(shí)間</p><p>  Time UsedT

16、ime; //已用時(shí)間</p><p>  char state; //進(jìn)程狀態(tài)</p><p>  }PCB; //進(jìn)程控制塊</p><p>  圖1 進(jìn)程調(diào)度模擬程序模塊圖</p><p><b>  3.3 算法思想</b></p

17、><p>  定義結(jié)構(gòu)體PCB描述進(jìn)程的進(jìn)程控制塊,定義數(shù)組PCB pcb[Max]存放進(jìn)程</p><p>  進(jìn)程調(diào)度程序調(diào)用face()函數(shù)選擇所要進(jìn)行的操作。輸入1則增加進(jìn)程并調(diào)度進(jìn)程;輸入2則打印進(jìn)程,輸入0則任務(wù)結(jié)束;增加進(jìn)程,調(diào)用AddProcess()函數(shù),將輸入的進(jìn)程存放在數(shù)組pcb[Max]中;打印進(jìn)程,調(diào)用print()函數(shù),在該函數(shù)中首先調(diào)用sort()函數(shù)對(duì)進(jìn)程按優(yōu)先

18、級(jí)和先來先服務(wù)排序,然后顯示輸出排序后的進(jìn)程。進(jìn)程調(diào)度,調(diào)用attemper()函數(shù),調(diào)度優(yōu)先級(jí)最高的進(jìn)程分配給CPU使之運(yùn)行一個(gè)時(shí)間片,進(jìn)程優(yōu)先級(jí)排序,調(diào)用sort()函數(shù),按照先來先服務(wù)和優(yōu)先級(jí)排序,使排序完最優(yōu)先運(yùn)行的進(jìn)程存放在pcb[0]中。</p><p><b>  第四章 詳細(xì)設(shè)計(jì)</b></p><p>  4.1 程序設(shè)計(jì)流程圖</p>

19、<p>  圖2 程序設(shè)計(jì)流程圖</p><p>  4.2 程序各模塊功能介紹</p><p>  <1> 進(jìn)程優(yōu)先級(jí)排序sort( )函數(shù):函數(shù)用冒泡法排序,首先按到達(dá)時(shí)間排序,使到達(dá)時(shí)間最早(即pcb[n].ReachTime最小)的進(jìn)程被交換到pcb[0]中,再按優(yōu)先級(jí)排序,使具有最高優(yōu)先級(jí)(即pcb[n].priority最大)的進(jìn)程被交換到pcb[0]

20、中。相同優(yōu)先級(jí)的進(jìn)程只按到達(dá)時(shí)間排序 。</p><p><b>  主要代碼如下:</b></p><p>  for (i=0;i<n-1;i++) //先按到達(dá)時(shí)間排序</p><p>  { for (j=n-2;j>=i;j--)</p><p>  { if (pcb[j+1].

21、ReachTime<pcb[j].ReachTime)</p><p><b>  {</b></p><p>  temp=pcb[j];</p><p>  pcb[j]=pcb[j+1];</p><p>  pcb[j+1]=temp;</p><p><b>  }<

22、;/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for (i=0;i<n-1;i++) //再按優(yōu)先級(jí)進(jìn)行排序</p><p>  { for (j=n-2;j>=i;j--)</p><

23、p>  { if (pcb[j+1].priority>pcb[j].priority)</p><p>  { temp=pcb[j];</p><p>  pcb[j]=pcb[j+1];</p><p>  pcb[j+1]=temp;</p><p><b>  }</b></p>

24、<p><b>  }</b></p><p><b>  } </b></p><p>  進(jìn)程優(yōu)先級(jí)排序Sort()函數(shù)的流程圖如圖3所示。</p><p>  圖3 sort( )函數(shù)流程圖</p><p>  <2> 打印進(jìn)程print( )函數(shù):先調(diào)用sort()排

25、序函數(shù)對(duì)進(jìn)程進(jìn)行排序,排序完再打印輸出進(jìn)程</p><p><b>  主要代碼如下: </b></p><p><b>  sort();</b></p><p>  printf("\n 進(jìn)程名 優(yōu)先級(jí) 到達(dá)時(shí)間 需要時(shí)間 已用時(shí)間 進(jìn)程狀態(tài) \n");</p><p&g

26、t;  for (i=0;i<n;i++)</p><p>  {printf("%8s%8d%8d%10d%10d%10c\n",pcb[i].name,pcb[i].priority,pcb[i].ReachTime,pcb[i].NeedTime,pcb[i].UsedTime,pcb[i].state);</p><p><b>  }</

27、b></p><p>  <3> 進(jìn)程調(diào)入AddProcess()函數(shù):增加進(jìn)程函數(shù),輸入要添加的進(jìn)程的進(jìn)程控制塊的信息,并依次存放在數(shù)組PCB pcb[Max]中,每加入一個(gè)進(jìn)程后判斷是否還要繼續(xù)增加進(jìn)程,若是則繼續(xù)循環(huán)的執(zhí)行操作</p><p>  主要代碼如下: </p><p><b>  do {</b>&l

28、t;/p><p>  printf("\n請(qǐng)輸入進(jìn)程名");</p><p>  scanf("%s",pcb[n].name);</p><p>  printf("請(qǐng)輸入進(jìn)程的優(yōu)先級(jí)");</p><p>  scanf("%d",&pcb[n].prio

29、rity);</p><p>  printf("請(qǐng)輸入進(jìn)程需要的時(shí)間");</p><p>  scanf("%d",&pcb[n].NeedTime);</p><p>  pcb[n].ReachTime=n;</p><p>  pcb[n].UsedTime=0;</p>

30、<p>  pcb[n].state='W';</p><p><b>  n++;</b></p><p>  printf("還要繼續(xù)增加進(jìn)程嗎,是(Y),否(N)");</p><p><b>  do { </b></p><p>  ch=g

31、etchar();</p><p>  } while(ch!='Y'&&ch!='N'&&ch!='y'&&ch!='n');</p><p>  }while (ch=='Y'||ch=='y');</p><p>  

32、打印進(jìn)程print( )函數(shù)和進(jìn)程調(diào)入函數(shù)AddProcess()函數(shù)的流程圖如圖4和圖5所示。</p><p>  圖 4 print( )函數(shù)流程圖 </p><p>  圖 5 AddProcess()函數(shù)流程圖</p><p>  <4> 進(jìn)程調(diào)入attemper( )函數(shù):調(diào)度排完序后

33、存放在pcb[0]中的進(jìn)程,分配給該進(jìn)程CPU,使之運(yùn)行一個(gè)時(shí)間片,然后比較進(jìn)程的剩余時(shí)間(pcb[0].NeedTime-pcb[0].UsedTime)是否小于時(shí)間片的大小pTime,若是,則該進(jìn)程調(diào)度完成,進(jìn)程處于完成狀態(tài),若非,則已用時(shí)間加上一個(gè)時(shí)間片,進(jìn)程處于就緒狀態(tài)繼續(xù)等待運(yùn)行,然后調(diào)用print( )函數(shù)打印輸出當(dāng)前進(jìn)程的狀態(tài)并排序,直至所有進(jìn)程處于完成狀態(tài)后結(jié)束運(yùn)行。</p><p>  主要代碼

34、如下: </p><p><b>  do { </b></p><p>  if ((pcb[0].NeedTime-pcb[0].UsedTime)>pTime)</p><p>  { pcb[0].UsedTime+=pTime; //已用時(shí)間加時(shí)間片</p><p>  pcb[0].prior

35、ity--;//優(yōu)先級(jí)減一</p><p>  pcb[0].state='W';</p><p><b>  }</b></p><p><b>  else</b></p><p>  { pcb[0].UsedTime=pcb[0].NeedTime; //已用時(shí)間等于需

36、要時(shí)間</p><p>  pcb[0].priority=-1000;//優(yōu)先級(jí)置為零</p><p>  pcb[0].state='F';//完成進(jìn)程,將狀態(tài)置為完成</p><p><b>  }</b></p><p><b>  print();</b></p>

37、;<p>  }while(pcb[0].state!='F');</p><p>  進(jìn)程調(diào)入attemper( )函數(shù)流程圖如圖6所示。</p><p>  圖6 attemper( )函數(shù)流程圖</p><p>  <5> 選擇操作face( )函數(shù):函數(shù)打印所能進(jìn)行的操作以供選擇。輸入1則是增加進(jìn)程后調(diào)度進(jìn)程,輸入

38、2則是打印進(jìn)程,輸入0則是任務(wù)結(jié)束。</p><p><b>  主要代碼如下:</b></p><p>  char choose;</p><p>  printf("\n增加進(jìn)程并調(diào)度進(jìn)程,請(qǐng)按1");</p><p>  printf("\n打印進(jìn)程,請(qǐng)按2");</

39、p><p>  printf("\n任務(wù)結(jié)束, 請(qǐng)按0");</p><p>  printf("\n請(qǐng)選擇:");</p><p><b>  do{</b></p><p>  choose=getchar();</p><p>  } while(cho

40、ose!='1'&&choose!='2'&&choose!='0');</p><p>  return choose;</p><p><b>  } </b></p><p>  選擇操作face( )函數(shù)流程圖如圖7所示。</p><p&

41、gt;  圖7 face( )函數(shù)流程圖</p><p>  <6> main( )函數(shù):首先設(shè)置時(shí)間片的大小pTime,然后調(diào)用face()函數(shù)選擇要進(jìn)行的操作,choose='1'則增加進(jìn)程并調(diào)度,choose='2'則打印進(jìn)程,choose='0'則任務(wù)結(jié)束。</p><p><b>  主要代碼如下:</

42、b></p><p>  char choose;</p><p>  n=0; //初始化進(jìn)程數(shù)為0</p><p>  printf("設(shè)置時(shí)間片的大小:");</p><p>  scanf("%d",&pTime);</p><p>  choose=

43、face();</p><p><b>  do </b></p><p>  { if (choose=='1')</p><p>  { AddProcess();</p><p><b>  print();</b></p><p>  attem

44、per();</p><p><b>  }</b></p><p>  if (choose=='2')</p><p>  { print();</p><p><b>  }</b></p><p>  if (choose=='0')

45、</p><p>  { return;</p><p><b>  }</b></p><p>  choose=face();</p><p>  } while(1);</p><p><b>  函數(shù)間的關(guān)系:</b></p><p>  1

46、)sort( )函數(shù)嵌套在print()函數(shù)中調(diào)用</p><p>  2)調(diào)用AddProcess()函數(shù)前必須先調(diào)用print()函數(shù)對(duì)進(jìn)程進(jìn)行排序并打印。</p><p>  Main()函數(shù)的流程圖如圖8所示。</p><p>  圖8 main( )函數(shù)流程圖</p><p>  第五章 運(yùn)行結(jié)果及分析</p>&l

47、t;p><b>  5.1 程序調(diào)試</b></p><p>  此次課程設(shè)計(jì)進(jìn)程調(diào)度模擬程序是用C編寫的程序,運(yùn)行環(huán)境是Microsoft Visual C++6.0。在VC++6.0中的編寫的程序如圖9所示。</p><p>  圖 9 vc++6.0中調(diào)試程序</p><p><b>  5.2 運(yùn)行結(jié)果</b>

48、;</p><p>  首先設(shè)置時(shí)間片大小,然后根據(jù)提示,選擇1創(chuàng)建進(jìn)程,輸入進(jìn)程的名稱,該進(jìn)程的優(yōu)先級(jí),該進(jìn)程需要的運(yùn)行時(shí)間。然后依次創(chuàng)建三個(gè)進(jìn)程,詳細(xì)信息如圖10所示。</p><p>  圖 10 創(chuàng)建三個(gè)進(jìn)程的詳細(xì)信息</p><p>  點(diǎn)擊回車鍵,運(yùn)行創(chuàng)建的三個(gè)進(jìn)程,運(yùn)行過程如圖11所示。</p><p>  圖 11 三個(gè)進(jìn)程的

49、運(yùn)行過程</p><p>  上述創(chuàng)建的三個(gè)進(jìn)程運(yùn)行完以后,還可以繼續(xù)創(chuàng)建新的進(jìn)程繼續(xù)運(yùn)行。如圖12所示。</p><p>  圖 12 新創(chuàng)建進(jìn)程的運(yùn)行過程</p><p><b>  5.3 結(jié)果分析</b></p><p>  運(yùn)行程序后,首先根據(jù)提示設(shè)置時(shí)間片大小為10,然后順序創(chuàng)建三個(gè)進(jìn)程llg,lly,llt

50、,它們的優(yōu)先級(jí)依次為5,8,4,需要運(yùn)行的時(shí)間為20,10,16,程序默認(rèn)三個(gè)進(jìn)程到達(dá)的時(shí)間依次為0,1,2。運(yùn)行進(jìn)程,首先比較優(yōu)先級(jí)大小,選擇進(jìn)程lly運(yùn)行,其進(jìn)程狀態(tài)為R(運(yùn)行),其運(yùn)行一個(gè)時(shí)間片時(shí)間以后,該進(jìn)程運(yùn)行完成,優(yōu)先級(jí)減變?yōu)?100(程序默認(rèn)),然后其進(jìn)程狀態(tài)變?yōu)镕(完成);再選擇llg進(jìn)程運(yùn)行,首先其進(jìn)程狀態(tài)從W(等待)變?yōu)镽(運(yùn)行),然后運(yùn)行一個(gè)時(shí)間片時(shí)間以后,該進(jìn)程還沒運(yùn)行完成,其優(yōu)先級(jí)減1變?yōu)?,相比llt進(jìn)程,他

51、們具有相同的優(yōu)先級(jí),所以繼續(xù)運(yùn)行l(wèi)lg進(jìn)程,再運(yùn)行一個(gè)時(shí)間片以后,該進(jìn)程運(yùn)行完成,其優(yōu)先級(jí)變?yōu)?100(程序默認(rèn)),其進(jìn)程狀態(tài)從R(運(yùn)行)變?yōu)镕(完成);最后運(yùn)行l(wèi)lt進(jìn)程,首先它的進(jìn)程狀態(tài)運(yùn)行一個(gè)時(shí)間片以后,換沒結(jié)束,再運(yùn)行6以后運(yùn)行結(jié)束,其優(yōu)先級(jí)變?yōu)?100(程序默認(rèn)),其進(jìn)程狀態(tài)從R(運(yùn)行)變?yōu)镕(完成)。至此,創(chuàng)建的三個(gè)進(jìn)程運(yùn)行完畢,換可以創(chuàng)建新的進(jìn)程運(yùn)行,如圖12所示。</p><p><b>

52、;  第六章 總結(jié)</b></p><p>  通過此次課程設(shè)計(jì),我掌握進(jìn)程調(diào)度的相關(guān)知識(shí),特別是結(jié)和最高優(yōu)先級(jí)優(yōu)先算法和按時(shí)間輪轉(zhuǎn)算法有了新的認(rèn)識(shí)。課程設(shè)計(jì)和平時(shí)的實(shí)驗(yàn)課比較起來有很大的差距,實(shí)驗(yàn)課只是將這一章中的一部分內(nèi)容練習(xí)操作一遍,而課程設(shè)計(jì)需要的是他們綜合起來的東西,這要更難一些。此次課程設(shè)計(jì)主要遇到的困難就是,最高級(jí)優(yōu)先數(shù)優(yōu)先算法和按時(shí)間片輪轉(zhuǎn)法的算法的結(jié)合,經(jīng)過查閱資料和自己多次的調(diào)試,

53、終于使編寫的程序達(dá)到了預(yù)期的效果。</p><p>  總體來說我認(rèn)為操作系統(tǒng)這門學(xué)科在計(jì)算機(jī)科學(xué)當(dāng)是中非常重要的。這次操作系統(tǒng)的課程設(shè)計(jì)收獲頗豐,復(fù)習(xí)了許多東西,也從新學(xué)會(huì)了許多東西。我想這也許就是課程設(shè)計(jì)的最終目的吧。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]劉振安、劉燕君著.《C++程序設(shè)計(jì)課程設(shè)計(jì)》.北京

54、: 機(jī)械工業(yè)出版社,2004</p><p>  [2][美]Abraham Silberschatz, Peter Baer Galvin, Greg Gagne 著. 鄭扣根 譯. 操作系統(tǒng)概念(第六版). 北京: 高等教育出版社,2004</p><p>  [3]陳向群,向勇 等. Windows操作系統(tǒng)原理(第二版). 北京:機(jī)械工業(yè)出版社,2004.</p>&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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論