版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng)課程設(shè)計(jì)題目: 設(shè)計(jì)一個(gè)簡(jiǎn)單二級(jí)文件系統(tǒng) 專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 年級(jí): 文專計(jì)0811 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 時(shí)間: 2010.7.12-2010.7.16 2010年 7 月15日一、設(shè)計(jì)內(nèi)容1、可以實(shí)現(xiàn)下列幾條命令。format 格式化dir 列文件目錄create 創(chuàng)建文件delete 刪除文件deldir 刪除目錄open 打開文件close 關(guān)閉文件search 查詢文件copy 拷貝文件cut 剪切文件二、開發(fā)環(huán)境windows操作系統(tǒng) microsoft visualc+三、分析設(shè)計(jì)(一)實(shí)驗(yàn)原理通過程序模擬linux文件系統(tǒng),用一個(gè)二進(jìn)制文件(filesy
2、stem.disk)來模擬磁盤.設(shè)計(jì)一個(gè)多用戶的二級(jí)文件系經(jīng)統(tǒng)、實(shí)現(xiàn)一般的創(chuàng)建文件、目錄,刪除文件、目錄,切換目錄,打開、關(guān)閉文件、讀寫文件等操作。文件系統(tǒng),包含格式化,顯示文件(目錄),創(chuàng)建文件等幾個(gè)簡(jiǎn)單命令的實(shí)現(xiàn),而且能完成超級(jí)塊的讀寫,節(jié)點(diǎn)的讀寫等過程. 本文件系統(tǒng)采用兩級(jí)目錄,其中第一級(jí)對(duì)應(yīng)于用戶賬號(hào),第二級(jí)對(duì)應(yīng)于用戶賬號(hào)下的文件。另外,為了簡(jiǎn)單本文件系統(tǒng)未考慮文件共享、文件系統(tǒng)安全以及管道文件與設(shè)備文件等特殊內(nèi)容。1.程序執(zhí)行流程圖: 開始 初始化 選擇程序刪除目錄、文件查看目錄、文件進(jìn)入指定目錄返回上一目錄級(jí)查詢創(chuàng)建目錄、文件 格式化 結(jié)束2.數(shù)據(jù)塊的分配和回收開始系統(tǒng)是否有空塊?
3、返回當(dāng)前空閑塊地址;超級(jí)塊空閑指針加1開啟新的塊組,將其地址信息讀入超級(jí)塊;返回該塊組首地址結(jié)束超級(jí)塊中是否有空塊?(二)程序結(jié)構(gòu)設(shè)計(jì)filesystem類負(fù)責(zé)管理磁盤空間和磁盤內(nèi)存節(jié)點(diǎn),負(fù)責(zé)對(duì)磁盤空間和磁盤數(shù)據(jù)進(jìn)行優(yōu)化管理。并提代接口言方法供用戶或程序調(diào)用。內(nèi)存system用戶1磁盤用戶2用戶3用戶n(3) 數(shù)據(jù)結(jié)構(gòu)int physic100; /文件地址緩沖區(qū)int style=1; /文件的類型char cur_dir10=root; /當(dāng)前目錄 int search_i=0;struct command char com10;cmd20;struct block int n; /空閑的
4、盤快的個(gè)數(shù) int free50; /存放空閑盤快的地址 int a; /模擬盤快是否被占用memory20449;struct block_super int n; /空閑的盤快的個(gè)數(shù) int free50; /存放進(jìn)入棧中的空閑塊 int stack50; /存放下一組空閑盤快的地址super_block;struct node /i結(jié)點(diǎn)信息 int file_style; /i結(jié)點(diǎn) 文件類型 int file_length; /i結(jié)點(diǎn) 文件長(zhǎng)度 int file_address100; /i結(jié)點(diǎn) 文件的物理地址 char file_message100; i_node640;struct
5、 dir /目錄項(xiàng)信息 char file_name10; /文件名 int i_num; /文件的結(jié)點(diǎn)號(hào) char dir_name10; /文件所在的目錄 root640;4. 運(yùn)行示例及結(jié)果分析菜單刪除目錄文件查詢拷貝剪切五、程序?qū)崿F(xiàn)詳細(xì)程序請(qǐng)參見源文件, 在此只列舉點(diǎn)1、剪切文件程序片段:void cut(char *tmp,char *newname) int i; /,j char t20; _strtime(t); for(i=0;i640;i+) if(strcmp(newname,rooti.file_name)=0) break; if(i=640) printf(目錄不存
6、在,不能剪切!n); return; for(i=0;i640;i+) if(strcmp(tmp,rooti.file_name)=0) strcpy(rooti.dir_name,newname); strcpy(i_noderooti.i_num.change_t,t);/ printf(剪切成功!n);/ return; if(i=640) printf(文件不存在,執(zhí)行失??!n);2.無文件查詢程序片段:void search(char* filename)int sign=0; for(search_i=0;search_i640;search_i+) if(strcmp(root
7、search_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ì)
8、這次設(shè)計(jì)中遇到最難的問題就是拷貝功能的實(shí)現(xiàn),由于之前沒有接觸過拷貝的原理,所以通過和同伴的討論和試驗(yàn),終于突發(fā)奇想的運(yùn)用改變文件路徑的源代碼和創(chuàng)建文件相結(jié)合,終于實(shí)現(xiàn)了拷貝功能,能夠?qū)⒁粋€(gè)文件從一個(gè)目錄拷貝到另一目錄(即先移動(dòng)過去然后再在原位置創(chuàng)建一個(gè)原文件),可是卻無法拷貝到root根目錄,為了解決這個(gè)問題,又在創(chuàng)建文件的程序里添加了一個(gè)判斷是否為根目錄的語句,可是后來又發(fā)現(xiàn)了真?zhèn)€系統(tǒng)存在重命名的問題。設(shè)計(jì)在逐步深入,功能在逐漸健全,可是問題也就隨之暴露的更多,逐步的解決問題,我想,這才是我們課程設(shè)計(jì)的意義吧。 主要解決了拷貝問題,剪切問題和無文件查詢問題。可是由于c+編程語言掌握的不是很好,程序編寫的很普通,而且很多不足,例如:查詢的編寫過程中沒有做出模糊查詢,只做到了精確查詢,而且是用了將全部磁盤塊查詢一遍的方法;拷貝中文件可以重名,無法提示用戶文件重名;剪切無法做到從一子目錄剪切到根目錄。這些問題還有待深入學(xué)習(xí)和探討。 通過幾天來的設(shè)計(jì)和學(xué)習(xí),真的學(xué)習(xí)到了很多東西。通過這次的操作系統(tǒng)的課程設(shè)計(jì),在老師的細(xì)心指導(dǎo)和同學(xué)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- xx縣省級(jí)產(chǎn)業(yè)園區(qū)基礎(chǔ)設(shè)施項(xiàng)目可行性研究報(bào)告
- 寧夏xx城鎮(zhèn)老舊小區(qū)改造項(xiàng)目可行性研究報(bào)告
- 2024年綠色環(huán)保項(xiàng)目捐贈(zèng)協(xié)議3篇
- 城市更新財(cái)務(wù)可行性分析
- 2024年文化創(chuàng)意園區(qū)土地租賃續(xù)約范本3篇
- 2024年度單位二手房買賣資金監(jiān)管服務(wù)協(xié)議3篇
- 2024年綠色能源項(xiàng)目投資與建設(shè)合同
- 葉輪液體泵課程設(shè)計(jì)
- 粘性土擋土墻課程設(shè)計(jì)
- 幼兒園文化廣場(chǎng)課程設(shè)計(jì)
- 關(guān)于培訓(xùn)的課件
- 2024上海市房屋租賃合同范本下載
- 江蘇省揚(yáng)州市2023-2024學(xué)年高一上學(xué)期期末考試物理試題(含答案)
- 2024年時(shí)事政治題庫(kù)附參考答案(綜合題)
- 數(shù)字化年終述職報(bào)告
- 消防車換季保養(yǎng)計(jì)劃
- 股東會(huì)表決票-文書模板
- 肉牛育肥基地建設(shè)項(xiàng)目可行性研究報(bào)告書
- 電力土建安全質(zhì)量培訓(xùn)
- 2024-2025學(xué)年北師大版七年級(jí)上冊(cè)數(shù)學(xué)期末專項(xiàng)復(fù)習(xí):期末壓軸題分類(原卷版)
- 2024年全國(guó)《汽車加氣站操作工》安全基礎(chǔ)知識(shí)考試題庫(kù)與答案
評(píng)論
0/150
提交評(píng)論