操作系統(tǒng)文件管理實(shí)驗(yàn)報(bào)告_第1頁(yè)
操作系統(tǒng)文件管理實(shí)驗(yàn)報(bào)告_第2頁(yè)
操作系統(tǒng)文件管理實(shí)驗(yàn)報(bào)告_第3頁(yè)
操作系統(tǒng)文件管理實(shí)驗(yàn)報(bào)告_第4頁(yè)
操作系統(tǒng)文件管理實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

..操作系統(tǒng)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:文件管理專業(yè)班級(jí):網(wǎng)絡(luò)工程1301學(xué)號(hào):XX:2015年6月16日實(shí)驗(yàn)一文件管理一、實(shí)驗(yàn)?zāi)康奈募芾硎遣僮飨到y(tǒng)的一個(gè)非常重要的組成局部。學(xué)生應(yīng)獨(dú)立用高級(jí)語(yǔ)言編寫(xiě)和調(diào)試一個(gè)簡(jiǎn)單的文件系統(tǒng),模擬文件管理的工作過(guò)程。從而對(duì)各種文件操作命令的實(shí)質(zhì)容和執(zhí)行過(guò)程有比擬深入的了解,掌握它們的實(shí)施方法,加深理解課堂上講授過(guò)的知識(shí)。二、預(yù)備知識(shí)VS2010的使用C#的學(xué)習(xí)文件主目錄與子目錄的理解三、實(shí)驗(yàn)容與步驟用高級(jí)語(yǔ)言編寫(xiě)和調(diào)試一個(gè)簡(jiǎn)單的文件系統(tǒng),模擬文件管理的工作過(guò)程。要求設(shè)計(jì)一個(gè)10個(gè)用戶的文件系統(tǒng),每次用戶可保存10個(gè)文件,一次運(yùn)行用戶可以翻開(kāi)5個(gè)文件。系統(tǒng)能夠檢查打入命令的正確性,出錯(cuò)時(shí)能顯示出錯(cuò)原因。對(duì)文件必須設(shè)置保護(hù)措施,例如只能執(zhí)行,允許讀等。在每次翻開(kāi)文件時(shí),根據(jù)本次翻開(kāi)的要求,在此設(shè)置保護(hù)級(jí)別,即有二級(jí)保護(hù)。文件的操作至少有Create、delete、open、close、read、write等命令。所編寫(xiě)的程序應(yīng)采用二級(jí)文件目錄,即設(shè)置主文件目錄和用戶文件目錄。前者應(yīng)包含文件主及它們的目錄區(qū)指針;后者應(yīng)給出每個(gè)文件占有的文件目錄,即文件名,保護(hù)碼,文件長(zhǎng)度以及它們存放的位置等。另外為翻開(kāi)文件設(shè)置運(yùn)行文件目錄〔AFD〕,在文件翻開(kāi)時(shí)應(yīng)填入翻開(kāi)文件號(hào),本次翻開(kāi)保護(hù)碼和讀寫(xiě)指針等。 程序流程圖: 邏輯設(shè)計(jì):使用線性數(shù)組表表示MFD,泛型數(shù)組表示UFD,每個(gè)元素包括用戶ID、保存的文件數(shù)、再使用線性表表示文件信息,每個(gè)元素包括文件名,文件屬性〔保護(hù)碼〕,文件的狀態(tài)等信息。 物理設(shè)計(jì)://主目錄privateFileUser[]mfd;//當(dāng)前用戶privateFileUsercurrentuser;///<summary>///文件///</summary>publicclassFileObject{publicstringfilename;publicintsize=20;publicintread=0;publicintwrite=0;publicstringauthor;}///<summary>///文件系統(tǒng)用戶///</summary>publicclassFileUser{publicstringusername;publicList<FileObject>ufd=newList<FileObject>();publicintfilecount=0;} 步驟詳述: 1、主目錄及用戶目錄機(jī)構(gòu)顯示: 2、當(dāng)前操作用戶登錄: 3、文件管理系統(tǒng)菜單: 4、create命令: 5、open命令: 6、close命令: 7、delete命令: 8、read命令 9、write命令 10、exit命令四、實(shí)驗(yàn)總結(jié)通過(guò)這次的課程設(shè)計(jì)使我認(rèn)識(shí)到要將操作系統(tǒng)這門(mén)計(jì)算機(jī)專業(yè)的課學(xué)好不僅僅是要把書(shū)上的根本知識(shí)學(xué)好而且還要不斷進(jìn)展實(shí)踐,將所學(xué)的跟實(shí)踐操作結(jié)合起來(lái)才能更好地穩(wěn)固所學(xué),才能提高自己實(shí)踐能力.通過(guò)這次的設(shè)計(jì)使我認(rèn)識(shí)到只停留在外表理解問(wèn)題是很難使問(wèn)題得到很好的解決的,實(shí)踐能力與理論知識(shí)同樣重要。可以說(shuō)此課程設(shè)計(jì)的理論難度并不大,但是假設(shè)要深入開(kāi)掘其中的東西,并且實(shí)際去編程實(shí)現(xiàn),就遇到了相當(dāng)大的難度。因?yàn)榕c之涉及的很多方面并沒(méi)有學(xué)過(guò),需要自己去自學(xué)和實(shí)踐檢驗(yàn)。五、程序清單usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespacefilemanagesystem{classProgram{staticvoidMain(string[]args){//初始化用戶自模擬文件系統(tǒng)ExplorerInUserexplorer=newExplorerInUser();}}///<summary>///文件管理系統(tǒng)for用戶自模擬///</summary>publicclassExplorerInUser{//命令列表privatestring[]mand={"create","open","close","delete","read","write","exit"};//主目錄privateFileUser[]mfd;//當(dāng)前用戶privateFileUsercurrentuser;///<summary>///構(gòu)造函數(shù)///</summary>publicExplorerInUser(){INI();}///<summary>///初始化系統(tǒng)///</summary>privatevoidINI(){if(currentuser==null){//主目錄實(shí)現(xiàn)IniUserList();}//系那是菜單InilizeMenu();boolisinput=false;//輸入正確的命令while(!isinput){stringinput=Console.ReadLine();isinput=mandGroup(input);}}#region主目錄///<summary>///獲取用戶個(gè)數(shù)///</summary>///<returns></returns>privateintGetUserCount(){stringinput=Console.ReadLine();try{intuser_size=Convert.ToInt32(input);returnuser_size;}catch(Exceptione){Console.WriteLine(e.Message);return0;}}///<summary>///生成用戶及用戶管理文件///</summary>privatevoidIniUserList(){intuser_size=GetUserCount();mfd=newFileUser[user_size];for(inti=0;i<user_size;i++){mfd[i]=newFileUser();mfd[i].username="mfd_user_"+i;mfd[i].filecount=3;Console.WriteLine("mfd:"+mfd[i].username+","+mfd[i].filecount);for(intj=0;j<3;j++){FileObjectfile=newFileObject();file.author=mfd[i].username;Console.WriteLine("--ufd:"+file.filename+","+file.size+","+file.author);file.filename="file"+j;mfd[i].ufd.Add(file);}}IniLogin();}///<summary>///用戶登錄///</summary>privatevoidIniLogin(){Console.WriteLine("請(qǐng)輸入用戶名:");boolissuccess=false;while(!issuccess){stringusername=Console.ReadLine();for(inti=0;i<mfd.Length;i++){if(mfd[i].username.Equals(username)){issuccess=true;currentuser=mfd[i];Console.WriteLine("當(dāng)前用戶:"+username);break;}}if(!issuccess){Console.WriteLine("請(qǐng)重新輸入輸入用戶名:");}}}#endregion#region菜單///<summary>///初始化菜單///</summary>privatevoidInilizeMenu(){Console.WriteLine("歡送進(jìn)入文件管理系統(tǒng)!");Console.WriteLine("------create-------");Console.WriteLine("------open---------");Console.WriteLine("------close--------");Console.WriteLine("------delete-------");Console.WriteLine("------read---------");Console.WriteLine("------write--------");Console.WriteLine("------exit---------");Console.WriteLine("請(qǐng)輸入操作命令:");}///<summary>///功能分組判斷///</summary>///<paramname="mand"></param>///<returns></returns>privateboolmandGroup(stringmand){boolisexit=true;switch(mand){case"create":create();break;case"open":open();break;case"close":close();break;case"delete":delete();break;case"read":read();break;case"write":write();break;case"exit":exit();returntrue;break;default:isexit=false;break;}if(isexit){INI();}else{Console.WriteLine("請(qǐng)重新輸入操作命令:");}returnisexit;}#endregion#region操作命令方法///<summary>///創(chuàng)立新的文件///</summary>privatevoidcreate(){Console.WriteLine("請(qǐng)輸入新件名:");stringfilename=Console.ReadLine();currentuser.filecount++;FileObjectfile=newFileObject();file.filename=filename;file.author=currentuser.username;currentuser.ufd.Add(file);Console.WriteLine("成功創(chuàng)立文件!");}///<summary>///翻開(kāi)指定的文件///</summary>privatevoidopen(){Console.WriteLine("請(qǐng)輸入文件名:");stringfilename=Console.ReadLine();for(inti=0;i<currentuser.ufd.Count;i++){if(currentuser.ufd[i].filename.Equals(filename)){Console.WriteLine("成功翻開(kāi)文件!");Console.WriteLine("ID:"+i);Console.WriteLine("FileName:"+filename);Console.WriteLine("Size:"+currentuser.ufd[i].size);Console.WriteLine("Autor:"+currentuser.ufd[i].author);return;}}Console.WriteLine("文件不存在!");}///<summary>///關(guān)閉所有翻開(kāi)的文件///</summary>privatevoidclose(){Console.WriteLine("已關(guān)閉文件");}///<summary>///刪除文件///</summary>privatevoiddelete(){Console.WriteLine("請(qǐng)輸入文件名:");stringfilename=Console.ReadLine();for(inti=0;i<currentuser.ufd.Count;i++){if(currentuser.ufd[i].filename.Equals(filename)){currentuser.ufd.RemoveAt(i);Console.WriteLine("成功刪除文件!");return;}}Console.WriteLine("文件不存在!");}///<summary>///讀取文件///</summary>privatevoidread(){Console.WriteLine("請(qǐng)輸入文件名:");stringfilename=Console.ReadLine();for(inti=0;i<currentuser.ufd.Count;i++){if(currentuser.ufd[i].filename.Equals(filename)){Console.WriteLine("已讀取文件!");return;}}Console.WriteLine("文件不存在!");}///<summary>///寫(xiě)入文件///</summary>privatevoidwrite(){Console.WriteLine("請(qǐng)輸入文件名:");s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論