操作系統(tǒng)課設(shè)感想
操作系統(tǒng)課程設(shè)計想必大家都完成過這類的設(shè)計,但是感想要怎么寫可就難到很多人了,下面由學(xué)習(xí)啦小編為大家整理了操作系統(tǒng)課設(shè)感想范文,希望大家喜歡!
操作系統(tǒng)課程設(shè)計感想一
經(jīng)過近三個星期的假期,終于完成了操作系統(tǒng)課程設(shè)計。這個課程設(shè)計可以說是至今我所遇到過的最困難的一個課程設(shè)計,也是耗時最長的一個課程設(shè)計,也第一次讓我寫了一份64頁的實驗文檔共萬多字(當(dāng)然有60%是代碼)。
課程設(shè)計的工作最早開始在07年12月,當(dāng)時只是利用零散時間完成了Windows平臺的I/O設(shè)備項目。由于當(dāng)時還要完成原理課的實驗,所以沒有足夠的時間去完成和思考選題的內(nèi)容。
上學(xué)期考試前夕,聽完了尹老師的指導(dǎo)課后,喜歡嘗試新事物的我決定了以Linux作為主要的開發(fā)環(huán)境,而且選擇了文件系統(tǒng)項目。
在此需要感謝尹老師對我選題提出建議,并借給我一些參考資料。他建議我可以做兩件事情:一是修改Linux內(nèi)核,對EXT2文件系統(tǒng)的功能做刪減;二是自己動手做一個最簡單的文件系統(tǒng)。
開始我打算完成前者,并以為用假期前一個星期的時間可以完成。但最后證明這是不可行的。這一個星期只夠我與隊友討論如何細化選題,如何分工。但由于我與隊友掌握的資料不同,另外文件系統(tǒng)整體性以及假期相互通信的不便,讓我們難以分工合作完成一個文件系統(tǒng)。隊友最后轉(zhuǎn)去完成內(nèi)核定時器部分。我認為這是本次課程設(shè)計的最大缺陷。
頭一個星期,我學(xué)習(xí)了EXT2文件系統(tǒng)的總體框架,以及一些重要的內(nèi)核代碼,并動手完成文獻中的例子。雖然能成功地完成內(nèi)核編譯,但可能是因為文獻的系統(tǒng)內(nèi)核是2.4.18而我機器上的是2.6.15,實例中需要的文件和語句,在我的內(nèi)核代碼中卻找不到。比如實例中要修改include/linux/ext2_fs_sb.h,而我的內(nèi)核中沒有這個文件。更重要的是實例要在fs.h中的“struct ext2_inode_info …”后添加語句,而內(nèi)核代碼根本就沒有這段語句,無法插入。工作做了一半,只好停下來。雖然不成功,但也讓我了解了EXT2文件系統(tǒng),知道超級塊、i節(jié)點對應(yīng)原理課的哪些概念。這算是理論聯(lián)系實踐,也對后面的工作有很大的幫助。更重要的是,這讓我對Linux內(nèi)核編程產(chǎn)生了興趣,并希望能參加《典型操作系統(tǒng)設(shè)計與分析》的學(xué)習(xí)。
之后,我決定自己動手,參考教材對應(yīng)的實驗指導(dǎo),完成一個最小型的文件系統(tǒng)。這主要會遇到兩個困難:一是這樣的系統(tǒng)(所設(shè)計的系統(tǒng)一共有將近20個模塊),需要用多文件結(jié)構(gòu)進行編程,才能讓程序可讀性強、有模塊化,但我不會make和makefile的知識,這需要學(xué)習(xí)(其實我還要學(xué)習(xí)如何在“簡陋”的Linux下進行編程);二是一個文件系統(tǒng)不管有多么地小都要涉及一些基本的典型算法和典型數(shù)據(jù)結(jié)構(gòu)。本文件系統(tǒng)就涉及了二級文件目錄管理法、成組鏈接法、索引結(jié)構(gòu)、系統(tǒng)已打開文件表……
所以我邊做邊參考網(wǎng)上資料,學(xué)習(xí)Linux使用、make使用,最深印象是我在makefile中因缺輸入TAB,而make頻頻出錯說缺少分隔符;一邊看參考代碼也一邊回顧教材的論述。
經(jīng)過一個星期,我看懂了參考代碼,也完成了設(shè)計工作,開始調(diào)試。調(diào)試是一項困難的工作,特別是在Linux這個“簡陋”環(huán)境,因為沒有VC的Debug 。我是靠gdb和打印一些重要信息來“過日子”的。調(diào)試的這段時間也是最快樂的,雖然曾為一個錯誤調(diào)試了將近2天。一個表現(xiàn)出來的錯誤往往是由于多個錯誤引起的,發(fā)現(xiàn)一個問題,解決一個,又發(fā)現(xiàn)再解決……這有一種“環(huán)環(huán)相扣”、“越陷越深”的快感。我覺得調(diào)試是一種很有趣的工作,像福爾摩斯破案一樣,一步步縮小檢查的范圍,直至解決問題,有時還要回到文檔檢查整個系統(tǒng)的總體設(shè)計。
當(dāng)然我的作品還有一些問題,這些問題現(xiàn)在還在修正。如文件系統(tǒng)的SHELL方式中,鍵入read filename時會產(chǎn)生指針向空位置的錯誤(“段錯誤”),由于自身的技術(shù)問題與時間的原因,該錯誤至今尚未解決?,F(xiàn)在估計在調(diào)用read函數(shù)前某些參數(shù)改變了,比如操作標志f_flag。另外在整個完成過程中時間也是控制不當(dāng),造成“前松后緊”的局面,在工作前期沒有抓緊時間,但完成期限迫在眉睫時,才抓緊時間。不過似乎感到在這段時間工作效率特別高,可能人有時候要逼出來吧。
通過這次課程設(shè)計,我對進一步學(xué)習(xí)產(chǎn)生興趣。我認為這才是最大的收獲!
操作系統(tǒng)課程設(shè)計感想二
我們這次課程設(shè)計的課題是讀者寫著問題,經(jīng)過上學(xué)期期末的課程設(shè)計,我們都有了一定的經(jīng)驗,效率也提高了很多。當(dāng)我們組拿到題目的時候我們先對題目進行分析,開始我們做了很多工作,比如,到圖書館借相關(guān)的資料,到網(wǎng)上搜索等等,最終經(jīng)過我們組的努力以及老師和同學(xué)的幫助下順利的實現(xiàn)了讀者寫著功能。
這次課程設(shè)計我的主要任務(wù)讀者和寫著的創(chuàng)建,開始的接到實現(xiàn)這兩個函數(shù)功能的時候腦子是一片空白,感覺什么都不會,但是回想一下我們曾經(jīng)做過與讀者和寫著創(chuàng)建的有關(guān)的實驗,經(jīng)過查閱資料,到圖書館看書以及同學(xué)的幫助最終實現(xiàn)了這個功能。創(chuàng)建讀者寫著的函數(shù)是void CreatePersonList(int *pPersonLists)。
我認為,在這次課程設(shè)計中,不僅培養(yǎng)了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學(xué)會了很多學(xué)習(xí)的方法。而這是以后最實用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學(xué)習(xí)、實踐,再學(xué)習(xí)、再實踐。這對于我們的將來也有很大的幫助?;仡櫰鸫苏n程設(shè)計,至今我仍感慨頗多,從理論到實踐,在這段日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,但可喜的是最終都得到了解決。
此次設(shè)計也讓我明白了思路即出路,有什么不懂不明白的地方要及時請教或上網(wǎng)查詢,只要認真鉆研,動腦思考,動手實踐,就沒有弄不懂的知識,收獲頗豐。
操作系統(tǒng)課設(shè)感想
上一篇:操作系統(tǒng)考研大綱
下一篇:操作系統(tǒng)類型