操作系統(tǒng)課程設(shè)計(jì)簡(jiǎn)單的二級(jí)文件系統(tǒng)_第1頁(yè)
操作系統(tǒng)課程設(shè)計(jì)簡(jiǎn)單的二級(jí)文件系統(tǒng)_第2頁(yè)
操作系統(tǒng)課程設(shè)計(jì)簡(jiǎn)單的二級(jí)文件系統(tǒng)_第3頁(yè)
操作系統(tǒng)課程設(shè)計(jì)簡(jiǎn)單的二級(jí)文件系統(tǒng)_第4頁(yè)
操作系統(tǒng)課程設(shè)計(jì)簡(jiǎn)單的二級(jí)文件系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持操作系統(tǒng)課程設(shè)計(jì)題目設(shè)計(jì)一個(gè)簡(jiǎn)單二級(jí)文件系統(tǒng)專(zhuān)業(yè)計(jì)算機(jī)科學(xué)與技術(shù)年級(jí)文專(zhuān)計(jì)081 1姓名張慶龍學(xué)號(hào)0126指導(dǎo)教師: 翟一鳴時(shí) 間:2010年7月15日、設(shè)計(jì)內(nèi)容1、可以實(shí)現(xiàn)下列幾條命令。開(kāi)發(fā)環(huán)境Dir列文件目錄Create創(chuàng)建文件Delete刪除文件Deldir刪除目錄Ope n打開(kāi)文件Close關(guān)閉文件Search查詢(xún)文件Copy拷貝文件Cut剪切文件Format格式化Win dows操作系統(tǒng)Microsoft Visual C+三、分析設(shè)計(jì)(一)實(shí)驗(yàn)原理通過(guò)程序模擬Linux文件系統(tǒng),用一個(gè)二進(jìn)制文件(FileSystem.di

2、sk)來(lái)模擬磁盤(pán).設(shè)計(jì)一個(gè)多用戶(hù)的二級(jí)文件系經(jīng)統(tǒng)、實(shí)現(xiàn)一般的創(chuàng)建文件、目錄,刪除文件、目錄,切換 目錄,打開(kāi)、關(guān)閉文件、讀寫(xiě)文件等操作。文件系統(tǒng),包含格式化,顯示文件(目錄),創(chuàng)建文件等幾個(gè)簡(jiǎn)單命令的實(shí)現(xiàn),而且能完成超級(jí)塊的讀寫(xiě),節(jié)點(diǎn)的讀寫(xiě)等過(guò)程.本文件系統(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)容。1.程序執(zhí)行流程圖:創(chuàng)建 目錄、 文件2.數(shù)據(jù)塊的分配和回收(二)程序結(jié)構(gòu)設(shè)計(jì)FileSystem 類(lèi)負(fù)責(zé)管理磁盤(pán)空間和磁盤(pán)內(nèi)存I節(jié)點(diǎn),負(fù)責(zé)對(duì)磁盤(pán)空間和磁盤(pán) 數(shù)據(jù)進(jìn)行優(yōu)化管理。并提代

3、接口言方法供用戶(hù)或程序調(diào)用。文檔來(lái)源為 :從網(wǎng)絡(luò)收集整理 .word 版本可編輯 .歡迎下載支持三) 數(shù)據(jù)結(jié)構(gòu)int physic100;/文件地址緩沖區(qū)int style=1; /文件的類(lèi)型當(dāng)前目錄char cur_dir10=root; / int search_i=0;struct command char com10;cmd20;struct blockint n; /空閑的盤(pán)快的個(gè)數(shù)int free50;/存放空閑盤(pán)快的地址int a; /模擬盤(pán)快是否被占用memory20449;struct block_superint n; /空閑的盤(pán)快的個(gè)數(shù)int free50;/存放進(jìn)入棧中

4、的空閑塊int stack50;/存放下一組空閑盤(pán)快的地址super_block;struct node/i結(jié)點(diǎn)信息文檔來(lái)源為 :從網(wǎng)絡(luò)收集整理 .word 版本可編輯 .歡迎下載支持int file_style; /i結(jié)點(diǎn) 文件類(lèi)型int file_length; /i結(jié)點(diǎn) 文件長(zhǎng)度int file_address100; /i結(jié)點(diǎn) 文件的物理地址char file_message100; i_node640;struct dir / 目錄項(xiàng)信息char file_name10; / 文件名int i_num; / 文件的結(jié)點(diǎn)號(hào)char dir_name10; / 文件所在的目錄 root6

