2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  題 目: 模擬請(qǐng)求頁式管理 </p><p>  課程名稱: 計(jì)算機(jī)操作系統(tǒng) </p><p>  學(xué) 院: 信息工程學(xué)院 </p><p>  專 業(yè):

2、 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  班 級(jí): 14計(jì)本(1) </p><p>  學(xué)生姓名: * * * </p><p>  學(xué) 號(hào): 201403031** </p><p>  指導(dǎo)教師:

3、 * * </p><p>  成 績: </p><p>  開課時(shí)間: 2016-2017 學(xué)年 一 學(xué)期 </p><p><b>  模擬請(qǐng)求頁式管理</b></p><p><b>  

4、需求分析</b></p><p><b>  1.1設(shè)計(jì)要求</b></p><p>  請(qǐng)求頁式管理是一種常用的虛擬存儲(chǔ)管理技術(shù)。本設(shè)計(jì)通過請(qǐng)求頁式存儲(chǔ)管理中頁面置換算法模擬設(shè)計(jì),了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌握請(qǐng)求頁式管理的頁面置換算法。本實(shí)驗(yàn)要求用Vc++或其他高級(jí)語言編寫和調(diào)試。</p><p>  編寫程序?qū)崿F(xiàn): 

5、(1)先進(jìn)先出頁面置換算法(FIFO) (2)最近最久未使用頁面置換算法(LRU) 最佳置換頁面置換算法(OPT) 設(shè)計(jì)一個(gè)虛擬存儲(chǔ)區(qū)和內(nèi)存工作區(qū),編程序演示以上三種算法的具體實(shí)現(xiàn)過程,并計(jì)算訪問命中率。</p><p><b>  1.2解決方案</b></p><p>  首先確定實(shí)現(xiàn)語言使用c#實(shí)現(xiàn)圖形化界面,后確定要實(shí)現(xiàn)哪些功能,

6、比如算法選擇,頁面添加,模擬控制。然后確定輸出結(jié)構(gòu)以便于程序的測(cè)試和驗(yàn)證。將基本框架建立后再進(jìn)行編程。編程前進(jìn)行算法結(jié)構(gòu)分析最后編程實(shí)現(xiàn)。</p><p><b>  1.3算法實(shí)現(xiàn)原理</b></p><p>  1、先進(jìn)先出置換算法(FIFO):</p><p>  發(fā)生缺頁中斷時(shí)按照頁面進(jìn)入內(nèi)存順序總是淘汰最先進(jìn)入內(nèi)存的頁面。</p

7、><p>  2、最近最久未使用置換算法(LRU):</p><p>  發(fā)生缺頁中斷時(shí)總是淘汰存在內(nèi)存中最長時(shí)間未被使用的頁面。</p><p>  3、最佳置換算法(OPT):</p><p>  發(fā)生缺頁中斷時(shí)若一個(gè)或幾個(gè)頁面將來將不會(huì)被調(diào)用則按先進(jìn)先出原則淘汰頁面,若將來都有調(diào)用則比較調(diào)用時(shí)刻選擇最遠(yuǎn)時(shí)刻頁面淘汰。</p>

8、<p>  4、缺頁率:缺頁次數(shù)占頁面調(diào)用次數(shù)的百分比。</p><p><b>  概要設(shè)計(jì)</b></p><p><b>  2.1數(shù)據(jù)設(shè)計(jì)</b></p><p>  常變量:調(diào)用頁面最大數(shù)量(MaxN),內(nèi)存最大頁面數(shù)(MaxM)</p><p>  待調(diào)用頁面數(shù)組:page_d

9、d[MaxN]存放等待調(diào)用的頁面號(hào)</p><p>  頁面數(shù)組專用指針 page_p,用于指向page_dd數(shù)組中正需調(diào)入內(nèi)存的頁號(hào)</p><p>  內(nèi)存塊數(shù)組:Memery[MaxM],存放內(nèi)存當(dāng)前存放的頁號(hào)</p><p>  缺頁計(jì)數(shù)器:count,記錄缺頁次數(shù)</p><p>  內(nèi)存塊狀態(tài)數(shù)組:M1[MaxN],M2[MaxN

10、],M3[MaxN],記錄每次頁面調(diào)用結(jié)束后內(nèi)存各塊的狀態(tài)</p><p>  缺頁記錄數(shù)組s[MaxN],用于記錄頁面調(diào)用時(shí)是否產(chǎn)生缺頁中斷,初始化為是</p><p><b>  2.2函數(shù)設(shè)計(jì)</b></p><p>  1、頁面添加函數(shù):void btnAdd_Click(object sender, EventArgs e)</

11、p><p>  用于實(shí)現(xiàn)通過點(diǎn)擊按鈕實(shí)現(xiàn)數(shù)據(jù)輸入。</p><p>  2、內(nèi)存初始化函數(shù):init(int[] a, int[] b,int []m1,int[]m2,int[]m3)</p><p>  參數(shù)有頁面數(shù)組、內(nèi)存數(shù)組、狀態(tài)數(shù)組,采用先進(jìn)先出算法對(duì)內(nèi)存先進(jìn)行裝滿</p><p>  服務(wù)于先進(jìn)先出頁面置換函數(shù)和最佳置換函數(shù)。<

12、/p><p>  輸出函數(shù):void display(int[]a,int[]m1,int[]m2,int[]m3,char[]c)用于輸出模擬結(jié)果,參數(shù)有頁面數(shù)組,內(nèi)存數(shù)組,狀態(tài)數(shù)組,缺頁記錄數(shù)組。再模擬之后調(diào)用。</p><p>  4、模擬控制函數(shù):void btnmo_Click(object sender, EventArgs e)用于實(shí)現(xiàn)通過單擊模擬按鈕,根據(jù)用戶所選算法進(jìn)行模擬并

