資源描述:
《文件資料管理系統(tǒng)課程設計報告材料.doc》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、操作系統(tǒng)課程設計報告姓名:xxx______學號:xxxxxxxxxxxx__專業(yè)年級:軟件2班指導教師:__xx_2016年3月1日1概述目的:本實驗的目的是通過一個簡單多用戶文件系統(tǒng)的設計,加深理解文件系統(tǒng)的部功能及部實現。意義:本系統(tǒng)是基于linux平臺運行在終端上的虛擬二級文件管理系統(tǒng)。模擬真正的文件管理系統(tǒng),并采用用戶登錄機制對文件和文件夾進行創(chuàng)建,修改,刪除的操作。對于文件夾而言,可以進行創(chuàng)建刪除的操作;對于文件而言,可以創(chuàng)建,修改,刪除。刪除文件夾時,同時刪除相應文件夾下的文件。采用用戶登錄使得用戶管理文件更方便,并形成了
2、二級的文件管理模式。主要任務:為DOS系統(tǒng)設計一個簡單的二級文件系統(tǒng).要求做到以下幾點:?①可以實現下列命令:?login?用戶登錄?dir?列文件目錄?create?創(chuàng)建文件?delete?刪除文件?open?打開文件?close?關閉文件?read?讀文件?write?寫文件?②列目錄時要列出文件名、物理地址、保護碼和文件長度.?③源文件可以進行讀寫保護2系統(tǒng)設計(1)設計思路?程序中要求每個用戶在登陸后才可對其擁有的文件進行操作,用戶對于其他用戶的文件無操作權.文件操作包括瀏覽、創(chuàng)建、刪除、打開、關閉、閱讀、寫入、修改模式.其他操
3、作包括新建用戶、幫助、用戶登入、用戶登出、退出系統(tǒng).?在程序文件夾下有個名為“file”的系統(tǒng)根目錄,此目錄下包括:一個名為“mfd”的文件,記錄所有注冊過的及密碼;用戶文件,以用戶名作為文件名,容為其擁有的文件名及屬性;一個名為“keiji”的文件夾.“keiji”文件夾中包括:“file.p”指針文件,記錄所有已用的物理地址;一些以物理地址為名的文件,容為文件容.?(2)?數據結構?file結構體系統(tǒng)文件.數據結構:?fpaddrint,文件的物理地址、flengthint,文件長度、fmodeint,文件模式?0.只讀;1.可寫;
4、2.可讀寫;3.保護、?fname[]char,文件名;?filemode結構體文件狀態(tài)數據結構:?isopenint,文件當前狀態(tài),0.關閉;1.打開、modeint,文件模式?0.只讀;1.可寫;2.可讀寫。(3)初始化?user結構體用戶信息數據結構:?uname[]char,用戶名、upassword[]char,用戶密碼;?userfile結構體用戶文件數據結構:?uname[]char,用戶名、ufile[]file,用戶擁有的文件數組3系統(tǒng)實現#include???#include??
5、???#include????#include?#include?#define?MaxUser?100//定義最大mdf目錄文件#define?MaxDisk?512*1024//模擬最大磁盤空間512k#define?commandAmount?12//對文件操作指令數char?disk[MaxDisk];?//模擬512k磁盤空間typedef?struct?distTable??//磁盤塊結構體????{????int?maxlength;????????int?start;
6、????????int?useFlag;????????distTable?*next;????}diskNode;????diskNode?*diskHead;?struct?fileTable????//文件塊結構體????{????????char?fileName[10];????int?strat;??????????//文件在磁盤存儲空間的起始地址?int?length;?????????//文件容長度????????int?maxlength;??????//文件的最大長度????char?fileKind[3];???/
7、/文件的屬性——讀寫方式????????struct?tm?*timeinfo;????bool?openFlag;???????//判斷是否有進程打開了文件??????//fileTable?*next;????};//兩級目錄結構體????typedef?struct?user_file_directory??//用戶文件目錄文件UFD????{????????//char?fileName[10];????????fileTable?*file;user_file_directory?*next;????}UFD;????//UF
8、D?*headFile;????typedef?struct?master_file_directory??//主文件目錄MFD????{????????char?userName[10];????????