多級文件目錄的文件管理系統_第1頁
多級文件目錄的文件管理系統_第2頁
多級文件目錄的文件管理系統_第3頁
多級文件目錄的文件管理系統_第4頁
多級文件目錄的文件管理系統_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、山東理工大學計算機學院課程設計(操作系統)班 級姓名學號指導教師二O一一 年六月二十四日課程設計任務書及成績評定課題名稱基于多級文件目錄的文件管理系統設計I、題目的目的和要求:鞏固和加深對操作系統(OS)原理的理解,初步掌握操作系統組成模塊和應用接口的使的管理功能,重點放在數據結構設計、文檔規(guī)范化和程序設計風格U、設計進度及完成情況日期內容選取參考書,查閱有關文獻資料,完成課程設計說明書內容1部分。完成課程設計說明書內容2-4部分創(chuàng)建相關數據結構,錄入源程序調試程序并記錄調試中的問題,完成課程設計說明書第5部分。系統測試,演示設計成果,考核成績。整理課程設計說明書,上午 11時,由學習委員交課

2、程設計說明書(計算機科學系9#213或直接交給指導教師)1湯子贏等計算機操作系統(第二版)西安電子科技大學出版社2馮耀霖等.操作系統,西安電子科技大學出版社.19923張堯學等.計算機操作系統教程(第2版).清華大學出版社,4譚耀銘.操作系統.中國人民大學出版社劉坤起操作系統學習輔導與習題詳解M .北京:電子工業(yè)出版社,2003:58-67孫鐘秀等編著,操作系統教程M ,高等教育出版社,2003:46-78W、成績評定:設計成績: (教師填寫)指導老師: (簽字)二O一 年六月二十四日目錄第一章概述 1第二章系統分析 2第三章系統設計 3第四章程序設計流程圖或N-S圖6第五章調試過程中的問題及

3、系統測試情況7第六章結束語910附錄第一章 概述課程設計是實踐性教學中的一個重要環(huán)節(jié),它以某一課程為基礎,可以涉及和課程相關的各個方面,是一門獨立于課程之外的特殊課程。課程設計是讓同學對所學的課程更全面的學習和應用,理解和掌握課程的相關知識。計算機操作系統一門重要的專 業(yè)課,是開發(fā)操作系統和軟件系統的理論和應用基礎。本課程設計要求設計一個基于多級文件目錄的文件管理系統。通過具體的文件存儲 空間的管理、文件的物理結構、目錄結構和文件操作的實現,加深對文件系統內部功能 和實現過程的理解。第二章 系統分析1. 在內存中開辟一個虛擬磁盤空間作為文件存儲器, 在其上實現一個多級文件目錄的文件管理系統。2

4、. 文件物理結構可采用顯式鏈接或其他方法。4. 文件目錄結構采用多級目錄結構,每個目錄項包含文件名、物理地址、長度等信息,還 可以通過目錄項實現對文件的讀和寫的保護。目錄組織方式可以不使用索引結點的方 式,但使用索引結點,則難度系數為。5. 設計一個較實用的用戶界面,方便用戶使用。要求提供以下相關文件操作:第三章 系統設計1.文件的操作1)文件的創(chuàng)建:2)文件的打開:3)文件的讀: read4)文件的寫: write5)文件關閉: close2.數據結構體1).文件夾數據結構體: typedef struct MFD 戶文件數據結構體:typedef struct UFD 能實現命令數據結構體

5、:typedef struct COMM 要模塊組成1).頭文件:#include <>#include <>能模塊實現函數:void init();行后主界面顯示圖2主界面2輸入login命令 用戶登陸,當用戶賬號不存在時,即可創(chuàng)建:圖 3 創(chuàng)建用戶3. 創(chuàng)建用戶下文件功能實現:圖 4 創(chuàng)建用戶4.打開文件 open 命令功能的實現圖 5 打開文件5讀文件read命令功能實現圖 6.讀文件6. 寫文件write命令功能實現,及對內容中添加實現圖 7 寫文件8.退出文件 logout 操作圖 8 退出文件第六章結束語這次操作系統課程設計,在編寫過程中,遇到很多難題,特別

6、是在操作系統實驗中 不曾注意到的問題,也有許多新的問題,在實際反復調試運行中,不斷加深了對操作系 統的理解,也很大地程度上提高了編程的能力,由于對重要概念的把握程度還不夠深入, 在實際理解編寫時遇到很多不該發(fā)生的問題。不過,都很好的解決并牢牢地掌握住了。 通過做多級目錄文件系統,我知道了多級目錄文件系統的工作原理,在打開文件時系統 是如何進行操作的,并加深了理解。希望在以后的學習中,繼續(xù)保持這份昂揚的斗志, 繼續(xù)努力學習計算機方面的知識,永不懈怠。通過這次課程設計,不僅讓我了解了多級目錄文件系統,更重要的還讓我學會了、 或者說是驗證了“做事一定要有次序和對事物的總體把握”這句話。開始我一味的進