13、顯示結(jié)果。</p><p>  5、先進(jìn)先出算法模擬函數(shù):</p><p>  void FIFO(int[] a, int[] b,int[]m1,int[]m2,int[]m3,char[] s)用于實(shí)現(xiàn)先進(jìn)先出算法模擬,參數(shù)有頁面數(shù)組,內(nèi)存數(shù)組、內(nèi)存狀態(tài)記錄數(shù)組,缺頁記錄數(shù)組。在模擬函數(shù)中調(diào)用。</p><p>  最近最久未使用算法模擬函數(shù):</p&g

14、t;<p>  void LRU(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s)用于實(shí)現(xiàn)最近最久未使用算法模擬,參數(shù)有頁面數(shù)組,內(nèi)存數(shù)組,內(nèi)存狀態(tài)記錄數(shù)組,缺頁記錄數(shù)組。在模擬函數(shù)中被調(diào)用。</p><p>  最近最久未使用函數(shù)輔助函數(shù):void LUR_I(int[] a,int e)用于對(duì)最近最久未使用算法中所用輔助數(shù)組(記錄

15、頁面存在時(shí)長)進(jìn)行調(diào)整,參數(shù)有輔助數(shù)組及需調(diào)整的數(shù)據(jù)下標(biāo)。在最近最久未使用函數(shù)中調(diào)用。</p><p>  8、最佳置換算法模擬函數(shù):</p><p>  void OPT(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s)用于模擬最佳置換算法。參數(shù)有頁面數(shù)組,內(nèi)存數(shù)組,內(nèi)存狀態(tài)記錄數(shù)組,缺頁記錄數(shù)組。在模擬函數(shù)中被調(diào)用。&l

16、t;/p><p>  最佳置換算法輔助函數(shù):void OPT_F(int[] a, int e)用于對(duì)最佳置換算法中的輔助數(shù)組進(jìn)行調(diào)整。參數(shù)有輔助數(shù)組,需調(diào)整數(shù)據(jù)下標(biāo)。在最佳置換算法中被調(diào)用。</p><p>  重置函數(shù):void btncz_Click(object sender, EventArgs e)用于重新選擇算法進(jìn)行新的模擬。</p><p><b&

17、gt;  2.3主要算法設(shè)計(jì)</b></p><p>  1、初始化函數(shù)算法:</p><p>  第一步:將第一個(gè)頁面調(diào)入內(nèi)存,調(diào)整最佳置換算法輔助數(shù)組,缺頁計(jì)數(shù)器加一,保存內(nèi)存數(shù)組狀態(tài)。</p><p>  第二步:調(diào)用下一個(gè)頁面并判斷內(nèi)存中是否有本頁面有轉(zhuǎn)第三步,無轉(zhuǎn)第四步。</p><p>  第三步:更改缺頁數(shù)組對(duì)應(yīng)下標(biāo)

18、值,記錄當(dāng)前內(nèi)存狀態(tài),調(diào)整最佳置換算法輔助數(shù)組,頁面指針指向下一頁。</p><p>  第四步:將頁面調(diào)入內(nèi)存,調(diào)整最佳置換算法輔助函數(shù),缺頁計(jì)數(shù)器加一,保存內(nèi)存數(shù)組狀態(tài)。若內(nèi)存尚不滿轉(zhuǎn)第一步。</p><p>  具體見圖1初始化算法流程圖。</p><p>  圖1 初始化算法流程圖</p><p>  先進(jìn)先出頁面置換算法:</

19、p><p>  第一步:檢查內(nèi)存中是否已有需調(diào)用頁面,有則轉(zhuǎn)第二步,無則轉(zhuǎn)第三步。</p><p>  第二步:記錄當(dāng)前內(nèi)存狀態(tài),修改缺頁數(shù)組對(duì)應(yīng)下標(biāo)值。</p><p>  第三步:內(nèi)存中無需要調(diào)用的頁面,進(jìn)行出隊(duì)操作,然后進(jìn)行入隊(duì)操作,記錄內(nèi)存塊狀態(tài),缺頁計(jì)數(shù)器加一。</p><p>  第四步:若頁面數(shù)組未被調(diào)用結(jié)束轉(zhuǎn)第一步。</p&

20、gt;<p>  具體見圖2先進(jìn)先出算法流程圖。</p><p>  圖2 先進(jìn)先出算法流程圖</p><p>  最近最久未使用置換算法:</p><p>  第一步:將頁面調(diào)入內(nèi)存,記錄內(nèi)存狀態(tài),缺頁計(jì)數(shù)器加一,調(diào)整輔助數(shù)組,頁面指針加一。</p><p>  第二步:檢查內(nèi)存中是否已有所需頁面,有轉(zhuǎn)第三步,無轉(zhuǎn)第一步。&l

21、t;/p><p>  第三步:修改缺頁數(shù)組對(duì)應(yīng)下標(biāo)記錄,記錄內(nèi)存狀態(tài),調(diào)整輔助數(shù)組,頁面指針加一。</p><p>  第四步:內(nèi)存是否已滿,無則轉(zhuǎn)第一步,是則轉(zhuǎn)第五步。</p><p>  第五步:檢查內(nèi)存中是否有所需頁面,有則記錄當(dāng)前內(nèi)存狀態(tài),修改缺頁數(shù)組對(duì)應(yīng)下標(biāo)值。無則轉(zhuǎn)第六步。</p><p>  第六步:檢查輔助數(shù)組找出最大值并記錄其下

22、標(biāo),置換內(nèi)存中對(duì)應(yīng)下標(biāo)的數(shù)據(jù),調(diào)整輔助數(shù)組,缺頁計(jì)數(shù)器加一。</p><p>  第七步:頁面是否調(diào)用結(jié)束未結(jié)束則轉(zhuǎn)第五步。</p><p>  具體見圖3最近最久未使用算法流程圖。</p><p>  圖3 最近最久未使用算法</p><p><b>  最佳置換算法:</b></p><p>

