<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 暑假實踐報告調(diào)度

    時間:2020-10-22 12:25:20 暑假實踐報告 我要投稿

    關于暑假實踐報告調(diào)度

      選題:

    關于暑假實踐報告調(diào)度

      在多道程序運行環(huán)境下,進程數(shù)目一般多于處理機數(shù)目,使得進程要通過競爭來使用處理機。這就要求系統(tǒng)能按某種算法,動態(tài)地把處理機分配給就緒隊列中的一個進程,使之運行,分配處理機的任務是由進程調(diào)度程序完成的。一個進程被創(chuàng)建后,系統(tǒng)為了便于對進程進行管理,將系統(tǒng)中的所有進程按其狀態(tài),將其組織成不同的進程隊列。于是系統(tǒng)中有運行進程隊列、就緒隊列和各種事件的進程等待隊列。進程調(diào)度的功能就是從就緒隊列中挑選一個進程到處理機上運行。進程調(diào)度的算法有多種,常用的有優(yōu)先級調(diào)度算法、先來先服務算法、時間片輪轉(zhuǎn)算法。

      1、先來先服務算法:

      實踐要求和意義:

      (1)實踐要求:

      進程的調(diào)度采用先來先服務算法。

      設計三個鏈隊列,分別用來表示運行隊列、就緒隊列和完成隊列。 ? 用戶輸入進程標識符以及進程所需的時間,申請空間存放進程PCB信息。 ④ 輸出的格式和上面的運行結(jié)果分析中的格式相同。

      (2)實踐意義:

      按照進程進入就緒隊列的先后次序來分配處理器;

      培養(yǎng)我們分析,解決問題以及自學的能力;

      提高我們書寫代碼以及論文文檔的寫作能力。

      課題實現(xiàn):

      1、功能設計:

      先進入就緒隊列的進程優(yōu)先被挑選,運行進程一旦占有處理器將一直運行下去直到運行結(jié)束或被阻塞,這是一種非剝奪式調(diào)度。

      2、結(jié)構(gòu)設計:

      (1)開始。

      (2)設計三個鏈隊列,分別用來表示運行隊列、就緒隊列和完成隊列。

      (3)用戶輸入進程標識符以及進程所需的時間,申請空間存放進程PCB信息。

      (4)輸出的格式和上面的運行結(jié)果分析中的格式相同。

      (5)結(jié)束。

      3、核心算法:

      ·先來先服務算法的核心就是到達時間的排序,核心算法為: void sort(A *p,int N) //到達時間排序

      {

      for(int i=0;i<=N-1;i++)

      for(int j=0;j<=i;j++)

      if(p[i].arrivetime<p[j].arrivetime)

      {

      A temp;

      temp=p[i];

      p[i]=p[j];

      p[j]=temp;

      }

      }

      4、數(shù)據(jù)結(jié)構(gòu):

      (1)定義進程數(shù)以及進程名稱name[];

      (2)定義進程的一些屬性:

      ?進程的到達時間arrivetime;

      ?進程的服務時間servicetime;

      ?進程的開始時間starttime;

      ④進程的結(jié)束時間finishtime;

      運行環(huán)境:

      (1)開發(fā)程序的操作系統(tǒng):Windows XP

      (2)編譯工具:visual C++ 6.0

      2、時間片輪轉(zhuǎn)算法:

      實踐要求和意義:

      (1)實踐要求:

      進程的調(diào)度采用時間片輪轉(zhuǎn)算法。

      設計三個鏈隊列,分別用來表示運行隊列、就緒隊列和完成隊列。 ? 用戶輸入進程標識符以及進程所需的時間,申請空間存放進程 PCB信 息。

      ④ 輸出的格式和上面的運行結(jié)果分析中的格式相同。

      (2)實踐意義:

      使用時間片輪轉(zhuǎn)算法來分配處理器;

      培養(yǎng)我們分析,解決問題以及自學的能力;

      提高我們書寫代碼以及論文文檔的寫作能力。

      課題實現(xiàn):

      1、功能設計:

      時間片輪轉(zhuǎn)調(diào)度,具體做法是調(diào)度程序每次把 CPU 分配給就緒隊列首進程使用一個時間片。當這個時間片結(jié)束時,就強迫一個進程讓出處理器,讓它排列到就緒隊列的尾部,等候下一輪調(diào)度。

      實現(xiàn)這種調(diào)度要使用一個間隔時鐘。當一個進程開始運行時,就將時間片的值置入間隔時鐘內(nèi),當發(fā)生間隔時鐘中斷時,就表明該進程連續(xù)運行的時間已超過一個規(guī)定的時間片。此時,中斷處理程序就通知處理器調(diào)度進行處理器的切換工作。

      2、結(jié)構(gòu)設計:

      (1)開始。

      (2)設計三個鏈隊列,分別用來表示運行隊列、就緒隊列和完成隊列。

      (3)用戶輸入進程標識符以及進程所需的時間,申請空間存放進程PCB信息。

      (4)輸出的格式和上面的運行結(jié)果分析中的格式相同。

      (5)結(jié)束。

      3、核心算法:

      ·時間片輪轉(zhuǎn)算法主要是設置時間片,來實現(xiàn)輪轉(zhuǎn)運行進程,核心算法為:

      void ptt(A *p,float arrivetime,float servicetime,float starttime,float finishtime,float lefttime,int timeprice,int N2)

      {

      float w=0;int c=0;

      float stoptime=0;

      printf(" 請輸入時間片的值:");

      cin>>timeprice;

      sort(p,N2);

      float d[20],h[20];

      for(int k=0;k<=N2-1;k++)

      { d[k]=p[k].servicetime;

      if(k==0)

      {

      p[k].starttime=p[k].arrivetime;

      p[k].finishtime=p[k].arrivetime+p[k].servicetime;}

      else

      {

      p[k].starttime=p[k-1].finishtime;

      p[k].finishtime=p[k-1].finishtime+p[k].servicetime;}

      h[k]=p[k].starttime;

      p[k].lefttime=p[k].servicetime-timeprice;

      if(p[k].lefttime>0)

      {c=c+1;

      p[k].stoptime=p[k].starttime+timeprice;

      p[k].finishtime=p[k].stoptime;

      }

      else p[k].stoptime=p[k].finishtime;

      w=p[k].stoptime;

      }

      4、數(shù)據(jù)結(jié)構(gòu):

      (1)定義進程數(shù)以及進程名稱name[];

      (2)定義進程的一些屬性:

      進程的到達時間arrivetime;

      進程的服務時間servicetime;

      進程的'開始時間starttime;

      ④進程的結(jié)束時間finishtime;

      ⑤進程的剩余時間lefttime

      ⑥時間片的時間timeprice

      運行環(huán)境:

      (1)開發(fā)程序的操作系統(tǒng):Windows XP

      (2)編譯工具:visual C++ 6.0

      總結(jié)&心得體會:

      本次實踐課題讓我了解到了什么是進程調(diào)度,其主要的功能就是根據(jù)作業(yè)控制塊中的信息,審查系統(tǒng)是否能滿足用戶作業(yè)的資源需求,以及按照一定的算法,從外存的后備隊列中選區(qū),分配某些作業(yè)調(diào)入內(nèi)存,并且為他們創(chuàng)建進程,分配必要的資源。

      通過這幾天的學習和同學的講解,我總算完成了這次的進程調(diào)度實驗,根據(jù)書本上的學習,來測試本系統(tǒng),發(fā)現(xiàn)輸入數(shù)據(jù)以及輸出數(shù)據(jù)和預測的結(jié)果吻合,證明此次實驗還是比較成功的。

      附錄:

      #include

      #include

      #include

      using namespace std;

      struct A{//先來先服務算法

      char name[10];

      float arrivetime;

      float servicetime;

      float starttime;

      float finishtime;

      float lefttime;

      float stoptime;

    【關于暑假實踐報告調(diào)度】相關文章:

    關于暑假實踐報告11-30

    關于暑假實踐報告11-25

    關于暑假實踐活動報告12-30

    關于暑假實踐報告范文11-30

    關于暑假醫(yī)院實踐報告范文06-30

    關于暑假社會實踐報告12-01

    關于暑假實踐報告2000字11-30

    關于暑假社會實踐報告11-27

    關于大學暑假實踐報告格式12-13

    ★暑假實踐報告01-06

    主站蜘蛛池模板: 国内精品伊人久久久久av一坑 | 精品国产香蕉伊思人在线在线亚洲一区二区 | 精品国产欧美一区二区三区成人 | 亚洲AV无码成人精品区天堂| 国产成人精品久久亚洲| 久久久国产精品亚洲一区| 国产免费久久精品丫丫| 精品亚洲一区二区| 精品人无码一区二区三区| 四虎精品成人免费视频| 国产精品成人无码久久久久久| 成人午夜视频精品一区| 四虎国产精品永久免费网址| 人妻少妇看A偷人无码精品| 国产精品成人观看视频| 国产精品久久波多野结衣| 老司机午夜精品视频资源| 亚洲国产成人精品女人久久久 | 国产一区二区精品尤物| 四虎成人www国产精品| 国产精品igao视频网| 在线观看亚洲精品国产| 久久99精品久久久久久9蜜桃 | 国产91精品在线观看| 久久夜色精品国产噜噜麻豆| 亚洲欧美日韩久久精品| 久久久99精品一区二区| 国产精品午夜一级毛片密呀| 秋霞久久国产精品电影院| 国产精品999| 91国内外精品自在线播放| 国产精品亚洲日韩欧美色窝窝色欲 | 男女男精品网站免费观看| 国产一区二区三区精品视频| 99R在线精品视频在线播放| 亚洲精品免费在线观看| 四虎国产精品永久一区| 精品一区二区久久| 精品成人免费自拍视频| 久久99精品国产| 欧美精品一区二区三区在线|