資源描述:
《操作系統(tǒng)課程設(shè)計-文件資料資料資料系統(tǒng)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實(shí)用標(biāo)準(zhǔn)文案模擬一個簡單二級文件管理系統(tǒng)設(shè)計目的:通過具體的文件存儲空間的管理、文件的物理結(jié)構(gòu)、目錄結(jié)構(gòu)和文件操作的實(shí)現(xiàn),加深對文件系統(tǒng)內(nèi)部功能和實(shí)現(xiàn)過程的理解。設(shè)計內(nèi)容:模擬一個簡單二級文件管理系統(tǒng)一、實(shí)驗(yàn)內(nèi)容描述1實(shí)驗(yàn)?zāi)繕?biāo)本實(shí)驗(yàn)的目的是通過一個簡單多用戶文件系統(tǒng)的設(shè)計,加深理解文件系統(tǒng)的內(nèi)部功能及內(nèi)部實(shí)現(xiàn).2實(shí)驗(yàn)要求為DOS系統(tǒng)設(shè)計一個簡單的二級文件系統(tǒng).要求做到以下幾點(diǎn):①可以實(shí)現(xiàn)下列命令:login用戶登錄dir列文件目錄create創(chuàng)建文件delete刪除文件open打開文件close關(guān)閉
2、文件read讀文件write寫文件②列目錄時要列出文件名、物理地址、保護(hù)碼和文件長度.③源文件可以進(jìn)行讀寫保護(hù).二、程序主要內(nèi)容1設(shè)計思路程序中要求每個用戶在登陸后才可對其擁有的文件進(jìn)行操作,用戶對于其他用戶的文件無操作權(quán).文件操作包括瀏覽、創(chuàng)建、刪除、打開、關(guān)閉、閱讀、寫入、修改模式.其他操作包括新建用戶、幫助、用戶登入、用戶登出、退出系統(tǒng).在程序文件夾下有個名為“file”的系統(tǒng)根目錄,此目錄下包括:一個名為“mfd”的文件,記錄所有注冊過的帳號及密碼;用戶文件,以用戶名作為文件名,內(nèi)容為其擁有
3、的文件名及屬性;一個名為“keiji”的文件夾.“keiji”文件夾中包括:“file.p”指針文件,記錄所有已用的物理地址;一些以物理地址為名的文件,內(nèi)容為文件內(nèi)容.2數(shù)據(jù)結(jié)構(gòu)file結(jié)構(gòu)體系統(tǒng)文件數(shù)據(jù)結(jié)構(gòu):fpaddrint,文件的物理地址、flengthint,文件長度、fmodeint,文件模式0.只讀;1.可寫;2.可讀寫;3.保護(hù)、fname[]char,文件名;filemode結(jié)構(gòu)體文件狀態(tài)數(shù)據(jù)結(jié)構(gòu):isopenint,文件當(dāng)前狀態(tài),0.關(guān)閉;1.打開、modeint,文件模式精彩文檔
4、實(shí)用標(biāo)準(zhǔn)文案0.只讀;1.可寫;2.可讀寫;3.初始化;user結(jié)構(gòu)體用戶信息數(shù)據(jù)結(jié)構(gòu):uname[]char,用戶名、upassword[]char,用戶密碼;userfile結(jié)構(gòu)體用戶文件數(shù)據(jù)結(jié)構(gòu):uname[]char,用戶名、ufile[]file,用戶擁有的文件數(shù)組.代碼:#include#include#include#include#include#defineMaxUser100//定義最大M
5、DF主目錄文件#defineMaxDisk512*1024//模擬最大磁盤空間#definecommandAmount12//對文件操作的指令數(shù)//存儲空間管理有關(guān)結(jié)構(gòu)體和變量chardisk[MaxDisk];//模擬512K的磁盤存儲空間typedefstructdistTable//磁盤塊結(jié)構(gòu)體{intmaxlength;intstart;intuseFlag;distTable*next;}diskNode;diskNode*diskHead;structfileTable//文件塊結(jié)構(gòu)體{
6、charfileName[10];intstrat;//文件在磁盤存儲空間的起始地址intlength;//文件內(nèi)容長度intmaxlength;//文件的最大長度charfileKind[3];//文件的屬性——讀寫方式structtm*timeinfo;boolopenFlag;//判斷是否有進(jìn)程打開了該文件//fileTable*next;};//兩級目錄結(jié)構(gòu)體typedefstructuser_file_directory//用戶文件目錄文件UFD{//charfileName[10];fi
7、leTable*file;精彩文檔實(shí)用標(biāo)準(zhǔn)文案user_file_directory*next;}UFD;//UFD*headFile;typedefstructmaster_file_directory//主文件目錄MFD{charuserName[10];charpassword[10];UFD*user;}MFD;MFDuserTable[MaxUser];intused=0;//定義MFD目錄中用已有的用戶數(shù)//文件管理voidfileCreate(charfileName[],intlen
8、gth,charfileKind[]);//創(chuàng)建文件voidfileWrite(charfileName[]);//寫文件voidfileCat(charfileName[]);//讀文件voidfileRen(charfileName[],charrename[]);//重命名文件voidfileFine(charfileName[]);//查詢文件voidfileDir(charUserName[]);//顯示某一用戶的所有文件voidfileClose(char