23、  第一步:檢查內(nèi)存中是否已有所需頁面,有則記錄內(nèi)存狀態(tài),修改缺頁數(shù)組對(duì)應(yīng)下標(biāo)數(shù)值。無則轉(zhuǎn)第二步。</p><p>  第二步:判斷內(nèi)存中各頁面的未來調(diào)用情況,記錄是否還有調(diào)用,若有則記錄調(diào)用時(shí)刻。</p><p>  第三步:分析調(diào)用情況,內(nèi)存中頁面都在將來不會(huì)被調(diào)用轉(zhuǎn)第四步,有一個(gè)被調(diào)用轉(zhuǎn)第五步,有兩個(gè)被調(diào)用轉(zhuǎn)第六步,全被調(diào)用轉(zhuǎn)第七步。</p><p>  第四

24、步:查找輔助數(shù)組找到內(nèi)存中存在時(shí)間最長的頁面進(jìn)行置換,修改內(nèi)存狀態(tài),缺頁計(jì)數(shù)器加一,修改輔助數(shù)組。</p><p>  第五步:查找到不會(huì)被調(diào)用的頁面,并根據(jù)輔助數(shù)組選擇最早進(jìn)入內(nèi)存的頁面將其置換。修改內(nèi)存狀態(tài),缺頁計(jì)數(shù)器加一,修改輔助數(shù)組。</p><p>  第六步:查找輔助數(shù)組找到將來不需要在調(diào)用的頁面將其置換,修改輔助數(shù)組,記錄內(nèi)存狀態(tài),缺頁計(jì)數(shù)器加一。</p>&l

25、t;p>  第七步:查找輔助數(shù)組,找尋最晚被調(diào)用的頁面,將其置換。記錄內(nèi)存狀態(tài),修改輔助數(shù)組,缺頁計(jì)數(shù)器加一。</p><p>  第八步:頁面是否調(diào)用完成,否則轉(zhuǎn)第一步。</p><p>  具體見圖4最佳置換算法流程圖</p><p>  圖4 最佳置換算法流程圖</p><p><b>  2.4界面設(shè)計(jì)</b&g

26、t;</p><p>  采用c# 設(shè)計(jì)windows窗體應(yīng)用程序,使用下拉列表框選擇算法,通過按鈕添加待調(diào)用的頁面。通過文本控件顯示模擬結(jié)果。</p><p>  顯示樣式:第一行:算法名稱;</p><p>  第二行:調(diào)用頁面順序;</p><p>  第三行至第五行顯示內(nèi)存在每調(diào)用一次頁面后的狀態(tài);</p><p&

27、gt;<b>  第六行:是否缺頁;</b></p><p>  最后一行顯示缺頁率;</p><p>  第3章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  3.1函數(shù)設(shè)計(jì)</b></p><p>  1、添加按鈕功能實(shí)現(xiàn)代碼</p><p>  主要功能:實(shí)現(xiàn)單擊一次添加

28、一個(gè)調(diào)用頁面,并給出相應(yīng)的提示,如正在輸入的是第幾次調(diào)度頁面,在輸入為空時(shí)能夠彈出對(duì)話框提示用戶,在輸入完成時(shí)為避免數(shù)組越界應(yīng)在輸入完成時(shí)隱藏;輸入過程中始終保證時(shí)輸入焦點(diǎn)。</p><p>  private void btnAdd_Click(object sender, EventArgs e)</p><p><b>  {</b></p>&l

29、t;p>  if (txtAdd.Text != "")//輸入不為空才能繼續(xù)輸入</p><p><b>  {</b></p><p>  page_dd[i_add] = Convert.ToInt32(txtAdd.Text);</p><p>  /*將輸入值賦值給頁面數(shù)組*/</p><

30、p>  txtShow.Text += txtAdd.Text + " ";</p><p>  /*顯示供用戶查閱*/</p><p><b>  i_add++;</b></p><p>  txtAdd.Clear();</p><p><b>  /*清空*/</b>

31、;</p><p>  if (i_add == MaxN)//輸入結(jié)束時(shí)</p><p><b>  {</b></p><p>  txtAdd.ReadOnly = true;//不允許繼續(xù)輸入</p><p>  btnAdd.Hide();//按鈕隱藏</p><p><b>

32、  return;</b></p><p><b>  }</b></p><p>  txtAdd.Focus();//設(shè)置為輸入焦點(diǎn)</p><p>  label2.Text = "第" + (i_add + 1) + "次調(diào)度頁面:";</p><p>  /*

33、提示用戶正在輸入的是第幾次調(diào)度頁面*/</p><p><b>  }</b></p><p>  /*輸入為空則彈出對(duì)話框提示用戶輸入為空*/</p><p><b>  else</b></p><p><b>  {</b></p><p>  M

34、essageBox.Show("請(qǐng)輸入調(diào)用頁面!", "輸入為空", MessageBoxButtons.OK, MessageBoxIcon.Warning);</p><p>  txtAdd.Focus();</p><p><b>  }</b></p><p><b>  }</

35、b></p><p><b>  初始化函數(shù)</b></p><p>  主要功能:將內(nèi)存一先進(jìn)先出方式填滿,并記錄每個(gè)頁面進(jìn)入時(shí)間,服務(wù)于先進(jìn)先出頁面置換算法和最佳置換算法。</p><p>  void init(int[] a, int[] b,int []m1,int[]m2,int[]m3)</p><p&g