5、40;四 . 運(yùn)行示例及結(jié)果分析菜單刪除目錄文件查詢(xún)拷貝剪切五、程序?qū)崿F(xiàn)詳細(xì)程序請(qǐng)參見(jiàn)源文件,在此只列舉3點(diǎn)1、剪切文件程序片段: void cut(char *tmp,char *newname)文檔來(lái)源為 :從網(wǎng)絡(luò)收集整理 .word 版本可編輯 .歡迎下載支持int i; /,jchar t20;_strtime(t);for(i=0;i640;i+)if(strcmp(newname,rooti.file_name)=0)break;if(i=640)printf( 目錄不存在,不能剪切! n);return;for(i=0;i640;i+)if(strcmp(tmp,rooti.fi

6、le_name)=0)strcpy(rooti.dir_name,newname);strcpy(i_noderooti.i_num.change_t,t);/ printf( 剪切成功! n);/ return;if(i=640)文檔來(lái)源為 :從網(wǎng)絡(luò)收集整理 .word 版本可編輯 .歡迎下載支持查詢(xún)文件文件名文件的類(lèi)型文件的文件所在的printf( 文件不存在,執(zhí)行失??! n);2. 無(wú)文件查詢(xún)程序片段: void search(char* filename)int sign=0;for(search_i=0;search_i640;search_i+)if(strcmp(rootsear

7、ch_i.file_name,filename)=0) / 中 所在目錄信息和當(dāng)前目錄信息相同的數(shù)據(jù)sign=1;int k=rootsearch_i.i_num;printf(%st,rootsearch_i.file_name); /printf( %dt,i_nodek.file_style); /printf( %dtt,i_nodek.file_length); / 長(zhǎng)度printf(%sn,rootsearch_i.dir_name); / 目錄if (sign=0)printf(%sn, 未找到該文件! );六、心得與體會(huì)這次設(shè)計(jì)中遇到最難的問(wèn)題就是拷貝功能的實(shí)現(xiàn),由于之前沒(méi)有接

8、觸過(guò)拷貝的原理,所以通過(guò)和同伴的討論和試驗(yàn),終于突發(fā)奇想的運(yùn)用改變文件路徑的源代碼和創(chuàng)建文件相結(jié)合, 終于實(shí)現(xiàn)了拷貝功能, 能夠?qū)⒁粋€(gè)文件從一個(gè)目錄拷貝到另一目錄(即先移動(dòng)過(guò)去然后再在原位置創(chuàng)建一個(gè)原文件),可是卻無(wú)法拷貝到root根目錄,為了解決這個(gè)問(wèn)題,又在創(chuàng)建文件的程序里添加了一個(gè)判斷是否為根目錄的語(yǔ)句,可是后來(lái)又發(fā)現(xiàn)了真?zhèn)€系統(tǒng)存在重命名的問(wèn)題。設(shè)計(jì)在逐步深入,功能在逐漸健全,可是問(wèn)題也就隨之暴露的更多,逐步的解決問(wèn)題,我想,這才是我們課程設(shè)計(jì)的意義吧。主要解決了拷貝問(wèn)題,剪切問(wèn)題和無(wú)文件查詢(xún)問(wèn)題??墒怯捎贑+編程語(yǔ)言掌握的不是很好,程序編寫(xiě)的很普通,而且很多不足,例如:查詢(xún)的編寫(xiě)過(guò)程中沒(méi)有做出模糊查詢(xún),只做 到了精確查詢(xún),而且是用了將全部磁盤(pán)塊查詢(xún)一遍的方法;拷貝中文件可以重名,無(wú)法提示用戶(hù)文件重名;剪切無(wú)法做到從一子目錄剪切到根目錄。這些問(wèn)題還有待深入學(xué)習(xí)和探討。通過(guò)幾天來(lái)的設(shè)計(jì)和學(xué)習(xí),真的學(xué)習(xí)到了很多東西。通過(guò)這次的操作系統(tǒng)的課程設(shè)計(jì),在老師的細(xì)心指導(dǎo)和同學(xué)的積極討論下,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論