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

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

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

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

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

      嵌入式操作系統(tǒng)程課程設(shè)計報告

      時間:2019-05-11 23:26:37下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《嵌入式操作系統(tǒng)程課程設(shè)計報告》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《嵌入式操作系統(tǒng)程課程設(shè)計報告》。

      第一篇:嵌入式操作系統(tǒng)程課程設(shè)計報告

      目錄

      一、實習任務(wù)和目的????????????1

      二、實習基本要求?????????????1

      三、實習題目???????????????1

      四、實習地點???????????????1

      五、實習內(nèi)容???????????????3

      六、實習總結(jié)、心得體會??????????8

      七、參考資料???????????????9

      0

      一、實習的任務(wù)和目的:

      本次實習的目的是在學生已掌握了嵌入式操作系統(tǒng)的知識、對當前嵌入式操作系統(tǒng)的主要種類和應(yīng)用領(lǐng)域有較清晰的概念的基礎(chǔ)上,以嵌入式LINUX操作系統(tǒng)教學內(nèi)容為指導(dǎo),以S3C2410經(jīng)典實驗箱為平臺,使學生掌握配置、裁剪、移植和維護嵌入式LINUX操作系統(tǒng)的技能和相關(guān)理論知識,具備一個初級嵌入式LINUX系統(tǒng)程序員的綜合技能。

      本次實習的任務(wù)是通過教師對嵌入式LINUX的配置、裁剪、移植以及文件系統(tǒng)的移植等內(nèi)容的講解,讓學生掌握如何搭建嵌入式開發(fā)環(huán)境、嵌入式LINUX系統(tǒng)移植、文件系統(tǒng)移植以及簡單的驅(qū)動程序的開發(fā)。

      二、實習基本要求:

      1、了解嵌入式操作系統(tǒng)技術(shù)前沿、應(yīng)用領(lǐng)域、發(fā)展趨勢及相關(guān)領(lǐng)域研究成果;

      2、熟悉嵌入式操作系統(tǒng)的特點、分類、基本概念;

      3、熟悉主流實時操作系統(tǒng)。深入了解嵌入式LINUX,包括系統(tǒng)配置、裁剪、移植;

      4、熟悉并掌握嵌入式文件系統(tǒng)的建立、移植;

      5、以嵌入式處理器器S3C2410為例,掌握嵌入式LINUX驅(qū)動程序開發(fā)的一般方法。

      三、實習題目:

      1、復(fù)習LINUX系統(tǒng)基本操作,常用命令;

      2、嵌入式LINU開發(fā)基礎(chǔ)知識;

      3、嵌入式LINUX開發(fā)環(huán)境的建立;

      4、Bootloader移植;

      5、LINUX內(nèi)核的配置、裁剪;

      6、LINUX內(nèi)核移植與編譯;

      7、建立根文件系統(tǒng);

      8、模塊方式驅(qū)動程序設(shè)計;

      9、中斷、LED驅(qū)動程序設(shè)計。

      四、實習地點:

      應(yīng)用技術(shù)學院五樓四機房。

      五、實習內(nèi)容:

      第一部分 嵌入式LINU開發(fā)基礎(chǔ)知識: 1.1 嵌入式LINUX簡介

      嵌入式系統(tǒng)的定義為以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟硬件可裁剪,適用于應(yīng)用系統(tǒng),對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng),它的主要特點是潛入、專用。本次實訓(xùn)的平臺是在LINUX下的ubuntu系統(tǒng)上進行的。

      1.2 嵌入式LINUX開發(fā)平臺簡介

      本次實訓(xùn)的需要一臺主機及一塊開發(fā)板,它們需要滿足一定的硬件要求,主機的硬件要求是:有一個25針的并口接口,它用來連接JTAG連線,有一個9針的串口接口,支持網(wǎng)絡(luò),至少20GB的硬盤,用到的開發(fā)板是s3c2410,它有如下的部件:64MB SDRAM,1MB NOR Flash,64MB NAND Flash,兩個網(wǎng)卡,5個串口(內(nèi)置3個,外擴2個),音頻輸入輸出。2.5寸IDE接口,標準SD/MMC卡座,GPIO按鍵,外接I2C接口的實時時鐘(RTC)芯片。1.3 嵌入式LINUX開發(fā)流程

      (1)在主機上編譯Bootloader,然后通過JTAG燒入單板,(2)在主機上編譯嵌入式LINUX內(nèi)核,通過Bootloader燒入單板或直接啟動,(3)在主機上編譯各類應(yīng)用程序,單板啟動內(nèi)核后通過NFS運行他們,經(jīng)過驗證后再燒入單板。1.4 嵌入式LINUX開發(fā)環(huán)境的建立

      開發(fā)環(huán)境的搭建:硬件開發(fā)環(huán)境的搭建很簡單,將主機與目標板通過JTAG、串口線(接單板上的串口0)、網(wǎng)線(接單板上的網(wǎng)卡0)連接起來,將各類設(shè)備連接到目標板上即可,軟件的搭建環(huán)境相對要復(fù)雜的多,時間也要得多,首先第一步需要移植U—boot,然后再來燒寫LINUX內(nèi)核,再創(chuàng)建根文件系統(tǒng),最后才可以來寫相應(yīng)的驅(qū)動程序來進行開發(fā)的!第二部分 嵌入式LINUX系統(tǒng)構(gòu)建:

      2.1 Bootloader移植

      u-boot是德國DENX小組的開發(fā)用于多種嵌入式CPU的bootloader程序, u-boot不僅僅支持嵌入式LINUX系統(tǒng)的引導(dǎo),當前,它還支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系統(tǒng)。u-boot除了支持PowerPC系列的處理器外,還能支持MIPS、x86、ARM、NIOS、XScale等諸多常用系列的處理器。移植過程:

      在主機上創(chuàng)建一個文件夾,把以下四個已下載的文件復(fù)制到里面,這四個文件分別為:

      u-boot.bin,----LINUX操作系統(tǒng)啟動的bootloader;uImage,---LINUX操作系統(tǒng)內(nèi)核;

      root.cramfs,----根文件系統(tǒng);yaffs.tar.bz2,----應(yīng)用程序壓縮包。運行sjf2410-s命令如下:sjf2410-s /f:u-boot.bin。然后按回車,等待燒寫完成后,設(shè)置開發(fā)板的地址與服務(wù)器的地址,命令如下:設(shè)置本機服務(wù)器IP地址:(根據(jù)具體主機環(huán)境更改IP)setenv serverip 192.168.1.113,設(shè)置ARM設(shè)備IP地址:(隨意設(shè)置成與上面主機同一網(wǎng)段IP即可),setenv ipaddr 192.168.1.199,保存變量設(shè)置:saveenv。

      2.2 內(nèi)核裁剪與移植

      LINUX本次實驗?zāi)夸浵麓娣胖呀?jīng)修改好的博創(chuàng)經(jīng)典2410平臺的內(nèi)核源碼包,將該源碼包拷貝到宿主機LINUX系統(tǒng)中,解壓至本次實驗?zāi)夸?配置編譯生成內(nèi)核uImage文件燒寫到ARM設(shè)備中。在內(nèi)核根目錄下,用命令make menuconfig進入配置界面,對系統(tǒng)進行裁剪,如下:

      選擇硬件系統(tǒng)

      配置LCD驅(qū)動

      網(wǎng)卡驅(qū)動

      配置NANF Flash驅(qū)動

      配置文件系統(tǒng)

      然后運行 bootm 啟動內(nèi)核即可。2.3 創(chuàng)建根文件系統(tǒng)

      解壓busybox源碼后,進入busybox源代碼目錄,打開Makefile,修改兩個地方,分別是在Makefile文件中的CROSS_COMPILE=后面添加上arm-LINUX-這一行以及ARCH ?=后面改成arm.然后在busybox根目錄下使用命令make menuconfig進入配置界面進行配置,如圖:

      Busybox截圖

      退出后,使用命令make,make install。用shell腳本創(chuàng)建根文件系統(tǒng)的目錄結(jié)構(gòu),并在想要運行根文件系統(tǒng)的地方運行腳本,需要創(chuàng)建一個文件夾rootfs,里面包括了一些LINUX下的基本的文件。還需要把busybox源碼目錄下的/etc 的內(nèi)容拷貝到此處創(chuàng)建的文件夾的etc下,修改拷貝過來的profile文件,修改初始化文件inittab和fstab,修改初始化的腳本文件,init.d/rcS,創(chuàng)建一個空的mdev.conf文件,在掛載根文件系統(tǒng)時用到,再把本機上的passwd,shadow,group文件拷貝過來,把busybox默認安裝目中的文件全部復(fù)制到這里的rootfs中,會發(fā)現(xiàn)多了LINUXrc->bin/busybox,這是掛載文件系統(tǒng)需要執(zhí)行的,這時,在rootfs目錄下,使用命令cp-rvf /rootfs/busybox-1.12.2/_install/*./,,到此,就用busybox創(chuàng)建了一個基本的文件系統(tǒng)。

      第三部分 設(shè)備驅(qū)動程序設(shè)計:

      3.1 模塊方式驅(qū)動實驗

      在這里,需要有兩個程序,一個驅(qū)動程序,一個用戶程序,驅(qū)動程序通過用戶程序來調(diào)用,完成基本的讀寫以及注冊設(shè)備號等,在本程序中,用戶程序非常簡單,驅(qū)動程序的核心部分是如下代碼所示:

      static struct file_operations demo_fops = { owner: THIS_MODULE, write:demo_write, read: demo_read, ioctl: demo_ioctl, open: demo_open, release: };demo_release, 其他的所有程序都是在這個基礎(chǔ)上延伸出來的。還有一個注冊設(shè)備號的函數(shù)如示:

      register_chrdev(0, DEVICE_NAME, &pxa270_fops);假設(shè)本驅(qū)動程序的源代碼名字是s3c2410_led.c編譯驅(qū)動程序模塊的方法是把驅(qū)動程序復(fù)制到內(nèi)核目錄下的drivers/char子目錄下,在drivers/char/Makefile中增加一行:obl-m +=s3c2410_led.o,然后在內(nèi)核根目錄下執(zhí)行make modules.就生成drivers/char/s3c2410_led.ko,再把它復(fù)制到開發(fā)板上,就可以使用insmod s3c2410_led.ko,rmmod s3c2410_led.ko了,此時,就可以執(zhí)行本用戶程序了,結(jié)果如下:

      3.2 LED驅(qū)動實驗

      本實驗的主要目的是寫一個驅(qū)動程序來點亮開發(fā)板上的一顆LED燈。主要的程序核心還是集中在怎么給led燈引腳一個電平以及用戶程序中ioctl程序的使用。程序的核心代碼如下:

      static struct file_operations s3c24xx_leds_fops = {.owner =

      THIS_MODULE,.open

      =

      s3c24xx_leds_open,.ioctl =

      s3c24xx_leds_ioctl, };static int s3c24xx_leds_ioctl(struct inode *inode,struct file *file,unsigned int cmd,unsigned long arg){

      if(arg > 4){

      return-EINVAL;

      }

      switch(cmd){

      case IOCTL_LED_ON:

      s3c2410_gpio_setpin(led_table[arg], 0);

      return 0;

      case IOCTL_LED_OFF:

      s3c2410_gpio_setpin(led_table[arg], 1);

      return 0;

      default:

      return-EINVAL;

      } } 編譯好模塊后,復(fù)制到開發(fā)板目錄下即可在開發(fā)板下執(zhí)行,點亮led燈。

      命令led_test 1 off/on,如此,就可以關(guān)閉或點亮一個led燈了!3.3 中斷按鍵控制LED實驗 核心代碼如下:

      注冊中斷:request_irq(button_irqs[i].irq, buttons_interrupt, button_irqs[i].flags,button_irqs[i].name,(void *)&press_cnt[i]);注冊備:register_chrdev(BUTTON_MAJOR, DEVICE_NAME, &s3c24xx_buttons_fops);中斷函數(shù):

      static irqreturn_t buttons_interrupt(int irq, void *dev_id){

      volatile int *press_cnt =(volatile int *)dev_id;

      *press_cnt = *press_cnt + 1;/*

      ev_press = 1;

      wake_up_interruptible(&button_waitq);

      return IRQ_RETVAL(IRQ_HANDLED);} 同理,把它的目標文件放到內(nèi)核根目錄下的drivers/char編譯后,把生成的模塊文件復(fù)制開發(fā)板下,即可完成相應(yīng)的任務(wù),通過按鍵可以來控制led燈了,同時,可以通過命令cat /proc/devices, cat /proc/interrupt來查看設(shè)備及中斷的注冊情況!

      六、實習總結(jié)、心得體會:

      通過為期將近幾周的嵌入式操作系統(tǒng)實習,我收獲頗深。這次實習雖然短,可是收獲很大,感覺平時上課學到的東西都沒有這幾天學到的多。正所謂:“實踐是檢驗真理的唯一標準”。這次實習可以形象的概括為:“山重水復(fù)疑無路,柳暗花明又一村”。只有自己經(jīng)歷過才會真正的懂,書本知識還遠遠不夠!

      此次嵌入式操作系統(tǒng)實習給我最深的體會就是:理論+細心+實踐才能在實際 生產(chǎn)中體現(xiàn)所學知識的價值。

      在嵌入式行業(yè)發(fā)展如此快速完善的今天,理論與細心與實際的完美結(jié)合才能讓自己在專業(yè)領(lǐng)域占有一席之地。在實習中,我初步了解了嵌入式處理器S3C2410的工作原理、也加深了對嵌入式處理器S3C2410的認識;也見識了關(guān)于嵌入式處理器的一些工作方式等。

      幾周的嵌入式操作系統(tǒng)實習結(jié)束了,做了好幾個小實驗,有成功也有失敗,然而終究還是學會了很多東西。在整個實習期間,我體會到了自己的進步,并且從中也體會到了它的快樂。實習也讓我明白了:第一,通過實踐真正覺得自己可以做些什么了有點存在的小成就感;第二,通過嵌入式操作系統(tǒng)實習,加強了我們的動手實踐能力和設(shè)計創(chuàng)新精神。作為信息時代的大學生基本的動手能力是一切工作和創(chuàng)造的基礎(chǔ)和必要條件。第三,在嵌入式操作系統(tǒng)實習的這些日子里,大家的團隊精神得到了很大的加強,閉門就會造車那是不可能的事情。

      在為期兩周的實習當中感觸最深的便是實踐聯(lián)系理論的重要性,當遇到實際問題時,只要認真思考,運用所學的知識,一步一步的去探索,是完全可以解決遇到的一般問題的。本次實習的目的主要是:使我們嵌入式操作系統(tǒng)及LINUX相關(guān)操作有一定的感性和理性認識,培養(yǎng)和鍛煉我們的實際動手能力。使我們的理論知識與實踐充分地結(jié)合,作到不僅具有專業(yè)知識,而且還具有較強的實踐動手能力,能分析問題和解決問題的應(yīng)用型技術(shù)人才,為以后的順利就業(yè)作好準備。此次實習學到了很多課內(nèi)學不到的東西,比如獨立思考解決問題,出現(xiàn)差錯的隨機應(yīng)變,和與人合作共同提高,都受益非淺,今后的制作應(yīng)該更輕松,自己也都能扛的起并高質(zhì)量的完成項目。在此,感謝老師及其他老師的細心指導(dǎo),也同樣謝謝其他各組同學的無私幫助!

      七、參考資料:

      1、雅默著.構(gòu)建嵌入式LINUX系統(tǒng)[M].北京:中國電力出版社.2004年

      2、孫瓊著.嵌入式LINUX應(yīng)用程序開發(fā)詳解[M].北京:人民郵電出版.2003年 3、2410經(jīng)典實驗指導(dǎo)書3.2 北京博創(chuàng)興業(yè)科技有限公司2410經(jīng)典實驗箱配套教材

      4、韋東山著.嵌入式LINUX應(yīng)用開發(fā)完全手冊

      北京:人民郵電出版

      第二篇:操作系統(tǒng)課程設(shè)計報告

      課程設(shè)計報告

      題 目: 模擬請求頁式管理

      課程名稱: 計算機操作系統(tǒng) 學 院: 信息工程學院

      專 業(yè): 計算機科學與技術(shù)

      班 級: 14計本(1)學生姓名: * * * 學 號: 201403031** 指導(dǎo)教師: * * 成 績:

      開課時間: 2016-2017 學年 一 學期

      模擬請求頁式管理

      第1章 需求分析

      1.1設(shè)計要求

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

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

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

      1.2解決方案

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

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

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

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

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

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

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

      發(fā)生缺頁中斷時若一個或幾個頁面將來將不會被調(diào)用則按先進先出原則淘汰頁面,若將來都有調(diào)用則比較調(diào)用時刻選擇最遠時刻頁面淘汰。

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

      第2章 概要設(shè)計

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

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

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

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

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

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

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

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

      3、輸出函數(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)用。

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

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

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

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

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

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

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

      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)用。

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

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

      2.3主要算法設(shè)計

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

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

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

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

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

      圖1 初始化算法流程圖

      2、先進先出頁面置換算法:

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

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

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

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

      圖2 先進先出算法流程圖

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

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

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

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

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

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

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

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

      圖3 最近最久未使用算法

      4、最佳置換算法:

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

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

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

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

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

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

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

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

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

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

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

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

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

      第六行:是否缺頁;

      最后一行顯示缺頁率;

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

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

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

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

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

      2、初始化函數(shù)

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

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

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

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

      s[page_p] = 'F';//缺頁數(shù)組對應(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)用下一頁 j =-1;//重新開始尋找 } } } }

      3、先進先出頁面置換函數(shù)

      主要功能:根據(jù)先進先出算法要求在產(chǎn)生缺頁中斷時采用先進先出方式確定淘汰頁面,并在每次頁面調(diào)用時記錄下內(nèi)存狀態(tài),缺頁次數(shù);采用循環(huá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;//定義隊列對手和對尾指針并初始化 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)用的頁面。

      { 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++)//用的頁面。{ 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ài)數(shù)組 OPT_J[i] = MaxN;} sa = 0;for(int i = 0;i < MaxM;i++)//檢查內(nèi)存中是否已有要調(diào)用的頁面。

      {

      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)//缺頁 { 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://全部頁面以后都不會再度調(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://有一個頁面將在以后調(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è)計報告

      操 作 系 統(tǒng)

      設(shè)

      學院:計算機科學與技術(shù)學院

      班級:計112

      學號:1113022032

      姓名:

      一、實驗名稱:

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

      二、實驗要求:

      書寫實驗報告,包括的內(nèi)容有:

      (1)實驗題目

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

      (3)帶有注釋的源程序

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

      (5)通過實驗后的收獲與體會及對實驗的改進意見和見解

      二、實驗?zāi)康模?/p>

      通過自己編程來實現(xiàn)各類操作系統(tǒng)算法,進一步理解操作系統(tǒng)的概念及含義,提高對操作系統(tǒng)的認識,同時提高自己的動手實踐能力。加強我們對各類算法的理解。

      三、實驗內(nèi)容:

      1、實現(xiàn)頁面替換算法

      (1)FIFO 先進先出頁面替換算法

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

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

      2、銀行家算法

      3、實現(xiàn)驅(qū)動調(diào)度算法

      (1)先來先服務(wù)算法

      (2)電梯算法

      (3)掃描算法

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

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

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

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

      四、實驗原理:

      1、頁面替換算法

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

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

      2、銀行家算法

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

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

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

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

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

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

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

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

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

      定的時間間隔,就緒隊列中每個進程/線程輪流的運行一個時間片,當時間片耗盡時,就強迫當前運行進程/線程讓出處理器,轉(zhuǎn)而排列到就緒隊列尾部,等候下一輪調(diào)度。

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

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

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

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

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

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

      void Bank()銀行家算法

      bool Safe()安全性算法

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

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

      int site;

      int count;

      bool direct;

      };

      struct Range//磁盤磁道范圍

      {

      int mStart;

      int mEnd;

      };

      struct RequestList//請求序列

      {

      int site;

      bool state;

      };

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

      MagneticHead magneticHead;

      RequestList *requestList;

      int *executeList;

      Range range;

      int length;

      };

      處理器調(diào)度:

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

      {

      char pname[N];

      int runtime;

      int arrivetime;

      char state;

      struct pcb*next;

      }PCB;

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

      {

      char ID[3];//進程號

      char name[10];//進程名

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

      floatarrivetime;//到達時間

      floatstarttime;//進程開始時間

      floatfinishtime;//進程結(jié)束時間

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

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

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

      struct PCB1 *next;//指向下個進程

      }pcb1;

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

      char name[10];

      char state;

      int super;

      int ntime;

      int rtime;

      struct pcb2* link;

      }*ready=NULL,*d;

      typedef struct pcb2 PCB2;

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

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

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

      操作系統(tǒng)課程設(shè)計報告

      專 業(yè):計算機科學與技術(shù) 學 號: 姓 名: 提交日期:

      操作系統(tǒng)課程設(shè)計報告

      【設(shè)計目的】

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

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

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

      為Linux系統(tǒng)設(shè)計一個簡單的二級文件系統(tǒng)。要求做到以下幾點: 1.可以實現(xiàn)下列幾條命令:

      login 用戶登錄

      dir 列目錄

      create 創(chuàng)建文件

      delete 刪除文件

      open 打開文件

      close 關(guān)閉文件

      read 讀文件

      write 寫文件

      cd 進出目錄

      2.列目錄時要列出文件名,物理地址,保護碼和文件長度 3.源文件可以進行讀寫保護 【實驗環(huán)境】 Windows xp/7 C++/VC++

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

      1、文件系統(tǒng)

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

      2、位示圖

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

      操作系統(tǒng)課程設(shè)計報告

      【設(shè)計思路】

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

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

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

      【程序主要流程圖】

      驗證是否成

      功?

      目錄

      右鍵進行選擇 操作

      新建目錄新建文件打開文件

      結(jié)束

      開始登錄刪除屬性 2

      操作系統(tǒng)課程設(shè)計報告

      【源程序清單】

      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

      //用戶文件目錄結(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

      //文件打開模式 /*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);//獲取用戶的序號

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

      for(i=0;i

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

      {

      操作系統(tǒng)課程設(shè)計報告

      }

      }

      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);//獲得需要打開的文件名fname

      for(i=0;i

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

      {

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

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

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

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

      printf(“Open file successfully!n”);

      break;//打開文件則跳出循環(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個用戶的第i個文件ufd[k]->ufdfile[i]

      {

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

      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è)計報告

      }

      } }

      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è)計報告

      for(i=0;i

      //文件屬性為只寫或者是讀寫才能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(”Please 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è)計報告

      fclose(fp_file);

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

      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è)計報告

      【測試結(jié)果】

      1、創(chuàng)建用戶

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

      操作系統(tǒng)課程設(shè)計報告

      3、寫文件

      4、刪除文件

      操作系統(tǒng)課程設(shè)計報告

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

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

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

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

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

      【參考文獻】

      【1】C語言程序設(shè)計(第三版)譚浩強

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

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

      第五篇:嵌入式操作系統(tǒng)課程報告

      華北水利水電大學

      North China University of Water Resources and Electric Power

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

      題目 嵌入式系統(tǒng)課程綜和論述

      學 院 物理與電子學院

      專 業(yè) 電子信息工程

      姓 名 李天澤

      學 號 201816516

      組 員

      完成時間 2020.12.22

      目 錄

      一、嵌入式系統(tǒng)的介紹

      (1)、嵌入式系統(tǒng)的概念……………………………………3

      (2)、嵌入式系統(tǒng)的特點……………………………………4

      二、嵌入式系統(tǒng)的發(fā)展和應(yīng)用……………………………5

      三、總結(jié)和心得……………………………………………7

      參考文獻……………………………………………7

      附錄…………………………………………………8

      摘要:

      如今,嵌入式系統(tǒng)經(jīng)過半個多實際的發(fā)展和革新,在各個產(chǎn)業(yè)都可以看見它的身影。在電子消費領(lǐng)域,它已經(jīng)廣泛應(yīng)用于手機、VCD、數(shù)字電視和路由器等常見家用電器和電子產(chǎn)品,或許在你的家里有著幾十甚至幾百個微型嵌入式計算機無時無刻地不在為你服務(wù)。

      在工業(yè)控制方面,一輛豪華轎車的控制系統(tǒng)就包含著至少50個嵌入式微處理器,它們分布于火花塞、傳動軸和安全氣囊等等。而一架先進的飛機,一臺人造衛(wèi)星就可能包含著幾十套嵌入式系統(tǒng)和上百臺微型嵌入式計算機,沒有這些裝載,飛機和衛(wèi)星的控制系統(tǒng)就不能有效地工作,它們的導(dǎo)航系統(tǒng)就不能滿足嚴格的要求。

      在通信領(lǐng)域也有著數(shù)不勝數(shù)的嵌入式系統(tǒng)的應(yīng)用,由于帶寬網(wǎng)絡(luò)的發(fā)展,交換機、路由器和各種傳輸設(shè)備等都逐漸需要更多的嵌入式系統(tǒng)來滿足它們互聯(lián)的需求,而這些基于32位的嵌入式系統(tǒng)品種多樣,絕大多數(shù)都價格低廉,能夠為企業(yè)和家庭的網(wǎng)絡(luò)選擇提供更加廉價而多樣的方案。

      一、嵌入式系統(tǒng)的介紹

      1、嵌入式系統(tǒng)的概念:

      上世紀的40年代人類社會誕生了當時最偉大的發(fā)明之一——計算機。1946年賓夕法尼亞大學研制出了世界上第一臺計算機“ENIAC”,吹響了人類向信息時代進發(fā)的號角。如今半個多世紀過去了,總體來看,計算機已經(jīng)經(jīng)歷了兩個大的發(fā)展階段:大型計算機階段和個人中小型計算機階段。而今后,計算機技術(shù)將邁入下一個充滿機遇和挑戰(zhàn)的新階段—— “無處不在的計算機”階段,即“后PC發(fā)展階段”。“無處不在的計算機”是指在數(shù)以千計乃至萬計的計算機之間彼此相互關(guān)聯(lián),其與使用者的比例高達100%,這些計算機中包括有傳統(tǒng)的通用式計算機和嵌入式計算機,而后者占絕大多數(shù),可以達到95%的比例。

      施樂公司研究中心的主任Mark Weiser 認為:“以長遠的發(fā)展來看,PC和計算機工作站將逐漸衰落,因為計算機將會變得無處不在,它們會在墻上,在手腕上,在口袋里等等,計算機將會像手寫紙一樣,隨用隨取,伸手可得。”

      目前全世界范圍的計算機研究者都在逐步形成一種共識,那就是在計算機將來的發(fā)展中,它必然不會成為像科幻電影中的那種會背叛人類,傷害人類的機械怪物,恰恰相反它們將變得小巧玲瓏而且無處不在。它們會出現(xiàn)在任何你能看的見、聽得到、摸得著的地方,功能強大而且隨處可用,這就是“無處不在的計算機”。

      嵌入式計算機系統(tǒng)就是所謂的“看不見的計算機”,一般情況下它只是運行平臺,并不能作為獨立的開發(fā)平臺來使用。而且它不能夠被用戶編程,對用戶的I/O接口是專用的。所以不嚴謹?shù)卣f:任意包含可編程計算機的設(shè)備而且這種設(shè)備不是作為通用計算機而設(shè)計的都可以稱作嵌入式系統(tǒng)。

      時至今日嵌入式系統(tǒng)已經(jīng)逐漸滲透到人們的日常生活中,但因為其不同的應(yīng)用形式和相異的名稱,目前對嵌入式系統(tǒng)還沒有一個統(tǒng)一的定義。但一般認為,它有以下概念:

      (1)嵌入式系統(tǒng)的中心是應(yīng)用功能,基礎(chǔ)是計算機技術(shù),其軟件和硬件可以裁剪,對應(yīng)用系統(tǒng)的功能、可靠性、成本、體積大小和功率損耗都有十分嚴格的要求和指標。

      (2)國際電氣和電子工程師協(xié)會認為嵌入式系統(tǒng)的定義是“Device used to control, monitor, or assist the operation of equipment , machinery or plants.”

      (3)嵌入式系統(tǒng)是計算機技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)等與各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,是一個技術(shù)集中、資源集中、應(yīng)用高度分散、技術(shù)不斷革新的集成系統(tǒng)。

      2、嵌入式系統(tǒng)的特點:

      1)嵌入式系統(tǒng)通常都是多樣的有特定應(yīng)用功能的軟硬件綜合體,用于特定的任務(wù),其硬件和軟件設(shè)計都是高效而簡潔的。其中嵌入式軟件的應(yīng)用程序和操作程序是一體化的,不同于傳統(tǒng)的通用計算機操作系統(tǒng)和應(yīng)用程序有著分明的界限。

      2)嵌入式系統(tǒng)能夠受到多個處理器和體系結(jié)構(gòu)的支持,不同于通用的計算機只能夠使用少數(shù)的處理器類型和體系結(jié)構(gòu)。目前已經(jīng)生產(chǎn)有上千種嵌人式微處理器和幾十種微處理器的體系結(jié)構(gòu),其中比較主流常見的有ARM,MIPS, PowerPC,X86和SuperH等。

      4)嵌入式系統(tǒng)有實時性和可靠性的特點,其主要表現(xiàn)在:目前絕大多數(shù)實時操作系統(tǒng)都是嵌人式系統(tǒng);嵌人式系統(tǒng)都有實時性的要求,其軟件通常都是固化或直接加載到內(nèi)存中運行的,啟動十分快速

      另外,嵌人式系統(tǒng)通常都有處錯能力和自動復(fù)位的功能,目前在絕大多數(shù)嵌式系統(tǒng)中都包含著用于保證系統(tǒng)運行可靠性的軟硬件處理機制,比如看門狗定時器和內(nèi)存保護重啟機制等。

      5)嵌入式系統(tǒng)通常都使用可以適應(yīng)多種類型處理器、可裁剪量輕、實時性和可靠性高以及可以固化的。同嵌入式微處理器,嵌入式的操作系統(tǒng)也是多種多樣的,不僅可以支持多種處理器,還可以進行裁剪量輕來匹配應(yīng)用的功能,而且規(guī)模較小,能夠節(jié)省資源等等。

      二、嵌入式系統(tǒng)的發(fā)展和應(yīng)用

      第一代電子計算機體積大,耗電快,而且可靠性和實時性都無法滿足嵌入式計算的要求。到了20世紀60年代,由晶體管、磁芯存儲制造的第二代計算機開始用于航海航空等領(lǐng)域,它的CPU能夠處理從電子系統(tǒng)傳來的信號,具有了數(shù)據(jù)總線的一些基本特性。而與此同時,嵌人式計算機也逐步應(yīng)用于工業(yè)和制造等方面。

      至60年代末,采用集成電路的第三代計算機問世,1965年發(fā)射Gemini3號是人們第一次使用機載數(shù)字計算機。而后的阿波羅探測飛船則使用了嵌人式計算機系統(tǒng)來提供和保障人機的交互功能來用于引導(dǎo)飛行。1963年DEC公司推廣了第一臺商用小型機,它具有嵌入式系統(tǒng)的結(jié)構(gòu),具備單總線結(jié)構(gòu)、高速寄存器和實時性、可靠性強的中斷系統(tǒng)以及交叉存取功能,標志著嵌入式系統(tǒng)的興起。

      1971 年,英特爾公司成功推出了世界上第一片微處理器Intel 4004。它的體積小、質(zhì)量輕、價格實惠、使用方便,在當時銷量很好,Intel公司將它進一步改進后推出了4位的微處理器4040和8位的8008。

      1973-1977 年短短四年之間全球許多廠家推出了各種各樣的8位微處理器,其中比較流行的有英特爾公司的8080/ 8085系列,摩托羅拉公司的6800/6802系列,齊洛格公司的Z80和羅克韋爾公司的6502等。這些微處理器的廣泛應(yīng)用為嵌入式系統(tǒng)開辟了廣闊的市場,促成了嵌入式系統(tǒng)的快速發(fā)展。計算機廠商開始以插件的形式為用戶提供所需的OEM產(chǎn)品,并構(gòu)成符合用戶要求的微型控制計算機,嵌入到系統(tǒng)設(shè)備中。

      嵌入式系統(tǒng)的大發(fā)展還要歸功于20世紀80年代軟件技術(shù)的進步。最初的嵌入式計算機的軟件都是十分專用的,其程序也只能用匯編語言來編寫,因此嵌入式系統(tǒng)的開發(fā)周期過長,效率太低,不利于廣泛地推廣和應(yīng)用。得益于微電子技術(shù)的進步,嵌入式計算機的軟件開發(fā)不再局限于匯編語言,可以使用C或PL等高級語言,是編程更加多樣和簡潔化,加快了嵌入式系統(tǒng)的開發(fā)效率。時間步入20世紀90年代,當時對分布控制、柔性制造和數(shù)字通信電等技術(shù)有著巨大需求,而這種需求也刺激著嵌人式系統(tǒng)的軟硬技術(shù)的革新和發(fā)展,促進了嵌入式系統(tǒng)的應(yīng)用擴大化。

      如今,嵌入式系統(tǒng)經(jīng)過半個多實際的發(fā)展和革新,在各個產(chǎn)業(yè)都可以看見它的身影。在電子消費領(lǐng)域,它已經(jīng)廣泛應(yīng)用于手機、VCD、數(shù)字電視和路由器等常見家用電器和電子產(chǎn)品,或許在你的家里有著幾十甚至幾百個微型嵌入式計算機無時無刻地不在為你服務(wù)。

      在工業(yè)控制方面,一輛豪華轎車的控制系統(tǒng)就包含著至少50個嵌入式微處理器,它們分布于火花塞、傳動軸和安全氣囊等等。而一架先進的飛機,一臺人造衛(wèi)星就可能包含著幾十套嵌入式系統(tǒng)和上百臺微型嵌入式計算機,沒有這些裝載,飛機和衛(wèi)星的控制系統(tǒng)就不能有效地工作,它們的導(dǎo)航系統(tǒng)就不能滿足嚴格的要求。

      在通信領(lǐng)域也有著數(shù)不勝數(shù)的嵌入式系統(tǒng)的應(yīng)用,由于帶寬網(wǎng)絡(luò)的發(fā)展,交換機、路由器和各種傳輸設(shè)備等都逐漸需要更多的嵌入式系統(tǒng)來滿足它們互聯(lián)的需求,而這些基于32位的嵌入式系統(tǒng)品種多樣,絕大多數(shù)都價格低廉,能夠為企業(yè)和家庭的網(wǎng)絡(luò)選擇提供更加廉價而多樣的方案。

      時至今日,嵌入式系統(tǒng)的應(yīng)用已經(jīng)從微至著,廣泛分布。但它還在不斷地更新發(fā)展,其構(gòu)成的計算機也會變得更小巧,更靈敏,更高效,更智能,相信在未來的某一天,會如Mark Weiser所說的那樣:“它們會在墻上,在手腕上,在口袋里,就像手寫紙一樣,隨用隨取,伸手可得?!?/p>

      三、總結(jié)和心得

      嵌入式系統(tǒng)作為一門計算機開發(fā)的學科,有著不同于傳統(tǒng)通用計算機系統(tǒng)的特點和概念,具有獨特長處。同時它的應(yīng)用遍布于電子消費、通信工程、工業(yè)控制和軍事國防等多種領(lǐng)域,其發(fā)展前景是非常廣闊的,是一門十分值得深入學習和研究的學科。

      通過一個學期的學習,我了解了許多嵌入式實時操作系統(tǒng)的應(yīng)用知識,比如“任務(wù)的管理和調(diào)度”、“同步、互斥與通信”以及“中斷和時間管理”等全新的理論知識,同時也通過多次的實驗操作理解了對嵌入式系統(tǒng)軟硬件工作方式和應(yīng)用。所謂溫故而知新,通過撰寫課程報告,我對嵌入式系統(tǒng)的各個方面有了新的了解,大大提高了對這門學科的興趣,在今后的學習中,我也會更加深入地去學習這門課程的相關(guān)內(nèi)容,豐富自己的知識領(lǐng)域,開闊眼界,掌握更多的技能,為自己將來的發(fā)展做好鋪墊。

      參考文獻:

      甄鵬------《嵌入式實時Linux的移植及應(yīng)用技術(shù)的研究》2008,(02)

      郭軍------《基于Petri網(wǎng)的嵌入式系統(tǒng)高層級設(shè)計方法與技術(shù)研究》2007,(04)

      吳敏------《基于嵌入式的家庭網(wǎng)關(guān)控制平臺的研究與設(shè)計》2007,(05)

      劉青云;焦鉻-------《嵌入式Web Service模型實現(xiàn)及應(yīng)用》2019,(01)

      田婧---------《嵌入式μCOSⅡ在DSP中的移植與應(yīng)用研究》2007,(04)

      附錄

      附查重報告:

      “"

      下載嵌入式操作系統(tǒng)程課程設(shè)計報告word格式文檔
      下載嵌入式操作系統(tǒng)程課程設(shè)計報告.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


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

      相關(guān)范文推薦

        嵌入式課程設(shè)計報告

        福建工程學院 《嵌入式系統(tǒng)》課程設(shè)計 報告書 題目:基于S3C2440設(shè)備驅(qū)動及其界面設(shè)計班級:姓名:學號:指導(dǎo)老師:陳靖,張平均,李光煬目錄 一、設(shè)計課題 ..................................

        嵌入式操作系統(tǒng)實驗報告

        實驗一 嵌入式開發(fā)環(huán)境的建立 一、實驗?zāi)康?通過此實驗系統(tǒng),讀者可以了解嵌入式實時操作系統(tǒng) uC/OS-II 的內(nèi)核機制和運行原理。本實驗系統(tǒng)展示了 uC/OS-II 各方面的管理功能,......

        操作系統(tǒng)課程設(shè)計

        操作系統(tǒng)課程設(shè)計 注意事項: 0. 請每位同學必須按時提交課程設(shè)計報告(包括電子版和紙質(zhì)版),算入期末成績 1. 在三個題目中選擇一個 2. 如果選擇題目(一)進程調(diào)度算法,要求實現(xiàn)其中2......

        操作系統(tǒng)課程設(shè)計

        湖北民族學院信息工程學院11級計算機專業(yè)操作系統(tǒng)課程設(shè)計 (操作系統(tǒng)課程設(shè)計)連續(xù)動態(tài)分區(qū)內(nèi)存 管理模擬實現(xiàn) 學生姓名: 韓 慧 學生學號: 031140312 班 級: 031140--3 0311401、......

        操作系統(tǒng)課程設(shè)計

        長春理工大學 軟件學院 0813111班 27號 姓名:丁為勝 一. 概述 1、課程設(shè)計目的及任務(wù)課程設(shè)計地點及要求 每個學生一臺微機,需要安裝windows98或windows2000操作系統(tǒng),配備VC、VB......

        操作系統(tǒng)課程設(shè)計

        1 引言 操作系統(tǒng)是計算機科學與技術(shù)專業(yè)的主要專業(yè)基礎(chǔ)課和主干課。操作系統(tǒng)對計算機系統(tǒng)資源實施管理,是所有其他軟件與計算機硬件的唯一接口,所有用戶在使用計算機時都要得......

        計算機操作系統(tǒng) 課程設(shè)計報告(推薦)

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

        重郵操作系統(tǒng)課程設(shè)計報告

        操作系統(tǒng)課程設(shè)計 班級: 姓名:學號: 時間: 年 月 日 指導(dǎo)教師: 實驗題目: 操作系統(tǒng)課程設(shè)計 實驗?zāi)康模?1、 掌握Linux操作系統(tǒng)安裝的一般方法 2、 掌握Linux 內(nèi)核升級一般方法 3......