36、t;<b>  {</b></p><p>  /*內(nèi)存未滿時(shí)循環(huán)*/</p><p>  for (int i = 0; i < MaxM&&page_p <MaxN ; i++)</p><p><b>  {</b></p><p>  b[i] = a[page_

37、p];//調(diào)入內(nèi)存</p><p>  //調(diào)整輔助數(shù)組將剛進(jìn)入內(nèi)存的頁面的對(duì)應(yīng)時(shí)間</p><p>  OPT_F (O_Q ,i);</p><p>  count++;//缺頁計(jì)數(shù)器加一</p><p>  m1[page_p] = b[0];//保存內(nèi)存狀態(tài)</p><p>  m2[page_p] = b[1

38、];</p><p>  m3[page_p] = b[2];</p><p>  page_p++;//調(diào)用下一頁面</p><p>  //檢查內(nèi)存中是否原先就有需要的頁面;</p><p>  for (int j = 0; j <= i&&page_p <MaxN ; j++)</p><

39、;p><b>  {</b></p><p>  if (b[j] == a[page_p])</p><p>  {//找到這樣的頁面</p><p>  s[page_p] = 'F';//缺頁數(shù)組對(duì)應(yīng)數(shù)據(jù)更改</p><p>  m1[page_p] = b[0];//記錄內(nèi)存狀態(tài)</p

40、><p>  m2[page_p] = b[1];</p><p>  m3[page_p] = b[2];</p><p>  OPT_F(O_Q, -1);//調(diào)整最佳置換算法輔助函數(shù)</p><p>  page_p++;//調(diào)用下一頁</p><p>  j = -1;//重新開始尋找</p><

41、;p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  先進(jìn)先出頁面置換函數(shù)</p><p>  主要功能:根據(jù)

42、先進(jìn)先出算法要求在產(chǎn)生缺頁中斷時(shí)采用先進(jìn)先出方式確定淘汰頁面,并在每次頁面調(diào)用時(shí)記錄下內(nèi)存狀態(tài),缺頁次數(shù);采用循環(huán)隊(duì)列使得每次出隊(duì)的一定是最先進(jìn)入內(nèi)存的。</p><p>  private void FIFO(int[] a, int[] b,int[]m1,int[]m2,int[]m3,char[] s)</p><p><b>  {</b></p>

43、;<p>  int Fpage_p = page_p;</p><p>  int front, rear;</p><p>  //定義隊(duì)列對(duì)手和對(duì)尾指針并初始化</p><p>  front = 0;</p><p>  rear = MaxM - 1;</p><p><b>  in

44、t sa;</b></p><p>  //定義頁面處理標(biāo)志為1則表明此頁面已處理</p><p>  for (; Fpage_p < MaxN; Fpage_p++)</p><p><b>  {</b></p><p>  //從當(dāng)前位置開始往后掃描</p><p>&l

45、t;b>  sa = 0;</b></p><p>  for (int i = 0; i < MaxM; i++)</p><p>  //檢查內(nèi)存中是否已有要調(diào)用的頁面。</p><p><b>  {</b></p><p>  //有需要的頁面則保存內(nèi)存狀態(tài),修改缺頁數(shù)組對(duì)應(yīng)位值</

46、p><p>  if (b[i] == a[Fpage_p])</p><p><b>  {</b></p><p>  m1[Fpage_p] = b[0];</p><p>  m2[Fpage_p] = b[1];</p><p>  m3[Fpage_p] = b[2];</p>

47、<p>  s[Fpage_p] = 'F';</p><p><b>  sa = 1;</b></p><p><b>  break;</b></p><p>  //找到就退出應(yīng)為只可能有一個(gè)符合頁面</p><p><b>  }</b>

48、</p><p><b>  }</b></p><p>  if (sa == 0)</p><p><b>  {</b></p><p>  //未找到一致頁面產(chǎn)生缺頁中斷進(jìn)行出隊(duì)操作淘汰最早進(jìn)入內(nèi)存的頁面</p><p>  //并記錄內(nèi)存狀態(tài),計(jì)數(shù)器加一。</

49、p><p>  front = (front + 1) % MaxM;</p><p>  rear = (rear + 1) % MaxM;</p><p>  b[rear] = a[Fpage_p];</p><p>  m1[Fpage_p] = b[0];</p><p>  m2[Fpage_p] = b[1]

50、;</p><p>  m3[Fpage_p] = b[2];</p><p><b>  count++;</b></p><p><b>  }</b></p><p>  else continue;</p><p>  //內(nèi)存原有一樣的頁面則結(jié)束本次循環(huán)</p

51、><p><b>  }</b></p><p><b>  }</b></p><p><b>  最近最久未使用函數(shù)</b></p><p>  主要功能:實(shí)現(xiàn)對(duì)最近最久頁面置換算法的模擬,記錄缺頁次數(shù)和每次頁面對(duì)應(yīng)的內(nèi)存狀態(tài)。</p><p>  pr

52、ivate void LRU(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s) </p><p><b>  {</b></p><p>  int[] L_Q = new int[MaxM]{3,3,3};</p><p>  //輔助數(shù)組記錄頁面存在時(shí)間,初始值都是3,每次對(duì)

53、應(yīng)位置有新頁面進(jìn)入就刷//新為1,比原來值小的加一大于原來值得不變</p><p><b>  int sa;</b></p><p><b>  //頁面已調(diào)用標(biāo)志</b></p><p>  for (int i = 0; i < MaxM && page_p < MaxN; i++)<

54、;/p><p><b>  {</b></p><p>  //內(nèi)存不滿時(shí)執(zhí)行將內(nèi)存裝滿因其于先進(jìn)先出不符合故不能調(diào)用初始化函數(shù)</p><p>  b[i] = a[page_p];//調(diào)入內(nèi)存</p><p><b>  count++;</b></p><p>  m1[p

55、age_p] = b[0];//保存內(nèi)存狀態(tài)</p><p>  m2[page_p] = b[1];</p><p>  m3[page_p] = b[2];</p><p>  LUR_I(L_Q, i);</p><p><b>  //調(diào)整輔助數(shù)組</b></p><p><b>

56、;  page_p++;</b></p><p>  for (int j = 0; j <= i && page_p < MaxN ; j++)</p><p><b>  {</b></p><p>  //判斷已在內(nèi)存中的頁面中是否有與將要調(diào)用頁面一致的頁面</p><p>

57、  if (b[j] == a[page_p])</p><p><b>  {</b></p><p>  //有則修改缺頁狀態(tài)函數(shù)并記錄當(dāng)前內(nèi)存狀態(tài)</p><p>  s[page_p] = 'F';</p><p>  m1[page_p] = b[0];</p><p>

58、  m2[page_p] = b[1];</p><p>  m3[page_p] = b[2];</p><p>  LUR_I(L_Q, j);</p><p><b>  page_p++;</b></p><p><b>  j = -1;</b></p><p>&

59、lt;b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for (; page_p < MaxN; page_p++)</p><p><b>  {</b></p>&

60、lt;p>  //內(nèi)存裝滿后從當(dāng)前位置向后調(diào)用頁面</p><p><b>  sa = 0;</b></p><p>  for (int i = 0; i < MaxM; i++)</p><p>  //檢查內(nèi)存中是否已有要調(diào)用的頁面。</p><p><b>  {</b><

61、;/p><p>  if (b[i] == a[page_p])</p><p><b>  {</b></p><p>  //有則記錄內(nèi)存狀態(tài)修改缺頁數(shù)組調(diào)整輔助函數(shù)</p><p>  m1[page_p] = b[0];</p><p>  m2[page_p] = b[1];</p&g

62、t;<p>  m3[page_p] = b[2];</p><p>  s[page_p] = 'F';</p><p>  LUR_I(L_Q, i);</p><p><b>  sa = 1;</b></p><p><b>  break;</b></p

63、><p><b>  }</b></p><p><b>  }</b></p><p>  if (sa == 0)</p><p><b>  {</b></p><p>  for (int i = 0; i < MaxM; i++)</p

64、><p><b>  {</b></p><p><b>  //產(chǎn)生缺頁中斷</b></p><p>  if (L_Q[i] == 3)</p><p>  //查找輔助數(shù)組找到值為3的位置對(duì)應(yīng)下標(biāo)并</p><p><b>  {</b></p&

65、gt;<p>  //替換此下標(biāo)代表的內(nèi)存塊頁面并記錄內(nèi)存狀態(tài),調(diào)整輔助函數(shù),計(jì)數(shù)器加一</p><p>  b[i] = a[page_p];</p><p>  m1[page_p] = b[0];</p><p>  m2[page_p] = b[1];</p><p>  m3[page_p] = b[2];</p

66、><p>  LUR_I(L_Q, i);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  count++;</b></

67、p><p><b>  }</b></p><p>  else continue;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  最佳置換算法</b></p>

68、<p>  主要功能:模擬實(shí)現(xiàn)最佳頁面置換算法,淘汰內(nèi)存中永遠(yuǎn)不會(huì)調(diào)用的頁面,如果有多個(gè)則采用先進(jìn)先出原則進(jìn)行置換,若多個(gè)頁面在以后都有調(diào)用則淘汰最后被調(diào)用的頁面,記錄每次頁面調(diào)用后內(nèi)存狀態(tài),記錄缺頁中斷數(shù)</p><p>  private void OPT(int[]a,int[]b,int[]m1,int[]m2,int[]m3,char[]s)</p><p><

69、b>  {</b></p><p>  int sa;//頁面調(diào)用處理標(biāo)志</p><p>  int O_p;//頁面數(shù)組輔助指針</p><p>  int Ocount;//輔助計(jì)數(shù)變量</p><p>  int[] OPT_I=new int [MaxM ]{-1 ,-1 ,-1 };</p><

70、;p>  //輔助數(shù)組記錄頁面將來調(diào)用與否</p><p>  int[] OPT_J=new int [MaxM]{MaxN ,MaxN ,MaxN };</p><p>  //輔助數(shù)組記錄頁面將來被調(diào)用時(shí)刻</p><p>  for (; page_p < MaxN; page_p++)</p><p><b>

71、  {</b></p><p>  for (int i = 0; i < MaxM; i++)</p><p><b>  {</b></p><p>  OPT_I[i] = -1;//刷新狀態(tài)數(shù)組</p><p>  OPT_J[i] = MaxN;</p><p><

72、;b>  }</b></p><p><b>  sa = 0;</b></p><p>  for (int i = 0; i < MaxM; i++)//檢查內(nèi)存中是否已有要調(diào)用的頁面。</p><p><b>  {</b></p><p>  //將要調(diào)用頁面存在于內(nèi)

73、存中</p><p>  if (b[i] == a[page_p])</p><p><b>  {</b></p><p>  //記錄內(nèi)存狀態(tài)修改缺頁數(shù)組,調(diào)整輔助數(shù)組</p><p>  m1[page_p] = b[0];</p><p>  m2[page_p] = b[1];<

74、/p><p>  m3[page_p] = b[2];</p><p>  OPT_F(O_Q,-1);</p><p>  s[page_p] = 'F';</p><p><b>  sa = 1;</b></p><p><b>  break;</b>&l

75、t;/p><p><b>  }</b></p><p><b>  }</b></p><p>  if (sa == 0)//缺頁</p><p><b>  {</b></p><p>  Ocount = 0;</p><p>

76、;  for (int i = 0; i < MaxM; i++)</p><p><b>  {</b></p><p>  //向后查找頁面調(diào)用情況用輔助數(shù)組記錄</p><p>  O_p = page_p + 1;</p><p>  for (; O_p < MaxN; O_p++)</p&g

77、t;<p><b>  {</b></p><p>  if (b[i] == a[O_p])</p><p><b>  {</b></p><p><b>  Ocount++;</b></p><p>  OPT_I[i] = 1;</p>&

78、lt;p>  //表示下標(biāo)代表頁面將來會(huì)被調(diào)用</p><p>  OPT_J[i] = O_p;</p><p><b>  //表示其調(diào)用時(shí)刻</b></p><p><b>  break;</b></p><p><b>  }</b></p>&l

79、t;p><b>  }</b></p><p><b>  }</b></p><p>  switch (Ocount)</p><p><b>  {</b></p><p><b>  case 0:</b></p><p&

80、gt;  //全部頁面以后都不會(huì)再度調(diào)用,查找輔助函數(shù)替換最先進(jìn)入內(nèi)存數(shù)組</p><p>  int temp = 0;</p><p>  for (int i = 0; i < MaxM; i++)</p><p><b>  {</b></p><p>  if (O_Q[i] > O_Q[temp]

81、)</p><p><b>  temp = i;</b></p><p><b>  }</b></p><p>  b[temp] = a[page_p];</p><p>  m1[page_p] = b[0];</p><p>  m2[page_p] = b[1];

82、</p><p>  m3[page_p] = b[2];</p><p>  OPT_F (O_Q ,temp);</p><p><b>  count++;</b></p><p><b>  break;</b></p><p><b>  case 1:&

83、lt;/b></p><p>  //有一個(gè)頁面將在以后調(diào)用,比較兩個(gè)不會(huì)被調(diào)用的頁面誰先進(jìn)入內(nèi)存并置換之</p><p><b>  temp = 0;</b></p><p>  for (int i = 0; i < MaxM; i++)</p><p><b>  {</b>&l

84、t;/p><p>  if (OPT_I[i] != 1 && O_Q[i] > O_Q[temp])</p><p><b>  temp = i;</b></p><p><b>  }</b></p><p>  b[temp] = a[page_p];</p>

85、<p>  m1[page_p] = b[0];</p><p>  m2[page_p] = b[1];</p><p>  m3[page_p] = b[2];</p><p>  OPT_F (O_Q ,temp);</p><p><b>  count++;</b></p><p

86、><b>  break;</b></p><p><b>  case 2: </b></p><p>  //有兩個(gè)頁面將在以后被調(diào)用,直接淘汰將來不會(huì)調(diào)用的那個(gè)</p><p>  for (int i = 0; i < MaxM; i++)</p><p><b>  

87、{</b></p><p>  if (OPT_I[i] == -1)</p><p><b>  {</b></p><p>  b[i] = a[page_p];</p><p>  m1[page_p] = b[0];</p><p>  m2[page_p] = b[1];&l

88、t;/p><p>  m3[page_p] = b[2];</p><p>  OPT_F(O_Q, i);</p><p><b>  count++;</b></p><p><b>  }</b></p><p><b>  }</b></p&g

89、t;<p><b>  break;</b></p><p><b>  case 3: </b></p><p>  //所有頁面都將被調(diào)用,查找輔助函數(shù),得到最晚被調(diào)用的頁面并淘汰之</p><p>  int p = 0;</p><p>  for (int i = 0; i

90、< MaxM; i++)</p><p><b>  {</b></p><p>  if (OPT_J[i] >OPT_J[p])</p><p><b>  p = i;</b></p><p><b>  }</b></p><p> 

91、 b[p] = a[page_p];</p><p>  m1[page_p] = b[0];</p><p>  m2[page_p] = b[1];</p><p>  m3[page_p] = b[2];</p><p>  OPT_F(O_Q, p);</p><p><b>  count++;&l

92、t;/b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }&l

93、t;/b></p><p><b>  輸出函數(shù)</b></p><p>  主要功能:按既定形式輸出模擬結(jié)果,并計(jì)算缺頁率并輸出 </p><p>  private void display(int[]a,int[]m1,int[]m2,int[]m3,char[]c)</p><p><b>  {

94、</b></p><p>  lblshow.Text = "";</p><p>  lblshow.Text =comboBox1.Text + ":\n";</p><p><b>  //輸出算法名稱</b></p><p>  for (int i = 0;

95、i < MaxN; i++)</p><p><b>  {</b></p><p>  //輸出頁面調(diào)用輸出順序</p><p>  lblshow.Text += a[i].ToString()+" ";</p><p><b>  }</b></p>&

96、lt;p>  lblshow.Text += "\n";</p><p>  for (int i = 0; i < MaxN; i++)</p><p><b>  {</b></p><p>  //輸出1號(hào)內(nèi)存塊變換情況</p><p>  if (m1[i] == -1)</

97、p><p>  lblshow.Text += " ";</p><p><b>  else</b></p><p>  lblshow.Text += m1[i].ToString() + " ";</p><p><b>  }</b></p>

98、<p>  lblshow.Text += "\n";</p><p>  for (int i = 0; i < MaxN; i++)</p><p><b>  {</b></p><p>  //輸出2號(hào)內(nèi)存塊變換情況</p><p>  if (m2[i] == -1)&l

99、t;/p><p>  lblshow.Text += " ";</p><p><b>  else</b></p><p>  lblshow.Text += m2[i].ToString() + " ";</p><p><b>  }</b></p&

100、gt;<p>  lblshow.Text += "\n";</p><p>  for (int i = 0; i < MaxN; i++)</p><p><b>  {</b></p><p>  //輸出3號(hào)內(nèi)存塊變換情況</p><p>  if (m3[i] == -1

101、)</p><p>  lblshow.Text += " ";</p><p><b>  else</b></p><p>  lblshow.Text += m3[i].ToString() + " ";</p><p><b>  }</b><

102、/p><p>  lblshow.Text += "\n";</p><p>  for (int i = 0; i < MaxN; i++)</p><p><b>  {</b></p><p><b>  //輸出缺頁情況</b></p><p>

103、  lblshow.Text += c [i] + " ";</p><p><b>  }</b></p><p>  //計(jì)算并輸出缺頁率</p><p>  lblshow.Text += "\n缺頁率:"+ count*100/MaxN +'%';</p><p

104、><b>  }</b></p><p><b>  3.2界面設(shè)計(jì)</b></p><p>  程序執(zhí)行開始顯示本程序具體模擬內(nèi)容如圖5進(jìn)入模擬界面所示</p><p><b>  圖5 進(jìn)入模擬界面</b></p><p>  點(diǎn)擊開始模擬按鈕進(jìn)入主界面,如圖6所示主

105、界面包含提示文本如“算法選擇”,“第1次調(diào)度頁面”、“頁面調(diào)度順序”。包含三個(gè)按鈕分別為添加按鈕用于添加調(diào)用頁面,重置按鈕清除當(dāng)前操作,以便重新模擬。模擬按鈕,單擊即可開始模擬。</p><p><b>  圖6 模擬主界面</b></p><p><b>  第4章 調(diào)試分析</b></p><p>  4.1實(shí)驗(yàn)步驟及

106、結(jié)果</p><p>  第一步:運(yùn)行程序顯示模擬入口如圖7模擬入口所示 </p><p><b>  圖7 模擬入口</b></p><p>  第二步:單擊開始模擬進(jìn)入主界面,可以看出程序默認(rèn)是選擇先進(jìn)先出頁面置換算法,顯示頁面調(diào)用順序處不可隨意修改。如圖8主界面所示</p><p><b>  圖8 主界

107、面</b></p><p>  第三步:選擇先進(jìn)先出算法進(jìn)行模擬,添加頁面調(diào)度序列如圖9所示。期間若輸入空字符則彈出對(duì)話框如圖10所示,點(diǎn)擊確定繼續(xù)輸入,輸入完成則禁止輸入如圖11所示;</p><p><b>  圖9 頁面添加</b></p><p>  圖10 輸入為空警告對(duì)話框</p><p><

108、;b>  圖11 輸入結(jié)束</b></p><p>  第四步:單擊模擬按鈕可以看見模擬結(jié)果如圖12所示。按照算法原理頁面置換過程應(yīng)為:</p><p>  其中3,5,1號(hào)頁面進(jìn)入內(nèi)存是因?yàn)樵緝?nèi)存中沒有所以產(chǎn)生了三次中斷。2號(hào)頁面調(diào)用時(shí)產(chǎn)生缺頁中斷,這是3號(hào)頁面最先進(jìn)入內(nèi)存故將3號(hào)頁面置換出去。3號(hào)頁面調(diào)用時(shí)產(chǎn)生缺頁中斷,此時(shí)5號(hào)在內(nèi)存中時(shí)間最長故將5號(hào)頁面置換出去1

109、號(hào)頁面進(jìn)入時(shí),內(nèi)存中本來就有故不產(chǎn)生中斷。5號(hào)頁面進(jìn)入時(shí)產(chǎn)生中斷,此時(shí)1號(hào)頁面存留時(shí)間最長故置換出去。1號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,此時(shí)2號(hào)頁面存留時(shí)間最長故置換出去。2號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,將3號(hào)頁面置換出去。3號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換處5號(hào)。4號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換出1號(hào)頁面。1號(hào)頁面調(diào)用產(chǎn)生中斷置換出2號(hào)。3號(hào)頁面調(diào)用不產(chǎn)生中斷。1號(hào)調(diào)用不產(chǎn)生中斷。5號(hào)頁面調(diào)用置換出3號(hào)。缺頁次數(shù)為12次缺頁率為80%。程序運(yùn)行結(jié)果正確。<

110、/p><p>  圖12 先進(jìn)先出算法模擬結(jié)果</p><p>  第五步:單擊重置按鈕,將算法改為最近最久未使用算法并單擊模擬按鈕,顯示結(jié)果如圖13所示。按照算法原理頁面置換過程應(yīng)為:</p><p>  其中3,5,1號(hào)頁面進(jìn)入內(nèi)存是因?yàn)樵緝?nèi)存中沒有所以產(chǎn)生了三次中斷。2號(hào)頁面調(diào)用時(shí)產(chǎn)生缺頁中斷,這是3號(hào)頁面最先進(jìn)入內(nèi)存且未被使用故將3號(hào)頁面置換出去。3號(hào)頁面調(diào)用

