資源描述:
《操作系統(tǒng)的課程設(shè)計(文件資料系統(tǒng)的管理系統(tǒng)的)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實用標(biāo)準(zhǔn)文案評定等級操作系統(tǒng)課程設(shè)計文件系統(tǒng)管理學(xué)院計算機(jī)學(xué)院專業(yè)計算機(jī)科學(xué)與技術(shù)班級姓名學(xué)號2013年1月8日廣東工業(yè)大學(xué)計算機(jī)學(xué)院制精彩文檔實用標(biāo)準(zhǔn)文案文件系統(tǒng)管理一、實驗?zāi)康哪M文件系統(tǒng)的實現(xiàn)的基本功能,了解文件系統(tǒng)的基本結(jié)構(gòu)和文件系統(tǒng)的管理方法看,加深了解文件系統(tǒng)的內(nèi)部功能的實現(xiàn)。通過高級語言編寫和實現(xiàn)一個簡單的文件系統(tǒng),模擬文件管理的工作過程,從而對各種文件操作系統(tǒng)命令的實質(zhì)內(nèi)容和執(zhí)行過程有比較深入的了解。二、實驗內(nèi)容和要求編程模擬一個簡單的文件系統(tǒng),實現(xiàn)文件系統(tǒng)的管理和控制功能。在用戶程序中通過使用文件系統(tǒng)提供的create,open,read,write,close,d
2、elete等文件命令,對文件進(jìn)行操作。以下報告主要包括:1.可行性分析2.需求分析3.概要設(shè)計4.詳細(xì)設(shè)計5.測試6.總結(jié)三、可行性分析1、技術(shù)可行性對于圖形編程還不了解,但是經(jīng)過本學(xué)期的三次實驗的練習(xí),可以設(shè)計好命令操作界面。利用大二期間學(xué)習(xí)的數(shù)據(jù)結(jié)構(gòu)可以模擬出此課程設(shè)計的要求。2、經(jīng)濟(jì)可行性課程設(shè)計作為本課程的練習(xí)及進(jìn)一步加深理解。與經(jīng)濟(jì)無關(guān),可以不考慮。(零花費(fèi),零收益)3.法律可行性自己編寫的程序,僅為練習(xí),不作其他用途,與外界沒什么聯(lián)系,可行。四、需求分析編寫程序?qū)崿F(xiàn)文件系統(tǒng),主要有以下幾點(diǎn)要求:1、實現(xiàn)無窮級目錄管理及文件管理基本操作2、實現(xiàn)共享“別名”3、加快了文件檢索
3、五、概要設(shè)計為了克服單級目錄所存在的缺點(diǎn),可以為每一位用戶建立一個單獨(dú)的用戶文件目錄UFD(UserFileDirectory)。這些文件目錄可以具有相似的結(jié)構(gòu),它由用戶所有文件的文件控制塊組成。此外,在系統(tǒng)中再建立一個主文件目錄MFD(MasterFileDirectory);在主文件目錄中,每個用戶目錄文件都占有一個目錄項,其目錄項中包括用戶名和指向該用戶目錄的指針。精彩文檔實用標(biāo)準(zhǔn)文案本設(shè)計主要實現(xiàn)下面幾個數(shù)據(jù)結(jié)構(gòu):MDF用戶名文件目錄指針用戶名文件目錄指針?UFD文件名保護(hù)碼文件長度文件名···AFD打開文件名打開保護(hù)碼讀寫指針總體的流程圖如下:六、詳細(xì)設(shè)計精彩文檔實用標(biāo)準(zhǔn)文
4、案主要數(shù)據(jù)結(jié)構(gòu):1.MFD(MasterFileDirectory),主要用以存放用戶,可以增加存放密碼的字符數(shù)組,本設(shè)計沒有保密安全方面的憂慮,為了使用時操作更簡單省去密碼。所以,MFD結(jié)構(gòu)僅包括用戶名和指向子目錄的一個指針,以及指向下一用戶的連接點(diǎn),為線性結(jié)構(gòu)。structMFD{charname[20];//用戶名UFD*bst_pointer;//文件目錄指針MFD*link;};2.UFD(UserFileDirectory),用于存放文件的數(shù)據(jù)結(jié)構(gòu)。由于本設(shè)計為了加快檢索速度,使用了二叉排序樹的結(jié)構(gòu),所以UFD結(jié)構(gòu)中相應(yīng)加入了用于樹結(jié)構(gòu)的parent,leftchild,
5、和rightchild記錄鏈接情況。當(dāng)本文件為普通文件時,為下級記錄申請AFD(file),folder為空。同樣,當(dāng)本文件為文件夾時,為它申請相應(yīng)的空間,AFD為空。以此來達(dá)到無窮級別目錄的存儲。structUFD{UFD*parent;UFD*leftchild;UFD*rightchild;UFD*folder;//作為文件夾時指向下一層,文件時為空UFD*pre_folder;//指向上一層目錄(文件夾時用到)AFD*file;//作文文件時文件的具體內(nèi)容charname[30];//文件(夾)名字intlength;//作為文件時文件的長度,默認(rèn)為0charrw;//讀寫標(biāo)
6、志rorwcharshare;//共享標(biāo)志yorncharfile_folder;//指示此文件是文件或文件夾,f為文件,o為文件夾};3.AFD,存放文件的內(nèi)容的結(jié)構(gòu),比較簡單,文件內(nèi)容用一個字符數(shù)組存儲,為順序結(jié)構(gòu),最多可存放99個字符structAFD{charafd_file[100];intread;//讀指針intwrite;//寫指針};4.RECstructREC//UFD的線性鏈,用于記錄共享文件和已打開文件{UFD*file;REC*link;};精彩文檔實用標(biāo)準(zhǔn)文案關(guān)鍵函數(shù)說明:voidLog_in();//登陸voidInit_user();//創(chuàng)建用戶voi
7、dCheck_user();//查看用戶以上三個函數(shù)為開始時管理用戶創(chuàng)建和登陸的函數(shù)。開始時沒有用戶,需要創(chuàng)建后才可登陸。創(chuàng)建用戶即自動分配一個存放用戶文件的UFD,此時的UFD為空,需要后續(xù)的創(chuàng)建文件以及文件夾的分配。UFD*operations(UFD*fileBST);//文件夾的操作調(diào)用用戶登陸后即開始對該用戶文件UFD的操作,同時,若在文件夾中創(chuàng)建一個文件夾,它同樣可以分配得到一個UFD,對用戶文件的操作可以重復(fù)調(diào)用,以此來達(dá)到無窮級目錄的操作。