7、行 調試,急切的想僥幸調試出來,但由于沒有進行深入的考慮,我調試了很久都沒沒有成 功,我仔細的分析題目,分析材料,在原由的基礎上我進行了改正,我最后還是調試成 功了,雖然還是經過了一翻努力,當然汗水還是留的很值,這次操作系統實習,不僅讓 我對操作系統這門課程有了更深入的研究、對很多重要的概念有了鞏固和掌握,還給了 我今后做事的啟示。做事要塌實,不能想著一步登天,要有計劃,有目的的進行做事。 盲目真的不應該再在我們新一代的大學生身上出現了,我們應該認真找到自己的缺點并 且及時改正。在這里,我如果不說感謝的話,不知道要說些什么好;首先感謝學校和父 母,然后更重要的是感謝老師的教導?!盎畹嚼?,學到老

8、”,這也是我整個學習過程中 的一次經驗、一次總結,我相信它肯定會給我今后的學習有所啟示和指導作用附錄:源程序代碼 :#include <>#include <> sername,tempname); assword,temppass); ilename,tempfile);rotect=tempprot; ength=templength; sername,tempname)=0) break; n 登陸失敗 !");elsestrcpy(mainfdusernum.username,tempname); assword,password);usernum+;

9、strcpy(username,tempname);mesg(創(chuàng)建新用戶!n登陸成功恭喜!");init_ufd(username);sername,fp);fputs("n",fp);fputs(mainfdi.password,fp);fputs("n",fp);fclose(fp);else assword,password)!=0)elsemesg('登陸失敗!輸入密碼錯誤!");mesg(登陸成功恭喜你!");strcpy(username,tempname);init_ufd(username);void

10、 setpass()sername,username)=0)break;if(strcmp(mainfdi.password,oldpass)!=0)mesg("日密碼錯誤!");elseprintf("n 新密碼 :");strcpy(newpass,getpass();printf("n 確認密碼 :");strcpy(confirm,getpass();if(strcmp(newpass,confirm)!=0)mesg('密碼修改錯誤!確認密碼錯誤.請重新輸入");elsestrcpy(mainfdi.pas

11、sword,newpass);mesg("Password changed!");fp=fopen("","w+");for(i=0;i<usernum;i+)sername,fp);fputs("n",fp);fputs(mainfdi.password,fp);fputs("n",fp);fclose(fp);void create() mesg("File open success!");void myopen() ilename)=0)break;if(i>

12、;=savenum)mesg("File not existed!");else ilename)=0)break;if(i<opennum)pencode!=tempcode)openfdi.opencode=tempcode;mesg("File permission changed!");else if(opennum>=L) ilename,tempfile);openfdopennum.opencode=tempcode;workfile=opennum;opennum+;mesg("File open success!&

13、quot;);void myclose()ilename,tempfile)=0)break;if(i>=savenum)ilename,tempfile)=0)break;if(j>=opennum)ilename,"");openfdj.opencode=' 'opennum-;mesg(文件關閉成功!");void mydelete()ilename,tempfile)=0)break;tempsave=i;if(tempsave>=savenum) ilename,tempfile)=0)break;if(j<ope

14、nnum) ilename,"");tect=' 'userfdtempsave.length=0;savenum-;for(i=tempsave;i<=savenum;i+) ilename,userfdi+1.filename);tect=userfdi+1.protect;userfdi.length=userfdi+1.protect;fp=fopen(username,"w+");ilename,fp);mesg("File delete!");

15、fputs("n",fp);fprintf(fp,"%cn%dn",tect,userfdi.length);fclose(fp);void myread()ilename)=0)break;if(i>=savenum)mesg("文件不存在!");elsetempsave=i;for(i=0;i<opennum;i+)if(strcmp(tempfile,openfdi.filename)=0)break;if(i>=opennum)elsemesg('文件沒有打開!");i

16、f(userfdtempsave.length<1000)printf("n The file size is %d B",userfdtempsave.length);elseif(userfdtempsave.length=1000)printf("n The file size is 1000 B");elseprintf("n The file size is %d,%d KB", userfdtempsave.length/1000,userfdtempsave.length%1000);mesg(文件讀取成功!&qu

17、ot;);void mywrite() ilename)=0)break;if(i>=savenum)mesg("文件不存在!");elsetempsave=i;for(i=0;i<opennum;i+)if(strcmp(tempfile,openfdi.filename)=0)break;if(i>=opennum)mesg('文件沒有打開!");elseif(userfdtempsave.length<1000)printf("n The file size is %d KB",userfdtempsave

18、.length);elseif(userfdtempsave.length=1000)printf("n The file size is 1000KB");elseprintf("n The file size is %d,%d KB",userfdtempsave.length/1000,userfdtempsave.length%1000);mesg(文件寫成功!");void help()解說 :修改用戶密碼 .","解說:用戶退出多用戶多級目錄文件系統和刪除 .",出用戶文件 deflaut",

19、列出命令 .","解說 :創(chuàng)建新文件 .","解說:/r-只讀deflaut nt /w-讀和修改nt /d-讀、修改"解說:讀文件.","解說:修改新文件 .","解說:刪除新文件 .",解說:/u-列出用戶賬號nt /0-列出打開文件nt /f -列"解說:vcommand>-列出命令詳細格式和解說.nt deflaut"解說:退出文件系統 ","解說:復制一個文件到另一個文件"解說:修改文件名 ."int helpnum=13;int i;if(command->next=NULL)mesg(cmdhlp9);mesg(detail9);mesg('步驟1用login命令登陸");prin tf("t輸入用戶名是舊用戶就直接登陸,否則就創(chuàng)建新用戶");mesg(步驟2

溫馨提示

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

最新文檔

評論

0/150

提交評論