111、時(shí)產(chǎn)生缺頁中斷,此時(shí)5號(hào)在內(nèi)存中時(shí)間最長且近期未調(diào)用故將5號(hào)頁面置換出去。1號(hào)頁面進(jìn)入時(shí),內(nèi)存中本來就有故不產(chǎn)生中斷。5號(hào)頁面進(jìn)入時(shí)產(chǎn)生中斷,此時(shí)2號(hào)頁面存留時(shí)間最長并未使用故置換出去。1號(hào)頁面調(diào)用時(shí)不產(chǎn)生中斷。2號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,將3號(hào)頁面置換出去。3號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換處5號(hào)。4號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換出1號(hào)頁面。1號(hào)頁面調(diào)用產(chǎn)生中斷置換出2號(hào)。3號(hào)頁面調(diào)用不產(chǎn)生中斷。1號(hào)調(diào)用不產(chǎn)生中斷。5號(hào)頁面調(diào)用置換出4號(hào)。缺頁次數(shù)

112、為11次缺頁率為73%。程序運(yùn)行結(jié)果正確。</p><p>  圖13 最近最久未使用算法模擬</p><p>  第六步:單擊重置按鈕,將算法改為最佳置換算法并單擊模擬按鈕,顯示結(jié)果如圖14所示。</p><p>  按照算法原理頁面置換過程應(yīng)為:</p><p>  其中3,5,1號(hào)頁面進(jìn)入內(nèi)存是因?yàn)樵緝?nèi)存中沒有所以產(chǎn)生了三次中斷。2號(hào)

