欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      報(bào)告2 Linux操作系統(tǒng)

      時(shí)間:2019-05-13 04:36:31下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《報(bào)告2 Linux操作系統(tǒng)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《報(bào)告2 Linux操作系統(tǒng)》。

      第一篇:報(bào)告2 Linux操作系統(tǒng)

      Linux操作系統(tǒng)

      Linux是一套免費(fèi)使用和自由傳播的類(lèi)Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶(hù)、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶(hù)網(wǎng)絡(luò)操作系統(tǒng)。Linux 和 UNIX 的最大的區(qū)別是,前者是開(kāi)發(fā)源代碼的自由軟件,而后者是對(duì)源代碼實(shí)行知 識(shí)產(chǎn)權(quán)保護(hù)的傳統(tǒng)商業(yè)軟件。

      目前,中國(guó)Linux的發(fā)展呈現(xiàn)以下趨勢(shì):

      1、行業(yè)應(yīng)用逐漸擴(kuò)展,差異化解決方案需求增長(zhǎng)

      經(jīng)過(guò)幾年的技術(shù)磨礪與市場(chǎng)培育,Linux行業(yè)應(yīng)用市場(chǎng)逐步細(xì)化,在金融、電信、郵政、傳媒、煙草等行業(yè)的應(yīng)用也不斷增多。成功應(yīng)用案例的不斷增加,企業(yè)級(jí)用戶(hù)在Linux平臺(tái)上部署解決方案時(shí),對(duì)系統(tǒng)穩(wěn)定性、可靠性、高性能和安全性等問(wèn)題也逐步打消疑慮,樹(shù)立了信心。因此,在商用市場(chǎng)中,市場(chǎng)需要成熟的基于Linux的、針對(duì)行業(yè)的應(yīng)用解決方案,解決方案提供商在Linux應(yīng)用開(kāi)發(fā)過(guò)程中能夠從廠商獲得足夠的技術(shù)支持,并提供滿足用戶(hù)需求基礎(chǔ)之上的安全性、高效性、可移植性最好,以及成本最低的解決方案是趨勢(shì)所在。

      2、單一產(chǎn)品價(jià)格競(jìng)爭(zhēng)向整體解決方案TCO競(jìng)爭(zhēng)過(guò)渡

      Linux向市場(chǎng)之初,采取的是低價(jià)策略。但是,僅僅靠低價(jià)在競(jìng)爭(zhēng)中不一定能獲取足夠的競(jìng)爭(zhēng)優(yōu)勢(shì)彌補(bǔ)產(chǎn)品研發(fā)等巨大成本;而且用戶(hù)的消費(fèi)心理越來(lái)越理性,其選擇產(chǎn)品所關(guān)注的因素并不僅是單一產(chǎn)品的采購(gòu)價(jià)格,用戶(hù)的需求已經(jīng)從原來(lái)購(gòu)買(mǎi)多家廠商的多種產(chǎn)品轉(zhuǎn)變?yōu)閺膯我惶峁┥藤?gòu)買(mǎi)整體解決方案和一站式服務(wù)。針對(duì)用戶(hù)需求的轉(zhuǎn)變,Linux產(chǎn)品提供商也逐漸由單一產(chǎn)品價(jià)格競(jìng)爭(zhēng)向整體解決方案TCO競(jìng)爭(zhēng)過(guò)渡。這個(gè)過(guò)程中,Linux廠商需要與其它相關(guān)IT廠商如硬件、軟件廠商和ISV等建立很好的合作關(guān)系,提高產(chǎn)品互相兼容性、互操作性及結(jié)合度,最終提高用戶(hù)業(yè)務(wù)系統(tǒng)的效率,降低整個(gè)業(yè)務(wù)系統(tǒng)的TCO。

      3、渠道體系趨向?qū)哟位?、多樣?/p>

      當(dāng)前,中國(guó)Linux廠商的渠道體系開(kāi)始建立并逐步完善,但目前渠道銷(xiāo)售對(duì)Linux市場(chǎng)的貢獻(xiàn)還有待提高。未來(lái)Linux渠道發(fā)展趨勢(shì)將是構(gòu)建多環(huán)節(jié)合作的層次化渠道體系,并使之?dāng)U展為更廣泛的合作伙伴體系。在產(chǎn)品研發(fā)上,加強(qiáng)與行

      業(yè)獨(dú)立軟件開(kāi)發(fā)商的合作,提供更具適用性、更豐富的行業(yè)解決方案;在產(chǎn)品銷(xiāo)售上,除了代理商、分銷(xiāo)商、經(jīng)銷(xiāo)商之外,會(huì)有更多的具有成功的行業(yè)推廣經(jīng)驗(yàn)的增值解決方案提供商加入;在產(chǎn)品服務(wù)上,Linux廠商為渠道及系統(tǒng)集成商提供更多的培訓(xùn)和技術(shù)支持,提高渠道及系統(tǒng)集成商的服務(wù)能力;在市場(chǎng)推廣上,Linux廠商與相關(guān)軟硬件廠商的合作關(guān)系進(jìn)一步深入,面向共同的目標(biāo)客戶(hù)群提高產(chǎn)品的兼容性或提供捆綁的產(chǎn)品包共同拓展市場(chǎng);Linux培訓(xùn)或教育合作伙伴的加入從更深的層次上培育市場(chǎng),拓寬市場(chǎng)??傊?,未來(lái)Linux渠道發(fā)展的趨勢(shì)是形成多種方式多種層次的合作伙伴,構(gòu)建立體式渠道。

      4、服務(wù)在Linux收入結(jié)構(gòu)中的比重逐漸增大

      隨著Linux應(yīng)用的逐漸深入,Linux本土廠商和應(yīng)用企業(yè)正逐步接受以服務(wù)來(lái)獲取收入的銷(xiāo)售方式,而國(guó)外廠商N(yùn)ovell和紅帽的進(jìn)入,更將它們?cè)趪?guó)外采用的成熟的銷(xiāo)售方式帶入了中國(guó),加速了中國(guó)客戶(hù)對(duì)這一銷(xiāo)售方式的認(rèn)可。中國(guó)的Linux廠商也逐漸對(duì)以服務(wù)獲取收入的銷(xiāo)售方式達(dá)成了共識(shí),并正在努力調(diào)整自己的銷(xiāo)售策略和開(kāi)發(fā)策略,越來(lái)越多的收入來(lái)自Linux的技術(shù)服務(wù),而不是Linux產(chǎn)品的銷(xiāo)售

      而推廣Linux的重要意義在于:

      1.Linux是我國(guó)在系統(tǒng)軟件產(chǎn)業(yè)發(fā)展方面取得重大突破的一次歷史機(jī)遇:我國(guó)軟件產(chǎn)業(yè)規(guī)模小,實(shí)力弱,尤其是在系統(tǒng)軟件這樣的關(guān)鍵產(chǎn)品上,我們至今還沒(méi)能開(kāi)發(fā)出具有較強(qiáng)市場(chǎng)競(jìng)爭(zhēng)能力的產(chǎn)品。這是我們不得不面對(duì)的客觀現(xiàn)實(shí)。沒(méi)有自主的操作系統(tǒng),不僅信息產(chǎn)業(yè)發(fā)展受制于人,而且信息安全也難以保證。中國(guó)作為世界政治,經(jīng)濟(jì)大國(guó),不能沒(méi)有操作系統(tǒng)這樣的關(guān)鍵軟件產(chǎn)品。Linux是我們可能在系統(tǒng)軟件上取得重大突破的一個(gè)不容錯(cuò)過(guò)的良機(jī)。

      2.Linux已成主流平臺(tái):Linux誕生于1991年,以其開(kāi)放源碼技術(shù)先進(jìn)等特性,得到了廣泛認(rèn)可,并以每年30%的增長(zhǎng)率(操作系統(tǒng)產(chǎn)品第一位)飛速發(fā)展,以24%市場(chǎng)份額在服務(wù)器市場(chǎng)成為第二大服務(wù)器操作系統(tǒng)平臺(tái)。Linux是支持平臺(tái)最多的操作系統(tǒng),從PDA,信息家電、信息終端到桌面操作系統(tǒng),PC服務(wù)器,小型機(jī)乃至大型主機(jī),都可以運(yùn)行Linux操作系統(tǒng)。而且穩(wěn)定性和性能非常優(yōu)秀?,F(xiàn)在Linux已經(jīng)成為強(qiáng)大的企業(yè)級(jí)操作系統(tǒng),應(yīng)用的深度和廣度也在飛速地發(fā)展,已在政府、教育、軍隊(duì)、金融、商業(yè)、ISP/ICP,電信等

      領(lǐng)域都得到了廣泛發(fā)應(yīng)用,成功案例非常之多。

      Linux的發(fā)展的前景之廣闊已毋庸置疑,但Linux方面發(fā)技術(shù)人才匱乏,已成為其發(fā)展的瓶頸。因此,在教育領(lǐng)域?qū)W習(xí)和使用Linux具有現(xiàn)實(shí)性和長(zhǎng)遠(yuǎn)意義。當(dāng)然Linux操作系統(tǒng)和Windows操作系統(tǒng)相比較有很多的特點(diǎn)。比如:1.可完全免費(fèi)得到2.可以運(yùn)行在386以上及各種RISC體系結(jié)構(gòu)機(jī)器上3.Linux是UNIX的完整實(shí)現(xiàn)4.真正的多任務(wù)多用戶(hù)5.完全符合POSIX標(biāo)準(zhǔn)6.具有圖形用戶(hù)界面7.具有強(qiáng)大的網(wǎng)絡(luò)功能8.是完整的UNIX開(kāi)發(fā)平臺(tái)

      目前應(yīng)用在手機(jī)上的操作系統(tǒng)主要有PalmOS、Symbian、Windows CE和Linux四種。與Windows操作系統(tǒng)、Linux操作系統(tǒng)有關(guān)系的只是系統(tǒng)的內(nèi)核架構(gòu),表層的軟件平臺(tái)是獨(dú)立的。

      隨著技術(shù)的進(jìn)步,移動(dòng)通信終端引入開(kāi)源手機(jī)操作系統(tǒng)得以實(shí)現(xiàn),由于Linux系統(tǒng)是免費(fèi)開(kāi)放的,所以其在通信終端的應(yīng)用為用戶(hù)帶來(lái)了更便宜的價(jià)格和更豐富的功能擴(kuò)展:Google開(kāi)發(fā)的Android手機(jī)操作系統(tǒng)可謂是其中的代表。其Android系統(tǒng)的組成模塊,核心系統(tǒng)就是采用Linux內(nèi)核。Linux存在著許多不同的Linux版本,但它們都使用了Linux內(nèi)核。Linux可安裝在各種計(jì)算機(jī)硬件設(shè)備中,比如手機(jī)、平板電腦、路由器、視頻游戲控制臺(tái)、臺(tái)式計(jì)算機(jī)、大型機(jī)和超級(jí)計(jì)算機(jī)。嚴(yán)格來(lái)講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但實(shí)際上人們已經(jīng)習(xí)慣了用Linux來(lái)形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。

      第二篇:實(shí)時(shí)操作系統(tǒng)報(bào)告

      實(shí)時(shí)操作系統(tǒng)課程實(shí)驗(yàn)報(bào)告

      專(zhuān)業(yè):通信1001 學(xué)號(hào):3100601025 姓名:陳治州

      完成時(shí)間:2013年6月11日

      實(shí)驗(yàn) 簡(jiǎn)易電飯煲的模擬

      一.實(shí)驗(yàn)?zāi)康模?/p>

      掌握在基于嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II的應(yīng)用中,基于多任務(wù)的模式的編程方法。鍛煉綜合應(yīng)用多任務(wù)機(jī)制,任務(wù)間的通信機(jī)制,內(nèi)存管理等的能力。

      二.實(shí)驗(yàn)要求:

      1.按“S”開(kāi)機(jī),系統(tǒng)進(jìn)入待機(jī)狀態(tài),時(shí)間區(qū)域顯示當(dāng)前北京時(shí)間,默認(rèn)模式“煮飯”;2.按“C”選擇模式,即在“煮飯”、“煮粥”和“煮面”模式中循環(huán)選擇;

      3.按“B”開(kāi)始執(zhí)行模式命令,“開(kāi)始”狀態(tài)選中,時(shí)間區(qū)域開(kāi)始倒計(jì)時(shí),倒計(jì)時(shí)完成后進(jìn)入“保溫”狀態(tài),同時(shí)該狀態(tài)顯示選中,時(shí)間區(qū)域顯示保溫時(shí)間;

      4.按“Q”取消當(dāng)前工作狀態(tài),系統(tǒng)進(jìn)入待機(jī)狀態(tài),時(shí)間區(qū)域顯示北京時(shí)間,模式為當(dāng)前模式;

      5.按“X”退出系統(tǒng),時(shí)間區(qū)域不顯示。

      6.煮飯時(shí)長(zhǎng)為30,煮粥時(shí)長(zhǎng)為50,煮面時(shí)長(zhǎng)為40.三.實(shí)驗(yàn)設(shè)計(jì):

      1.設(shè)計(jì)思路:

      以老師所給的五個(gè)程序?yàn)榛A(chǔ),看懂每個(gè)實(shí)驗(yàn)之后,對(duì)borlandc的操作有了大概的認(rèn)識(shí),重點(diǎn)以第五個(gè)實(shí)驗(yàn)Task_EX為框架,利用其中界面顯示與按鍵掃描以及做出相應(yīng)的響應(yīng),對(duì)應(yīng)實(shí)現(xiàn)此次實(shí)驗(yàn)所需要的功能。

      本次實(shí)驗(yàn)分為界面顯示、按鍵查詢(xún)與響應(yīng)、切換功能、時(shí)鐘顯示與倒計(jì)時(shí)模塊,綜合在一起實(shí)驗(yàn)所需功能。2.模塊劃分圖:(1)界面顯示:

      Main()Taskstart()Taskstartdispinit()在TaskStartDispInit()函數(shù)中,使用PC_DispStr()函數(shù)畫(huà)出界面。(2)按鍵查詢(xún)與響應(yīng):

      Main()Taskstart()在TaskStart()函數(shù)中,用if(PC_GetKey(&key)== TRUE)判斷是否有按鍵輸入。然后根據(jù)key的值,判斷輸入的按鍵是哪一個(gè);在響應(yīng)中用switch語(yǔ)句來(lái)執(zhí)行對(duì)應(yīng)按鍵的響應(yīng)。(3)切換功能:

      l計(jì)數(shù)“C”按鍵的次數(shù)M=l%3Switch(m)M=0,1,2對(duì)應(yīng)于煮飯,煮粥,煮面,然后使用PC_DispStr()函數(shù)在選擇的選項(xiàng)前畫(huà)上“@”指示,同時(shí),在其余兩項(xiàng)錢(qián)畫(huà)上“ ”以“擦出”之前畫(huà)下的“@”,注意l自增。

      四.主要代碼:

      #include “stdio.h” #include “includes.h” #include “time.h” #include “dos.h” #include “sys/types.h” #include “stdlib.h” #define TASK_STK_SIZE

      512

      #define N_TASKS

      OS_STK

      TaskStk[N_TASKS][TASK_STK_SIZE];

      OS_STK

      TaskStartStk[TASK_STK_SIZE];

      INT8U

      TaskData[N_TASKS];

      void Task0(void *pdata);

      void TaskStart(void *pdata);

      static void TaskStartDispInit(void);

      void main(void){

      PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);

      OSInit();

      PC_DOSSaveReturn();

      PC_VectSet(uCOS, OSCtxSw);

      OSTaskCreate(TaskStart,(void *)0, &TaskStartStk[TASK_STK_SIZE-1], 4);

      OSStart();

      } void TaskStart(void *pdata){ #if OS_CRITICAL_METHOD == 3

      OS_CPU_SR cpu_sr;#endif

      INT8U l,m;

      INT16S key;

      l=0;

      pdata = pdata;

      TaskStartDispInit();

      OS_ENTER_CRITICAL();

      PC_VectSet(0x08, OSTickISR);

      PC_SetTickRate(OS_TICKS_PER_SEC);

      OS_EXIT_CRITICAL();

      OSStatInit();

      for(;;){

      if(PC_GetKey(&key)== TRUE)

      {

      switch(key)

      {

      case 0x1B:

      PC_DOSReturn();

      break;

      case 0x43:

      { m=(l%3);

      switch(m)

      { case 0: {

      PC_DispStr(26,6, “@”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);

      PC_DispStr(40,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(55,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);} break;

      case 1: { PC_DispStr(26,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);

      PC_DispStr(40,6, “@”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);

      PC_DispStr(55,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);} break;case 2: { PC_DispStr(26,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);

      PC_DispStr(40,6, “ ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(55,6, “@”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);}

      break;}

      l++;} break;

      } } OSCtxSwCtr = 0;

      OSTimeDlyHMSM(0, 0, 1, 0);

      } } static void TaskStartDispInit(void){ PC_DispStr(0, 0, “

      uC/OS-II, The Real-Time Kernel

      ”, DISP_FGND_WHITE + DISP_BGND_RED + DISP_BLINK);PC_DispStr(0, 1, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 2, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 3, “

      dianfanbao shiyan

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 4, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 5, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 6, “

      kai shi.zhu fan.zhu zhou.zhu mian.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 7, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 8, “

      bao wen.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 9, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 10, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 11, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 12, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 13, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 14, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 15, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 16, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 17, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 18, “

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);PC_DispStr(0, 19, “ 'S':kai ji.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);PC_DispStr(0, 20, “ 'C':mo shi qie huan.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);PC_DispStr(0, 21, “ 'B':kai shi zhi xin.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);PC_DispStr(0, 22, “ 'Q':qu xiao dang qian gong zuo zhuang tai.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);PC_DispStr(0, 23, “ 'X':tui chu xi tong.”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);

      PC_DispStr(0, 24, “

      <-PRESS 'ESC' TO QUIT->

      ”, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY + DISP_BLINK);}

      五.運(yùn)行界面:

      (1)主界面:

      (2)顯示北京時(shí)間:

      (3)模式切換:

      (4)倒計(jì)時(shí):

      (5)保溫執(zhí)行時(shí)間:

      六.總結(jié):

      本次實(shí)驗(yàn)主要以老師所給的實(shí)驗(yàn)事例為基礎(chǔ),并結(jié)合老師課堂講的內(nèi)容,理解編寫(xiě)程序。做實(shí)驗(yàn)本實(shí)驗(yàn)前,先執(zhí)行了一下事例程序,以此了解borlandc的一些基本操作;然后就是看懂每個(gè)實(shí)驗(yàn)的框架和主要部分;接著,將事例程序中的部分思想運(yùn)用到本次實(shí)驗(yàn)中,其中以顯示界面的思想運(yùn)用的最多;除此以外,在模式切換上花了最大的精力,最終的解決方法是以變量l作為一個(gè)計(jì)數(shù)值,并運(yùn)用switch語(yǔ)句在選擇的模式上畫(huà)上“@”,同時(shí)還得注意在未選擇的模式上畫(huà)上空格來(lái)“擦除”之前畫(huà)上的@;在查詢(xún)按鍵上,同樣運(yùn)用switch語(yǔ)句......這次實(shí)驗(yàn)收獲不少,不僅對(duì)之前學(xué)的C語(yǔ)言有了更進(jìn)一步的鞏固,而且還強(qiáng)化了ucos里面的多任務(wù)的一些認(rèn)識(shí);同時(shí),以前對(duì)DOS界面很陌生,但本次實(shí)驗(yàn)使用的正是DOS界面,通過(guò)幾天的經(jīng)歷,對(duì)DOS中的編譯、“help”等各個(gè)方面有了更深入的認(rèn)識(shí),不再害怕使用DOS了。

      對(duì)本課程有很大的興趣,在以后的課余時(shí)間里我會(huì)不斷學(xué)習(xí)這些知識(shí)。

      第三篇:操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      課程設(shè)計(jì)報(bào)告

      題 目: 模擬請(qǐng)求頁(yè)式管理

      課程名稱(chēng): 計(jì)算機(jī)操作系統(tǒng) 學(xué) 院: 信息工程學(xué)院

      專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)

      班 級(jí): 14計(jì)本(1)學(xué)生姓名: * * * 學(xué) 號(hào): 201403031** 指導(dǎo)教師: * * 成 績(jī):

      開(kāi)課時(shí)間: 2016-2017 學(xué)年 一 學(xué)期

      模擬請(qǐng)求頁(yè)式管理

      第1章 需求分析

      1.1設(shè)計(jì)要求

      請(qǐng)求頁(yè)式管理是一種常用的虛擬存儲(chǔ)管理技術(shù)。本設(shè)計(jì)通過(guò)請(qǐng)求頁(yè)式存儲(chǔ)管理中頁(yè)面置換算法模擬設(shè)計(jì),了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌握請(qǐng)求頁(yè)式管理的頁(yè)面置換算法。本實(shí)驗(yàn)要求用Vc++或其他高級(jí)語(yǔ)言編寫(xiě)和調(diào)試。

      編寫(xiě)程序?qū)崿F(xiàn):

      (1)先進(jìn)先出頁(yè)面置換算法(FIFO)(2)最近最久未使用頁(yè)面置換算法(LRU)最佳置換頁(yè)面置換算法(OPT)設(shè)計(jì)一個(gè)虛擬存儲(chǔ)區(qū)和內(nèi)存工作區(qū),編程序演示以上三種算法的具體實(shí)現(xiàn)過(guò)程,并計(jì)算訪問(wèn)命中率。

      1.2解決方案

      首先確定實(shí)現(xiàn)語(yǔ)言使用c#實(shí)現(xiàn)圖形化界面,后確定要實(shí)現(xiàn)哪些功能,比如算法選擇,頁(yè)面添加,模擬控制。然后確定輸出結(jié)構(gòu)以便于程序的測(cè)試和驗(yàn)證。將基本框架建立后再進(jìn)行編程。編程前進(jìn)行算法結(jié)構(gòu)分析最后編程實(shí)現(xiàn)。

      1.3算法實(shí)現(xiàn)原理

      1、先進(jìn)先出置換算法(FIFO):

      發(fā)生缺頁(yè)中斷時(shí)按照頁(yè)面進(jìn)入內(nèi)存順序總是淘汰最先進(jìn)入內(nèi)存的頁(yè)面。

      2、最近最久未使用置換算法(LRU):

      發(fā)生缺頁(yè)中斷時(shí)總是淘汰存在內(nèi)存中最長(zhǎng)時(shí)間未被使用的頁(yè)面。

      3、最佳置換算法(OPT):

      發(fā)生缺頁(yè)中斷時(shí)若一個(gè)或幾個(gè)頁(yè)面將來(lái)將不會(huì)被調(diào)用則按先進(jìn)先出原則淘汰頁(yè)面,若將來(lái)都有調(diào)用則比較調(diào)用時(shí)刻選擇最遠(yuǎn)時(shí)刻頁(yè)面淘汰。

      4、缺頁(yè)率:缺頁(yè)次數(shù)占頁(yè)面調(diào)用次數(shù)的百分比。

      第2章 概要設(shè)計(jì)

      2.1數(shù)據(jù)設(shè)計(jì)

      常變量:調(diào)用頁(yè)面最大數(shù)量(MaxN),內(nèi)存最大頁(yè)面數(shù)(MaxM)待調(diào)用頁(yè)面數(shù)組:page_dd[MaxN]存放等待調(diào)用的頁(yè)面號(hào)

      頁(yè)面數(shù)組專(zhuān)用指針 page_p,用于指向page_dd數(shù)組中正需調(diào)入內(nèi)存的頁(yè)號(hào) 內(nèi)存塊數(shù)組:Memery[MaxM],存放內(nèi)存當(dāng)前存放的頁(yè)號(hào) 缺頁(yè)計(jì)數(shù)器:count,記錄缺頁(yè)次數(shù)

      內(nèi)存塊狀態(tài)數(shù)組:M1[MaxN],M2[MaxN],M3[MaxN],記錄每次頁(yè)面調(diào)用結(jié)束后內(nèi)存各塊的狀態(tài)

      缺頁(yè)記錄數(shù)組s[MaxN],用于記錄頁(yè)面調(diào)用時(shí)是否產(chǎn)生缺頁(yè)中斷,初始化為是

      2.2函數(shù)設(shè)計(jì)

      1、頁(yè)面添加函數(shù):void btnAdd_Click(object sender, EventArgs e)用于實(shí)現(xiàn)通過(guò)點(diǎn)擊按鈕實(shí)現(xiàn)數(shù)據(jù)輸入。

      2、內(nèi)存初始化函數(shù):init(int[] a, int[] b,int []m1,int[]m2,int[]m3)參數(shù)有頁(yè)面數(shù)組、內(nèi)存數(shù)組、狀態(tài)數(shù)組,采用先進(jìn)先出算法對(duì)內(nèi)存先進(jìn)行裝滿 服務(wù)于先進(jìn)先出頁(yè)面置換函數(shù)和最佳置換函數(shù)。

      3、輸出函數(shù):void display(int[]a,int[]m1,int[]m2,int[]m3,char[]c)用于輸出模擬結(jié)果,參數(shù)有頁(yè)面數(shù)組,內(nèi)存數(shù)組,狀態(tài)數(shù)組,缺頁(yè)記錄數(shù)組。再模擬之后調(diào)用。

      4、模擬控制函數(shù):void btnmo_Click(object sender, EventArgs e)用于實(shí)現(xiàn)通過(guò)單擊模擬按鈕,根據(jù)用戶(hù)所選算法進(jìn)行模擬并顯示結(jié)果。

      5、先進(jìn)先出算法模擬函數(shù):

      void FIFO(int[] a, int[] b,int[]m1,int[]m2,int[]m3,char[] s)用于實(shí)現(xiàn)先進(jìn)先出算法模擬,參數(shù)有頁(yè)面數(shù)組,內(nèi)存數(shù)組、內(nèi)存狀態(tài)記錄數(shù)組,缺頁(yè)記錄數(shù)組。在模擬函數(shù)中調(diào)用。

      6、最近最久未使用算法模擬函數(shù):

      void LRU(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s)用于 3 實(shí)現(xiàn)最近最久未使用算法模擬,參數(shù)有頁(yè)面數(shù)組,內(nèi)存數(shù)組,內(nèi)存狀態(tài)記錄數(shù)組,缺頁(yè)記錄數(shù)組。在模擬函數(shù)中被調(diào)用。

      7、最近最久未使用函數(shù)輔助函數(shù):void LUR_I(int[] a,int e)用于對(duì)最近最久未使用算法中所用輔助數(shù)組(記錄頁(yè)面存在時(shí)長(zhǎng))進(jìn)行調(diào)整,參數(shù)有輔助數(shù)組及需調(diào)整的數(shù)據(jù)下標(biāo)。在最近最久未使用函數(shù)中調(diào)用。

      8、最佳置換算法模擬函數(shù):

      void OPT(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s)用于模擬最佳置換算法。參數(shù)有頁(yè)面數(shù)組,內(nèi)存數(shù)組,內(nèi)存狀態(tài)記錄數(shù)組,缺頁(yè)記錄數(shù)組。在模擬函數(shù)中被調(diào)用。

      9、最佳置換算法輔助函數(shù):void OPT_F(int[] a, int e)用于對(duì)最佳置換算法中的輔助數(shù)組進(jìn)行調(diào)整。參數(shù)有輔助數(shù)組,需調(diào)整數(shù)據(jù)下標(biāo)。在最佳置換算法中被調(diào)用。

      10、重置函數(shù):void btncz_Click(object sender, EventArgs e)用于重新選擇算法進(jìn)行新的模擬。

      2.3主要算法設(shè)計(jì)

      1、初始化函數(shù)算法:

      第一步:將第一個(gè)頁(yè)面調(diào)入內(nèi)存,調(diào)整最佳置換算法輔助數(shù)組,缺頁(yè)計(jì)數(shù)器加一,保存內(nèi)存數(shù)組狀態(tài)。

      第二步:調(diào)用下一個(gè)頁(yè)面并判斷內(nèi)存中是否有本頁(yè)面有轉(zhuǎn)第三步,無(wú)轉(zhuǎn)第四步。第三步:更改缺頁(yè)數(shù)組對(duì)應(yīng)下標(biāo)值,記錄當(dāng)前內(nèi)存狀態(tài),調(diào)整最佳置換算法輔助數(shù)組,頁(yè)面指針指向下一頁(yè)。

      第四步:將頁(yè)面調(diào)入內(nèi)存,調(diào)整最佳置換算法輔助函數(shù),缺頁(yè)計(jì)數(shù)器加一,保存內(nèi)存數(shù)組狀態(tài)。若內(nèi)存尚不滿轉(zhuǎn)第一步。具體見(jiàn)圖1初始化算法流程圖。

      開(kāi)始頁(yè)面調(diào)入內(nèi)存缺頁(yè)計(jì)數(shù)器加一記錄內(nèi)存狀態(tài)調(diào)用下一頁(yè)否否內(nèi)存是否有該頁(yè)面是記錄內(nèi)存狀態(tài)修改缺頁(yè)數(shù)組內(nèi)存已滿是結(jié)束

      圖1 初始化算法流程圖

      2、先進(jìn)先出頁(yè)面置換算法:

      第一步:檢查內(nèi)存中是否已有需調(diào)用頁(yè)面,有則轉(zhuǎn)第二步,無(wú)則轉(zhuǎn)第三步。第二步:記錄當(dāng)前內(nèi)存狀態(tài),修改缺頁(yè)數(shù)組對(duì)應(yīng)下標(biāo)值。

      第三步:內(nèi)存中無(wú)需要調(diào)用的頁(yè)面,進(jìn)行出隊(duì)操作,然后進(jìn)行入隊(duì)操作,記錄內(nèi)存塊狀態(tài),缺頁(yè)計(jì)數(shù)器加一。

      第四步:若頁(yè)面數(shù)組未被調(diào)用結(jié)束轉(zhuǎn)第一步。具體見(jiàn)圖2先進(jìn)先出算法流程圖。

      開(kāi)始頁(yè)面調(diào)入內(nèi)存該頁(yè)在內(nèi)存中是否已存在是否否先出隊(duì)操作后入隊(duì)操作記錄內(nèi)存狀態(tài)修改缺頁(yè)數(shù)組值記錄內(nèi)存狀態(tài)缺頁(yè)計(jì)數(shù)器加一頁(yè)面調(diào)用結(jié)束是結(jié)束

      圖2 先進(jìn)先出算法流程圖

      3、最近最久未使用置換算法:

      第一步:將頁(yè)面調(diào)入內(nèi)存,記錄內(nèi)存狀態(tài),缺頁(yè)計(jì)數(shù)器加一,調(diào)整輔助數(shù)組,頁(yè)面指針加一。

      第二步:檢查內(nèi)存中是否已有所需頁(yè)面,有轉(zhuǎn)第三步,無(wú)轉(zhuǎn)第一步。

      第三步:修改缺頁(yè)數(shù)組對(duì)應(yīng)下標(biāo)記錄,記錄內(nèi)存狀態(tài),調(diào)整輔助數(shù)組,頁(yè)面指針加一。第四步:內(nèi)存是否已滿,無(wú)則轉(zhuǎn)第一步,是則轉(zhuǎn)第五步。

      第五步:檢查內(nèi)存中是否有所需頁(yè)面,有則記錄當(dāng)前內(nèi)存狀態(tài),修改缺頁(yè)數(shù)組對(duì)應(yīng)下標(biāo)值。無(wú)則轉(zhuǎn)第六步。

      第六步:檢查輔助數(shù)組找出最大值并記錄其下標(biāo),置換內(nèi)存中對(duì)應(yīng)下標(biāo)的數(shù)據(jù),調(diào)整輔助數(shù)組,缺頁(yè)計(jì)數(shù)器加一。

      第七步:頁(yè)面是否調(diào)用結(jié)束未結(jié)束則轉(zhuǎn)第五步。具體見(jiàn)圖3最近最久未使用算法流程圖。

      開(kāi)始調(diào)入頁(yè)面至內(nèi)存記錄內(nèi)存狀態(tài)計(jì)數(shù)器加一否調(diào)整輔助數(shù)組調(diào)用下一頁(yè)內(nèi)存中是否已有該頁(yè)否內(nèi)存已滿是通過(guò)輔助數(shù)組確定淘汰頁(yè)面是修改缺頁(yè)數(shù)組記錄內(nèi)存狀態(tài)調(diào)整輔助數(shù)組否頁(yè)面置換記錄內(nèi)存狀態(tài)計(jì)數(shù)器加一調(diào)用結(jié)束是結(jié)束

      圖3 最近最久未使用算法

      4、最佳置換算法:

      第一步:檢查內(nèi)存中是否已有所需頁(yè)面,有則記錄內(nèi)存狀態(tài),修改缺頁(yè)數(shù)組對(duì)應(yīng)下標(biāo)數(shù)值。無(wú)則轉(zhuǎn)第二步。

      第二步:判斷內(nèi)存中各頁(yè)面的未來(lái)調(diào)用情況,記錄是否還有調(diào)用,若有則記錄調(diào)用時(shí)刻。

      第三步:分析調(diào)用情況,內(nèi)存中頁(yè)面都在將來(lái)不會(huì)被調(diào)用轉(zhuǎn)第四步,有一個(gè)被調(diào)用轉(zhuǎn)第五步,有兩個(gè)被調(diào)用轉(zhuǎn)第六步,全被調(diào)用轉(zhuǎn)第七步。

      第四步:查找輔助數(shù)組找到內(nèi)存中存在時(shí)間最長(zhǎng)的頁(yè)面進(jìn)行置換,修改內(nèi)存狀態(tài),缺頁(yè)計(jì)數(shù)器加一,修改輔助數(shù)組。

      第五步:查找到不會(huì)被調(diào)用的頁(yè)面,并根據(jù)輔助數(shù)組選擇最早進(jìn)入內(nèi)存的頁(yè)面將其置換。修改內(nèi)存狀態(tài),缺頁(yè)計(jì)數(shù)器加一,修改輔助數(shù)組。

      第六步:查找輔助數(shù)組找到將來(lái)不需要在調(diào)用的頁(yè)面將其置換,修改輔助數(shù)組,記錄內(nèi)存狀態(tài),缺頁(yè)計(jì)數(shù)器加一。

      第七步:查找輔助數(shù)組,找尋最晚被調(diào)用的頁(yè)面,將其置換。記錄內(nèi)存狀態(tài),修改輔助數(shù)組,缺頁(yè)計(jì)數(shù)器加一。

      第八步:頁(yè)面是否調(diào)用完成,否則轉(zhuǎn)第一步。具體見(jiàn)圖4最佳置換算法流程圖

      開(kāi)始調(diào)入頁(yè)面記錄內(nèi)存狀態(tài)計(jì)數(shù)器加一更新輔助函數(shù)是頁(yè)面已存在否向后檢查內(nèi)存當(dāng)前頁(yè)面調(diào)用情況所有頁(yè)面都不會(huì)再度調(diào)用否是一個(gè)頁(yè)面會(huì)調(diào)用否否是兩個(gè)頁(yè)面會(huì)調(diào)用是否查找輔助數(shù)組得到最先進(jìn)入頁(yè)面通過(guò)輔助數(shù)組得到不會(huì)再調(diào)用的頁(yè)面通過(guò)輔助數(shù)組獲取最晚調(diào)用的頁(yè)面通過(guò)輔助數(shù)組得到另外兩個(gè)頁(yè)面中最先進(jìn)入的頁(yè)面置換頁(yè)面記錄內(nèi)存狀態(tài)計(jì)數(shù)器加一更新輔助函數(shù)頁(yè)面調(diào)用結(jié)束是結(jié)束

      圖4 最佳置換算法流程圖 2.4界面設(shè)計(jì)

      采用c# 設(shè)計(jì)windows窗體應(yīng)用程序,使用下拉列表框選擇算法,通過(guò)按鈕添加待調(diào)用的頁(yè)面。通過(guò)文本控件顯示模擬結(jié)果。顯示樣式:第一行:算法名稱(chēng);

      第二行:調(diào)用頁(yè)面順序;

      第三行至第五行顯示內(nèi)存在每調(diào)用一次頁(yè)面后的狀態(tài);

      第六行:是否缺頁(yè);

      最后一行顯示缺頁(yè)率;

      第3章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

      3.1函數(shù)設(shè)計(jì)

      1、添加按鈕功能實(shí)現(xiàn)代碼

      主要功能:實(shí)現(xiàn)單擊一次添加一個(gè)調(diào)用頁(yè)面,并給出相應(yīng)的提示,如正在輸入的是第幾次調(diào)度頁(yè)面,在輸入為空時(shí)能夠彈出對(duì)話框提示用戶(hù),在輸入完成時(shí)為避免數(shù)組越界應(yīng)在輸入完成時(shí)隱藏;輸入過(guò)程中始終保證時(shí)輸入焦點(diǎn)。private void btnAdd_Click(object sender, EventArgs e){ if(txtAdd.Text!= “")//輸入不為空才能繼續(xù)輸入 { page_dd[i_add] = Convert.ToInt32(txtAdd.Text);/*將輸入值賦值給頁(yè)面數(shù)組*/ txtShow.Text += txtAdd.Text + ” “;/*顯示供用戶(hù)查閱*/ i_add++;txtAdd.Clear();/*清空*/ if(i_add == MaxN)//輸入結(jié)束時(shí) { txtAdd.ReadOnly = true;//不允許繼續(xù)輸入 btnAdd.Hide();//按鈕隱藏 return;} txtAdd.Focus();//設(shè)置為輸入焦點(diǎn)

      label2.Text = ”第“ +(i_add + 1)+ ”次調(diào)度頁(yè)面:“;/*提示用戶(hù)正在輸入的是第幾次調(diào)度頁(yè)面*/ } /*輸入為空則彈出對(duì)話框提示用戶(hù)輸入為空*/ else { MessageBox.Show(”請(qǐng)輸入調(diào)用頁(yè)面!“, ”輸入為空“, MessageBoxButtons.OK, MessageBoxIcon.Warning);txtAdd.Focus();} }

      2、初始化函數(shù)

      主要功能:將內(nèi)存一先進(jìn)先出方式填滿,并記錄每個(gè)頁(yè)面進(jìn)入時(shí)間,服務(wù)于先進(jìn)先出頁(yè)面置換算法和最佳置換算法。

      void init(int[] a, int[] b,int []m1,int[]m2,int[]m3){ /*內(nèi)存未滿時(shí)循環(huán)*/ for(int i = 0;i < MaxM&&page_p

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

      //檢查內(nèi)存中是否原先就有需要的頁(yè)面; for(int j = 0;j <= i&&page_p

      s[page_p] = 'F';//缺頁(yè)數(shù)組對(duì)應(yīng)數(shù)據(jù)更改 m1[page_p] = b[0];//記錄內(nèi)存狀態(tài) m2[page_p] = b[1];m3[page_p] = b[2];OPT_F(O_Q,-1);//調(diào)整最佳置換算法輔助函數(shù) page_p++;//調(diào)用下一頁(yè) j =-1;//重新開(kāi)始尋找 } } } }

      3、先進(jìn)先出頁(yè)面置換函數(shù)

      主要功能:根據(jù)先進(jìn)先出算法要求在產(chǎn)生缺頁(yè)中斷時(shí)采用先進(jìn)先出方式確定淘汰頁(yè)面,并在每次頁(yè)面調(diào)用時(shí)記錄下內(nèi)存狀態(tài),缺頁(yè)次數(shù);采用循環(huán)隊(duì)列使得每次出隊(duì)的一定是最先進(jìn)入內(nèi)存的。

      private void FIFO(int[] a, int[] b,int[]m1,int[]m2,int[]m3,char[] s){ int Fpage_p = page_p;int front, rear;//定義隊(duì)列對(duì)手和對(duì)尾指針并初始化 front = 0;rear = MaxM1;int sa;for(;Fpage_p < MaxN;Fpage_p++){ sa = 0;for(int i = 0;i < MaxM;i++)//檢查內(nèi)存中是否已有要調(diào)用的頁(yè)面。

      { if(b[i] == a[Fpage_p]){ m1[Fpage_p] = b[0];m2[Fpage_p] = b[1];m3[Fpage_p] = b[2];s[Fpage_p] = 'F';sa = 1;break;} } if(sa == 0){ front =(front + 1)% MaxM;

      rear =(rear + 1)% MaxM;b[rear] = a[Fpage_p];m1[Fpage_p] = b[0];m2[Fpage_p] = b[1];m3[Fpage_p] = b[2];count++;} else continue;} } /*最近最久未使用算法輔助數(shù)組調(diào)整函數(shù)*/ private void LUR_I(int[] a,int e){ int temp;temp = a[e];a[e] = 1;for(int i = 0;i < MaxM;i++){ if(a[i] < temp && i!=e)a[i]++;} } /*最佳置換算法輔助數(shù)組調(diào)整函數(shù)*/ private void OPT_F(int[] a, int e){ if(e!=-1){ a[e] = 0;for(int i = 0;i < MaxM;i++){ if(i!= e)a[i]++;} } else for(int i = 0;i < MaxM;i++){ a[i]++;} } /*最近最久未使用算法*/ private void LRU(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s){

      int[] L_Q = new int[MaxM]{3,3,3};int sa;for(int i = 0;i < MaxM && page_p < MaxN;i++){ b[i] = a[page_p];//調(diào)入內(nèi)存 count++;m1[page_p] = b[0];//保存內(nèi)存狀態(tài) m2[page_p] = b[1];m3[page_p] = b[2];LUR_I(L_Q, i);page_p++;for(int j = 0;j <= i && page_p < MaxN;j++){ if(b[j] == a[page_p]){ s[page_p] = 'F';m1[page_p] = b[0];m2[page_p] = b[1];m3[page_p] = b[2];LUR_I(L_Q, j);page_p++;j =-1;} } } for(;page_p < MaxN;page_p++){ sa = 0;for(int i = 0;i < MaxM;i++)//用的頁(yè)面。{ if(b[i] == a[page_p]){ m1[page_p] = b[0];m2[page_p] = b[1];m3[page_p] = b[2];s[page_p] = 'F';LUR_I(L_Q, i);sa = 1;break;} } if(sa == 0){

      檢查內(nèi)存中是否已有要調(diào)40 for(int i = 0;i < MaxM;i++){ if(L_Q[i] == 3){ b[i] = a[page_p];m1[page_p] = b[0];m2[page_p] = b[1];m3[page_p] = b[2];LUR_I(L_Q, i);break;} } count++;} else continue;} } /*最佳置換算法*/ private void OPT(int[] a, int[] b, int[] m1, int[] m2, int[] m3, char[] s){ int sa;int O_p;int Ocount;int[] OPT_I=new int [MaxM ]{-1 ,-1 ,-1 };int[] OPT_J=new int [MaxM]{MaxN ,MaxN ,MaxN };for(;page_p < MaxN;page_p++){ for(int i = 0;i < MaxM;i++){ OPT_I[i] =-1;//刷新?tīng)顟B(tài)數(shù)組 OPT_J[i] = MaxN;} sa = 0;for(int i = 0;i < MaxM;i++)//檢查內(nèi)存中是否已有要調(diào)用的頁(yè)面。

      {

      if(b[i] == a[page_p]){ m1[page_p] = b[0];m2[page_p] = b[1];m3[page_p] = b[2];OPT_F(O_Q,-1);

      s[page_p] = 'F';sa = 1;break;} } if(sa == 0)//缺頁(yè) { Ocount = 0;for(int i = 0;i < MaxM;i++){ O_p = page_p + 1;for(;O_p < MaxN;O_p++){ if(b[i] == a[O_p]){ Ocount++;OPT_I[i] = 1;OPT_J[i] = O_p;break;} } } switch(Ocount){ case 0://全部頁(yè)面以后都不會(huì)再度調(diào)用 int temp = 0;for(int i = 0;i < MaxM;i++){ if(O_Q[i] > O_Q[temp])temp = i;} b[temp] = a[page_p];m1[page_p] = b[0];m2[page_p] = b[1];m3[page_p] = b[2];OPT_F(O_Q ,temp);count++;break;case 1://有一個(gè)頁(yè)面將在以后調(diào)用 temp = 0;for(int i = 0;i < MaxM;i++){ if(OPT_I[i]!= 1 && O_Q[i] > O_Q[temp])temp = i;

      } b[temp] = a[page_p];m1[page_p] = b[0];m2[page_p] = b[1];m3[page_p] = b[2];OPT_F(O_Q ,temp);count++;break;case 2: for(int i = 0;i < MaxM;i++){ if(OPT_I[i] ==-1){ b[i] = a[page_p];m1[page_p] = b[0];m2[page_p] = b[1];m3[page_p] = b[2];OPT_F(O_Q, i);count++;} } break;case 3: int p = 0;for(int i = 0;i < MaxM;i++){ if(OPT_J[i] >OPT_J[p])p = i;} b[p] = a[page_p];m1[page_p] = b[0];m2[page_p] = b[1];m3[page_p] = b[2];OPT_F(O_Q, p);count++;break;} } } } /*重置函數(shù)*/ private void btncz_Click(object sender, EventArgs e){ comboBox1.SelectedIndex = 0;

      txtAdd.Text = ”“;page_p = 0;i_add = 0;count = 0;//txtShow.Text = ”";for(int i = 0;i < MaxM;i++)Memery[i] =-1;for(int i = 0;i < MaxN;i++)s[i] = 'T';} } }

      第四篇:操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      操 作 系 統(tǒng)

      設(shè)

      計(jì)

      實(shí)

      驗(yàn)

      報(bào)

      學(xué)院:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院

      班級(jí):計(jì)112

      學(xué)號(hào):1113022032

      姓名:

      一、實(shí)驗(yàn)名稱(chēng):

      用C++實(shí)現(xiàn)驅(qū)動(dòng)調(diào)度算法、頁(yè)面替換算法、銀行家算法、處理器調(diào)度算法

      二、實(shí)驗(yàn)要求:

      書(shū)寫(xiě)實(shí)驗(yàn)報(bào)告,包括的內(nèi)容有:

      (1)實(shí)驗(yàn)題目

      (2)程序中使用的數(shù)據(jù)結(jié)構(gòu)及主要文字說(shuō)明

      (3)帶有注釋的源程序

      (4)執(zhí)行程序說(shuō)明,表明各進(jìn)程控制快的初始狀態(tài),以及各算法的運(yùn)行狀態(tài)

      (5)通過(guò)實(shí)驗(yàn)后的收獲與體會(huì)及對(duì)實(shí)驗(yàn)的改進(jìn)意見(jiàn)和見(jiàn)解

      二、實(shí)驗(yàn)?zāi)康模?/p>

      通過(guò)自己編程來(lái)實(shí)現(xiàn)各類(lèi)操作系統(tǒng)算法,進(jìn)一步理解操作系統(tǒng)的概念及含義,提高對(duì)操作系統(tǒng)的認(rèn)識(shí),同時(shí)提高自己的動(dòng)手實(shí)踐能力。加強(qiáng)我們對(duì)各類(lèi)算法的理解。

      三、實(shí)驗(yàn)內(nèi)容:

      1、實(shí)現(xiàn)頁(yè)面替換算法

      (1)FIFO 先進(jìn)先出頁(yè)面替換算法

      (2)LRU最近最少使用頁(yè)面替換算法

      (3)LFU最少使用頻率頁(yè)面替換算法

      2、銀行家算法

      3、實(shí)現(xiàn)驅(qū)動(dòng)調(diào)度算法

      (1)先來(lái)先服務(wù)算法

      (2)電梯算法

      (3)掃描算法

      4、實(shí)現(xiàn)處理器調(diào)度

      (1)先進(jìn)先出處理器調(diào)度

      (2)時(shí)間片輪轉(zhuǎn)法

      (3)優(yōu)先級(jí)調(diào)度

      四、實(shí)驗(yàn)原理:

      1、頁(yè)面替換算法

      先進(jìn)先出頁(yè)面置換算法:該算法總是淘汰最先進(jìn)入內(nèi)存的頁(yè)面,即選擇在內(nèi)存中駐留時(shí)間最久的頁(yè)面加以淘汰。將已調(diào)入內(nèi)存的頁(yè)面按先后次序鏈接成一個(gè)隊(duì)列,將最先調(diào)入的頁(yè)面與新頁(yè)面進(jìn)行置換

      最近最久未使用置換算法:該算法是利用“最近的過(guò)去”作為“最近的將來(lái)”,將最近最久未使用的頁(yè)面加以淘汰。將已調(diào)入內(nèi)存的頁(yè)面按先后順序鏈接成一個(gè)隊(duì)列,為每一個(gè)頁(yè)面增加一個(gè)訪問(wèn)字段,用來(lái)記錄一個(gè)頁(yè)面自上次被訪問(wèn)以來(lái)所經(jīng)歷的是時(shí)間t,當(dāng)需淘汰一個(gè)頁(yè)面時(shí),選擇現(xiàn)有頁(yè)面中其t值最大,即最近最久未使用的頁(yè)面加以淘汰

      2、銀行家算法

      先對(duì)用戶(hù)提出的請(qǐng)求進(jìn)行合法性檢查,即檢查請(qǐng)求的是不大于需要的,是否不大于可利用的。若請(qǐng)求合法,則進(jìn)行試分配。最后對(duì)試分配后的狀態(tài)調(diào)用安全性檢查算法進(jìn)行安全性檢查。若安全,則分配,否則,不分配,恢復(fù)原來(lái)狀態(tài),拒絕申請(qǐng)。

      3、驅(qū)動(dòng)調(diào)度算法

      先進(jìn)先出算法(FIFO):總是嚴(yán)格按時(shí)間順序?qū)Υ疟P(pán)請(qǐng)求予以處理。算法實(shí)現(xiàn)簡(jiǎn)單、易于理解并且相對(duì)公平,不會(huì)發(fā)生進(jìn)程餓死現(xiàn)象。但該算法可能會(huì)移動(dòng)的柱面數(shù)較多并且會(huì)

      經(jīng)常更換移動(dòng)方向,效率有待提高

      電梯調(diào)度算法:總是將一個(gè)方向上的請(qǐng)求全部處理完后,才改變方向繼續(xù)處理其他請(qǐng)求。

      掃描算法(scan algorithm):總是從最外向最內(nèi)(或最內(nèi)向最外)進(jìn)行掃描,然后在從最內(nèi)向最外(或最外向最內(nèi))掃描。該算法與電梯調(diào)度算法的區(qū)別是電梯調(diào)度在沒(méi)有最外或最內(nèi)的請(qǐng)求時(shí)不會(huì)移動(dòng)到最外或最內(nèi)柱面。

      4、處理器調(diào)度算法

      先進(jìn)先出處理器調(diào)度:按照作業(yè)進(jìn)入系統(tǒng)后備工作隊(duì)列的先后次序來(lái)挑選作業(yè),先進(jìn)入系統(tǒng)的作業(yè)將優(yōu)先被挑選進(jìn)入主存,創(chuàng)建用戶(hù)進(jìn)程,分配所需資源,然后移入就緒隊(duì)列。

      時(shí)間片輪轉(zhuǎn)法調(diào)度算法:調(diào)度次序每次把CPU分配給就緒隊(duì)列進(jìn)程/線程使用規(guī)

      定的時(shí)間間隔,就緒隊(duì)列中每個(gè)進(jìn)程/線程輪流的運(yùn)行一個(gè)時(shí)間片,當(dāng)時(shí)間片耗盡時(shí),就強(qiáng)迫當(dāng)前運(yùn)行進(jìn)程/線程讓出處理器,轉(zhuǎn)而排列到就緒隊(duì)列尾部,等候下一輪調(diào)度。

      優(yōu)先級(jí)調(diào)度:根據(jù)確定的優(yōu)先級(jí)來(lái)選取進(jìn)程/線程,總是選擇就緒隊(duì)列中的優(yōu)先

      級(jí)最高者投入運(yùn)行,即優(yōu)先級(jí)越高,先被調(diào)用。

      五、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

      對(duì)操作系統(tǒng)的各類(lèi)算法設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)如下:

      頁(yè)面替換算法:void FIFO();void LRU();void LFU();

      銀行家算法:void Init()初始化算法

      void Bank()銀行家算法

      bool Safe()安全性算法

      驅(qū)動(dòng)調(diào)度算法:

      struct MagneticHead//磁頭構(gòu)成{

      int site;

      int count;

      bool direct;

      };

      struct Range//磁盤(pán)磁道范圍

      {

      int mStart;

      int mEnd;

      };

      struct RequestList//請(qǐng)求序列

      {

      int site;

      bool state;

      };

      struct Data//基本數(shù)據(jù)集合{

      MagneticHead magneticHead;

      RequestList *requestList;

      int *executeList;

      Range range;

      int length;

      };

      處理器調(diào)度:

      typedef struct pcb//時(shí)間片輪轉(zhuǎn)法

      {

      char pname[N];

      int runtime;

      int arrivetime;

      char state;

      struct pcb*next;

      }PCB;

      typedef struct PCB1//先進(jìn)先出服務(wù)

      {

      char ID[3];//進(jìn)程號(hào)

      char name[10];//進(jìn)程名

      char state;//運(yùn)行狀態(tài)

      floatarrivetime;//到達(dá)時(shí)間

      floatstarttime;//進(jìn)程開(kāi)始時(shí)間

      floatfinishtime;//進(jìn)程結(jié)束時(shí)間

      floatservicetime;//服務(wù)時(shí)間

      float turnaroundtime;//周轉(zhuǎn)時(shí)間

      float weightedturnaroundtime;//帶權(quán)周轉(zhuǎn)時(shí)間

      struct PCB1 *next;//指向下個(gè)進(jìn)程

      }pcb1;

      struct pcb2 {優(yōu)先級(jí)調(diào)度

      char name[10];

      char state;

      int super;

      int ntime;

      int rtime;

      struct pcb2* link;

      }*ready=NULL,*d;

      typedef struct pcb2 PCB2;

      六、課程設(shè)計(jì)總結(jié)

      在本次課程設(shè)計(jì)中,就是講平時(shí)所做的實(shí)驗(yàn)結(jié)合起來(lái),實(shí)現(xiàn)操作系統(tǒng)的各類(lèi)算法,了解操作系統(tǒng)的運(yùn)行原理以及其基本概念,更好的將操作系統(tǒng)的原理很好的展現(xiàn)出來(lái)。同時(shí),在本次實(shí)驗(yàn)中遇到了很多問(wèn)題,需要我們仔細(xì)的檢查和修改。其次,實(shí)驗(yàn)中為了能更好的體現(xiàn)各類(lèi)算法的運(yùn)行情況,需要做一個(gè)清晰的界面,以能清楚地看出運(yùn)行結(jié)果。

      第五篇:操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      專(zhuān) 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 號(hào): 姓 名: 提交日期:

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      【設(shè)計(jì)目的】

      (1)本實(shí)驗(yàn)的目的是通過(guò)一個(gè)簡(jiǎn)單多用戶(hù)文件系統(tǒng)的設(shè)計(jì),加深理解文件系統(tǒng)的內(nèi)部功能和內(nèi)部實(shí)現(xiàn)。

      (2)結(jié)合數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計(jì)、計(jì)算機(jī)原理等課程的知識(shí),設(shè)計(jì)一個(gè)二級(jí)文件系統(tǒng),進(jìn)一步理解操作系統(tǒng)。

      (3)通過(guò)分對(duì)實(shí)際問(wèn)題的分析、設(shè)計(jì)、編程實(shí)現(xiàn),提高學(xué)生實(shí)際應(yīng)用、編程的能力 【設(shè)計(jì)內(nèi)容】

      為L(zhǎng)inux系統(tǒng)設(shè)計(jì)一個(gè)簡(jiǎn)單的二級(jí)文件系統(tǒng)。要求做到以下幾點(diǎn): 1.可以實(shí)現(xiàn)下列幾條命令:

      login 用戶(hù)登錄

      dir 列目錄

      create 創(chuàng)建文件

      delete 刪除文件

      open 打開(kāi)文件

      close 關(guān)閉文件

      read 讀文件

      write 寫(xiě)文件

      cd 進(jìn)出目錄

      2.列目錄時(shí)要列出文件名,物理地址,保護(hù)碼和文件長(zhǎng)度 3.源文件可以進(jìn)行讀寫(xiě)保護(hù) 【實(shí)驗(yàn)環(huán)境】 Windows xp/7 C++/VC++

      【相關(guān)知識(shí)綜述】

      1、文件系統(tǒng)

      文件系統(tǒng)是操作系統(tǒng)用于明確存儲(chǔ)設(shè)備(常見(jiàn)的是磁盤(pán),也有基于NAND Flash的固態(tài)硬盤(pán))或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在存儲(chǔ)設(shè)備上組織文件的方法。操作系統(tǒng)中負(fù)責(zé)管理和存儲(chǔ)文件信息的軟件機(jī)構(gòu)稱(chēng)為文件管理系統(tǒng),簡(jiǎn)稱(chēng)文件系統(tǒng)。文件系統(tǒng)由三部分組成:文件系統(tǒng)的接口,對(duì)對(duì)象操縱和管理的軟件集合,對(duì)象及屬性。從系統(tǒng)角度來(lái)看,文件系統(tǒng)是對(duì)文件存儲(chǔ)設(shè)備的空間進(jìn)行組織和分配,負(fù)責(zé)文件存儲(chǔ)并對(duì)存入的文件進(jìn)行保護(hù)和檢索的系統(tǒng)。具體地說(shuō),它負(fù)責(zé)為用戶(hù)建立文件,存入、讀出、修改、轉(zhuǎn)儲(chǔ)文件,控制文件的存取,當(dāng)用戶(hù)不再使用時(shí)撤銷(xiāo)文件等。

      2、位示圖

      位示圖是利用二進(jìn)制的一位來(lái)表示磁盤(pán)中的一個(gè)盤(pán)塊的使用情況。當(dāng)其值為“0”時(shí),表示對(duì)應(yīng)的盤(pán)塊空閑;為“1”時(shí),表示已經(jīng)分配。有的系統(tǒng)把“0”作為盤(pán)塊已分配的標(biāo)記,把“1”作為空閑標(biāo)志。(它們的本質(zhì)上是相同的,都是用一位的兩種狀態(tài)標(biāo)志空閑和已分配兩種情況。)磁盤(pán)上的所有盤(pán)塊都有一個(gè)二進(jìn)制位與之對(duì)應(yīng),這樣,由所有盤(pán)塊所對(duì)應(yīng)的位構(gòu)成一個(gè)集合,稱(chēng)為位示圖。

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      【設(shè)計(jì)思路】

      本文件系統(tǒng)采用兩級(jí)目錄,其中第一級(jí)對(duì)應(yīng)于用戶(hù)賬號(hào),第二級(jí)對(duì)應(yīng)于用戶(hù)帳號(hào)下的文件。另外,為了簡(jiǎn)便文件系統(tǒng)未考慮文件共享,文件系統(tǒng)安全以及管道文件與設(shè)備文件等特殊內(nèi)容。

      首先應(yīng)確定文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu):主目錄、子目錄及活動(dòng)文件等。主目錄和子目錄都以文件的形式存放于磁盤(pán),這樣便于查找和修改。

      用戶(hù)創(chuàng)建的文件,可以編號(hào)存儲(chǔ)于磁盤(pán)上。如:file0,file1,file2?并以編號(hào)作為物理地址,在目錄中進(jìn)行登記。

      【程序主要流程圖】

      驗(yàn)證是否成

      功?

      目錄

      右鍵進(jìn)行選擇 操作

      新建目錄新建文件打開(kāi)文件

      結(jié)束

      開(kāi)始登錄刪除屬性 2

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      【源程序清單】

      typedef struct

      //文件結(jié)構(gòu)體 /*the structure of OSFILE*/ { int fpaddr;

      /*file physical address*/

      int flength;

      /*file length*/

      int fmode;

      /*file mode:0-Read Only;1-Write Only;2-Read and Write;3-Protect;*/

      char fname[MAXNAME];

      /*file name*/ } OSFILE;

      typedef struct

      //用戶(hù)文件目錄結(jié)構(gòu)體 user file directory /*the structure of OSUFD*/ { char ufdname[MAXNAME];

      /*ufd name*/ OSFILE ufdfile[MAXCHILD];

      /*ufd own file*/ }OSUFD;

      typedef struct

      //登陸

      /*the structure of OSUFD'LOGIN*/ { char ufdname[MAXNAME];

      /*ufd name*/

      char ufdpword[8];

      /*ufd password*/ } OSUFD_LOGIN;

      typedef struct

      //文件打開(kāi)模式 /*file open mode*/ { int ifopen;

      /*ifopen:0-close,1-open*/

      int openmode;

      /*0-read only,1-write only,2-read and write,3-initial*/ }OSUFD_OPENMODE;

      void DeleteF()/*Delete File*/ { int i,j,k=0;char str[255],str1[255];char fname[MAXNAME];k=ExistD(dirname);//獲取用戶(hù)的序號(hào)

      printf(“Please input filename:”);gets(fname);//獲得需要打開(kāi)的文件名fname

      for(i=0;i

      if(strcmp(strupr(ufd[k]->ufdfile[i].fname),strupr(fname))==0)

      {

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      }

      }

      void OpenF()/*Open File*/ { int i,k=0;char fname[MAXNAME];//printf(“nnC:%s>”,strupr(dirname));k=ExistD(dirname);printf(“Please input filename:”);gets(fname);//獲得需要打開(kāi)的文件名fname

      for(i=0;i

      if(strcmp(strupr(ufd[k]->ufdfile[i].fname),strupr(fname))==0)

      {

      ifopen[k][i].ifopen=1;//打開(kāi)文件

      ifopen[k][i].openmode=ufd[k]->ufdfile[i].fmode;//將讀寫(xiě)屬性賦值

      //test// printf(“i=%d,k=%dn”,i,k);

      ///test// printf(“openmode=%dn”,ifopen[k][i].openmode);

      printf(“Open file successfully!n”);

      break;//打開(kāi)文件則跳出循環(huán) itoa(ufd[k]->ufdfile[i].fpaddr,str,10);//itoa函數(shù),把數(shù)字轉(zhuǎn)換成字符串

      strcpy(str1,“file”);strcat(str1,str);strcpy(str,“c:osfilefile”);strcat(str,str1);strcat(str,“.txt”);//str為文件的物理路徑

      if(remove(str)==0)

      //調(diào)用remove函數(shù)刪除 第k個(gè)用戶(hù)的第i個(gè)文件ufd[k]->ufdfile[i]

      {

      fpaddrno[ufd[k]->ufdfile[i].fpaddr] = 0;//位示圖置為0,表示沒(méi)被占用

      for(j = i;j<=fcount[k]-1;j++)//文件順序往前移一位

      ufd[k]->ufdfile[j] = ufd[k]->ufdfile[j+1];

      fcount[k] = fcount[k]-1;//文件數(shù)-1

      printf(“Delete file successfully!n”);

      //除了刪除原文件,還要 刪除dir中的東西

      } else

      printf(“Delete file fail!n”);break;}

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      }

      } }

      void CloseF()/*Close File*/ {

      int i,k=0;char fname[MAXNAME];

      k=ExistD(dirname);printf(“Please input filename:”);gets(fname);//獲得需要關(guān)閉的文件名fname

      for(i=0;i

      if(strcmp(strupr(ufd[k]->ufdfile[i].fname),strupr(fname))==0)

      {

      ifopen[k][i].ifopen=0;//關(guān)閉文件

      ifopen[k][i].openmode=4;//fmode改為初始值4

      printf(“Close file successfully!n”);

      break;

      }

      } }

      void WriteF()/*Write File*/ { int i,k,n=0;char fname[MAXNAME];char str[255],str1[255];int flag=1;

      if(strcmp(strupr(ltrim(rtrim(dirname))),“")==0)

      {

      printf(”nError.Please convert to ufd dir before read.n“);

      wgetchar=1;

      return;} printf(”nCaution:Open file firstn“);printf(”O(jiān)pened File(s)List:n“);k=ExistD(dirname);

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      for(i=0;i

      //文件屬性為只寫(xiě)或者是讀寫(xiě)才能write

      {

      printf(”%15s“,ufd[k]->ufdfile[i].fname);

      n++;} if((n%4==0)&&(n!=0))printf(”n“);

      } printf(”n%d files openned.n“,n);

      if(n==0)wgetchar=1;if(n!=0){ printf(”nPlease input FileName:“);gets(fname);ltrim(rtrim(fname));i=ExistF(fname);if(i>=0){

      if(ifopen[k][i].ifopen==1)

      {

      if((ifopen[k][i].openmode==1)||(ifopen[k][i].openmode==2))

      {

      itoa(ufd[k]->ufdfile[i].fpaddr,str,10);

      strcpy(str1,”file“);

      strcat(str1,str);

      strcpy(str,”c:osfilefile“);

      strcat(str,str1);

      strcat(str,”.txt“);//物理路徑

      int length=0;

      char c;

      printf(”P(pán)lease input text('#' stands for end):n“);

      fp_file=fopen(str,”ab+“);//在文件末尾加 add bit

      while((c=getchar())!='#')//以#為結(jié)尾

      {

      fputc(c,fp_file);

      if(c!='n')length++;

      }

      //fprintf(fp_file,”n“);

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      fclose(fp_file);

      ufd[k]->ufdfile[fcount[i]-1].flength += length;//原長(zhǎng)度加輸入長(zhǎng)度

      printf(”n'%s' has been written successfully!n“,fname);

      }

      else

      {

      printf(”nError.'%s' has been opened with WRITE ONLY mode.It isn't read.n“,fname);

      wgetchar=1;

      }

      }

      else

      {

      printf(”nError.'%s' is in closing status.Please open it before readn“,fname);

      wgetchar=1;

      }

      }

      else

      {

      printf(”nError.'%s' does not exist.n",fname);

      wgetchar=1;

      } } }

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      【測(cè)試結(jié)果】

      1、創(chuàng)建用戶(hù)

      2、創(chuàng)建文件,并且打開(kāi)讀取文件

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      3、寫(xiě)文件

      4、刪除文件

      操作系統(tǒng)課程設(shè)計(jì)報(bào)告

      【設(shè)計(jì)總結(jié)】

      這兩周的課程設(shè)計(jì)時(shí)間非常短,從中學(xué)到了很多知識(shí),也為我們的學(xué)習(xí)提供了良好的實(shí)踐平臺(tái)。首先,通過(guò)老師的細(xì)心指導(dǎo)和同學(xué)們的相互幫助,讓我對(duì)題目【二級(jí)文件系統(tǒng)】有了進(jìn)一步了解。接下來(lái),主要是研究老師所給的大部分代碼,參考他的基本思路,并且思考每一個(gè)結(jié)構(gòu)體在代碼中的具體作用。這期間和一些同學(xué)交流了各自的思路,在交流中,大家漸漸的明確了這個(gè)程序的思路、框架結(jié)構(gòu)等。我們所做的主要是補(bǔ)充了刪除文件,打開(kāi)文件,關(guān)閉文件,寫(xiě)文件這幾個(gè)部分。

      代碼編寫(xiě)完了之后,實(shí)現(xiàn)了題目所要求的基本功能,但是在測(cè)試的過(guò)程中,還發(fā)現(xiàn)了這個(gè)程序存在各種各樣的bug。不斷的測(cè)試修改后,得到完善。

      這次課設(shè)最大的收獲在于:學(xué)會(huì)交流以及相互幫助。在大家的交流溝通之中,我們解決了一個(gè)又一個(gè)難題。

      在這次課設(shè)中,我還意識(shí)到,要把這門(mén)課真真正正地學(xué)好,不單單只是為了能夠應(yīng)付考試,平時(shí)還要多加學(xué)習(xí),多加努力才對(duì)。

      【參考文獻(xiàn)】

      【1】C語(yǔ)言程序設(shè)計(jì)(第三版)譚浩強(qiáng)

      【2】計(jì)算機(jī)操作系統(tǒng)教程(第三版).張堯?qū)W 史美林 張高

      【3】計(jì)算機(jī)操作系統(tǒng),西安電子科技大學(xué)出版社,方敏主編,2004.8

      下載報(bào)告2 Linux操作系統(tǒng)word格式文檔
      下載報(bào)告2 Linux操作系統(tǒng).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        操作系統(tǒng)調(diào)研報(bào)告

        操作系統(tǒng)調(diào)研報(bào)告隨著日常生活的數(shù)字化發(fā)展,計(jì)算機(jī)作成為了工作、學(xué)習(xí)、娛樂(lè)所不可或缺的一部分,而操作系統(tǒng)通過(guò)組織和管理軟硬件資源,使之協(xié)調(diào)一致并高效地完成各種用戶(hù)的工作......

        嵌入式linu學(xué)習(xí)心得(5篇范例)

        嵌入式Linux學(xué)習(xí)心得1、 Linux命令 ls:查看目錄-l以列表方式查看;ls –l 與ll的功能一樣 pwd: 查看當(dāng)前的目錄 cd:改變當(dāng)前操作目錄cd /直接跳到根目錄 cd ..回到上一級(jí)目錄......

        計(jì)算機(jī)操作系統(tǒng) 課程設(shè)計(jì)報(bào)告(推薦)

        操作系統(tǒng)課程設(shè)計(jì)報(bào)告 時(shí)間:2010-12-20~2010-12-31 地點(diǎn):信息技術(shù)實(shí)驗(yàn)中心 計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè) 2008級(jí)2班15號(hào) 楊 燁2010-12-31 信息工程學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)082班 目錄 一......

        嵌入式操作系統(tǒng)課程報(bào)告

        華北水利水電大學(xué)North China University of Water Resources and Electric Power嵌入式操作系統(tǒng)課程報(bào)告題目 嵌入式系統(tǒng)課程綜和論述......

        Linux操作系統(tǒng)實(shí)習(xí)報(bào)告

        沈陽(yáng)航空航天大學(xué) Linux系統(tǒng)操作實(shí)習(xí)報(bào)告 院(系):計(jì)算機(jī)學(xué)院 專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí):84010103 學(xué)號(hào):2008040101061 姓名:李雪城 指導(dǎo)教師:王越 完成日期:2011年7月22日 7月18日......

        安全操作系統(tǒng)報(bào)告要求(范文模版)

        內(nèi)容: 有關(guān)操作系統(tǒng)安全機(jī)制、策略,開(kāi)發(fā)與實(shí)現(xiàn)、win8系統(tǒng)的安全配置與管理等方面的報(bào)告。注意事項(xiàng): 1. 請(qǐng)大家參考科技論文的書(shū)寫(xiě)格式來(lái)書(shū)寫(xiě)本次報(bào)告。 2. 不能雷同太多,需要有......

        操作系統(tǒng)實(shí)習(xí)報(bào)告樣本[五篇范文]

        1 操作系統(tǒng)實(shí)習(xí)報(bào)告內(nèi)容 基本信息:完成人姓名、學(xué)號(hào)、報(bào)告日期 實(shí)習(xí)內(nèi)容 實(shí)習(xí)目的 實(shí)習(xí)題目 設(shè)計(jì)思路和流程圖(6) 主要數(shù)據(jù)結(jié)構(gòu)及其說(shuō)明(7) 源程序并附上注釋......

        網(wǎng)絡(luò)操作系統(tǒng)實(shí)習(xí)報(bào)告

        廣西生態(tài)工程職業(yè)技術(shù)學(xué)院信息工程系 課程實(shí)習(xí)報(bào)告書(shū) 課 程: 專(zhuān) 業(yè): 年 級(jí): 班 級(jí): 學(xué) 號(hào): 姓 名: 網(wǎng)絡(luò)操作系統(tǒng) 計(jì)算機(jī)系統(tǒng)維護(hù) 2010級(jí) 系統(tǒng)101班 11410117 曾令員 信息工程系 20......