113、頁面調(diào)用時(shí)產(chǎn)生缺頁中斷,這是5號(hào)頁面最晚被再次調(diào)用故將5號(hào)頁面置換出去。3號(hào)頁面調(diào)用時(shí)不產(chǎn)生缺頁中斷。1號(hào)頁面進(jìn)入時(shí),內(nèi)存中本來就有故不產(chǎn)生中斷。5號(hào)頁面進(jìn)入時(shí)產(chǎn)生中斷,此時(shí)3號(hào)頁面最晚被再次調(diào)用故置換出去。1號(hào)頁面調(diào)用時(shí)不產(chǎn)生中斷。2號(hào)頁面調(diào)用時(shí)不產(chǎn)生中斷。3號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換出2號(hào)。4號(hào)頁面調(diào)用時(shí)產(chǎn)生中斷,置換出5號(hào)頁面。1號(hào)頁面調(diào)用不產(chǎn)生中斷。3號(hào)頁面調(diào)用不產(chǎn)生中斷。1號(hào)調(diào)用不產(chǎn)生中斷。5號(hào)頁面調(diào)用置換出1號(hào)。缺頁次數(shù)為8

114、次缺頁率為53%。程序運(yùn)行結(jié)果正確。</p><p>  圖14 最佳置換算法</p><p><b>  總結(jié)</b></p><p><b>  ****</b></p><p><b>  參考資料</b></p><p>  [1].王萬森,孫衛(wèi)

115、真,溫紹潔,霍其潤,汪國安.計(jì)算機(jī)操作系統(tǒng)原理.北京:高等教育出版社,2007</p><p>  [2].羅福強(qiáng),白忠建,楊劍.VisualC#.NET程序設(shè)計(jì).北京:人民郵電出版社,2012</p><p><b>  附錄</b></p><p>  using System;</p><p>  using Sy

116、stem.Collections.Generic;</p><p>  using System.Linq;</p><p>  using System.Windows.Forms;</p><p>  namespace yeshi</p><p><b>  {</b></p><p>  

117、static class Program</p><p><b>  {</b></p><p>  /// <summary></p><p>  /// 應(yīng)用程序的主入口點(diǎn)。</p><p>  /// </summary></p><p>  [STAThread]&

118、lt;/p><p>  static void Main()</p><p><b>  {</b></p><p>  Application.EnableVisualStyles();</p><p>  Application.SetCompatibleTextRenderingDefault(false);</

119、p><p>  Application.Run(new Form1());</p><p>  Application.Run(new Form2());</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }&l

120、t;/b></p><p>  using System;</p><p>  using System.Collections.Generic;</p><p>  using System.ComponentModel;</p><p>  using System.Data;</p><p>  using

121、 System.Drawing;</p><p>  using System.Linq;</p><p>  using System.Text;</p><p>  using System.Windows.Forms;</p><p>  namespace yeshi</p><p><b>  {&

122、lt;/b></p><p>  public partial class Form2 : Form</p><p><b>  {</b></p><p>  const int MaxM = 3;//內(nèi)存塊數(shù)</p><p>  const int MaxN = 15;//頁面調(diào)用個(gè)數(shù)</p>&

123、lt;p>  public Form2()</p><p><b>  {</b></p><p>  InitializeComponent();</p><p><b>  }</b></p><p>  int[] page_dd = new int[MaxN]{0,0,0,0,0,0,

124、0,0,0,0,0,0,0,0,0};//待調(diào)用頁面號(hào)數(shù)組</p><p>  private int page_p = 0;//頁面調(diào)用數(shù)組專用指針</p><p>  int[] Memery = new int[MaxM ]{-1,-1,-1};//內(nèi)存塊數(shù)組</p><p>  int[] M1 = new int[MaxN];//內(nèi)存1號(hào)塊狀態(tài)數(shù)組<

125、/p><p>  int[] M2 = new int[MaxN];//內(nèi)存2號(hào)塊數(shù)組</p><p>  int[] M3 = new int[MaxN];//內(nèi)存3號(hào)塊數(shù)組</p><p>  char[] s = new char[MaxN] { 'T', 'T', 'T', 'T', 'T&

126、#39;, 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' };</p><p>  int[] O_Q = new int[MaxM] { 0, 0, 0 };//最佳置換算法輔助數(shù)組</p>

127、<p>  private int count = 0;//缺頁次數(shù)計(jì)數(shù)器</p><p>  private int i_add=0;//初始化頁面調(diào)用數(shù)組指針變量</p><p>  private void btnAdd_Click(object sender, EventArgs e)</p><p><b>  {</b&g

128、t;</p><p>  if (txtAdd.Text != "")</p><p><b>  {</b></p><p>  page_dd[i_add] = Convert.ToInt32(txtAdd.Text);</p><p>  txtShow.Text += txtAdd.Text

129、+ " ";</p><p><b>  i_add++;</b></p><p>  txtAdd.Clear();</p><p>  if (i_add == MaxN)</p><p><b>  {</b></p><p>  txtAdd.Re

130、adOnly = true;</p><p>  btnAdd.Hide();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  txtAdd.Focus();</p><p>  label2.Text = &q

131、uot;第" + (i_add + 1) + "次調(diào)度頁面:";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show(&q

132、uot;請(qǐng)輸入調(diào)用頁面!", "輸入為空", MessageBoxButtons.OK, MessageBoxIcon.Warning);</p><p>  txtAdd.Focus();</p><p><b>  }</b></p><p><b>  }</b></p>

133、<p>  /*函數(shù)用于初始化頁面調(diào)用數(shù)組遵循先進(jìn)先出原則*/</p><p>  void init(int[] a, int[] b,int []m1,int[]m2,int[]m3)</p><p><b>  {</b></p><p>  for (int i = 0; i < MaxM&&page_p

134、 <MaxN ; i++)</p><p><b>  {</b></p><p>  b[i] = a[page_p];//調(diào)入內(nèi)存</p><p>  OPT_F (O_Q ,i);</p><p><b>  count++;</b></p><p>  m1[p

135、age_p] = b[0];//保存內(nèi)存狀態(tài)</p><p>  m2[page_p] = b[1];</p><p>  m3[page_p] = b[2];</p><p><b>  page_p++;</b></p><p>  for (int j = 0; j <= i&&page_p

136、<MaxN ; j++)</p><p><b>  {</b></p><p>  if (b[j] == a[page_p])</p><p><b>  {</b></p><p>  s[page_p] = 'F';</p><p>  m1[p

137、age_p] = b[0];</p><p>  m2[page_p] = b[1];</p><p>  m3[page_p] = b[2];</p><p>  OPT_F(O_Q, -1);</p><p><b>  page_p++;</b></p><p><b>  j =

138、 -1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*輸出內(nèi)存狀態(tài)和缺頁

溫馨提示

  • 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)論