版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、操作系統(tǒng)原理課程設(shè)計報告簡單二級文件系統(tǒng)學(xué)院(系): 計算機科學(xué)與工程學(xué)院班級: 0738-3 學(xué)號:10703080326 學(xué)生姓名:王維同組設(shè)計人:周曉霞指導(dǎo)教師:楊宏雨周敏王東傅由甲時間:從 2009 年 6 月 29 日 到 2009 年 7 月 3 日目錄一、課程設(shè)計的目的. 二、課程設(shè)計的內(nèi)容及要求. 內(nèi)容 . 要求 . 三、實現(xiàn)原理. . 四、關(guān)鍵算法實現(xiàn)流程圖 . 流程圖 . 關(guān)鍵算法 . 五、軟件運行環(huán)境及限制 . 六結(jié)果輸出及分析. 七心得體會. . 八參考文獻. . 一課程設(shè)計的目的本課程設(shè)計是學(xué)習(xí)完計算機操作系統(tǒng)課程后, 進行的一次全面的綜合訓(xùn)練,通過課程設(shè)計,讓我更好
2、地掌握操作系統(tǒng)的原理及實現(xiàn)方法,加深對操作系統(tǒng)基礎(chǔ)理論和重要算法的理解,加強了我的動手能力。二課程設(shè)計的內(nèi)容及要求內(nèi)容:為 linux 設(shè)計一個簡單的二級文件系統(tǒng)。要求做到以下幾點:1、可以實現(xiàn)下列幾條命令(至少4 條) 。login 用戶登錄dir 列文件目錄create 創(chuàng)建文件delete 刪除文件open 打開文件close 關(guān)閉文件read 讀文件write 寫文件2、列目錄時要列出文件名、物理地址、保護碼和文件長度。3、源文件可以進行讀寫保護。從課程設(shè)計的目的出發(fā),通過設(shè)計工作的各個環(huán)節(jié),達到以下教學(xué)要求:1、鼓勵并優(yōu)先個人獨立選題設(shè)計,可從下面設(shè)計題目中選擇,也可以自擬相關(guān)題目;
3、如要合作,每組最多兩名同學(xué),且設(shè)計文檔不能相同;2、可以在我們實驗課最后布置的實驗設(shè)計基礎(chǔ)上進行完善和改進,但不能相同。3、題目選定后報給班長,班長要注意班級內(nèi)題目的平衡,根據(jù)所選題目進行協(xié)調(diào),不要都選一樣的題。4、設(shè)計完成后報請老師答辯,答辯時不能對自己提供的設(shè)計進行講解的同學(xué),視為抄襲;5、要求寫出一份詳細的設(shè)計報告(a4 紙) 。6、每位同學(xué)在周五將自己的設(shè)計報告和電子文檔(包括報告和源程序)交給學(xué)習(xí)委員,并由學(xué)習(xí)委員統(tǒng)一刻盤后上交。三實現(xiàn)原理首先,實現(xiàn)login 用戶登錄,(用戶名: admin 密碼: admin)必須登錄成功才能進入文件系統(tǒng)進行查看,進入后,通過樹狀展示文件目錄(默
4、認文件目錄是c:program files),右側(cè)顯示文件夾圖標(biāo)或者文件圖標(biāo),選中節(jié)點鼠標(biāo)右擊彈出菜單,有新建目錄,新建文件,刪除文件,打開文件,屬性菜單項,并分別實現(xiàn)其功能。四關(guān)鍵算法實現(xiàn)流程圖流程圖:關(guān)鍵算法:1新建目錄功能的實現(xiàn)privateclass menuaction2 implements actionlistener publicvoid actionperformed(actionevent arg0) 開始登錄驗證是否成功?新建目錄刪除目錄右鍵進行選擇操作屬性打開文件結(jié)束是否新建文件try string name=joptionpane.showinputdialog( 創(chuàng)
5、建目錄名稱: ); if (!name.equals( ) / 得到樹狀視圖的被選擇節(jié)點路徑treepath path = tree.getselectionpath(); / 得到樹狀視圖的被選擇節(jié)點mutabletreenode node = (mutabletreenode) path .getlastpathcomponent(); / 得到樹狀視圖的模型類變量defaulttreemodel model = (defaulttreemodel) tree.getmodel(); / 新建子節(jié)點,標(biāo)題為新目錄名稱mutabletreenode newnode = newdefaultm
6、utabletreenode(name); / 先展開樹狀視圖,觸發(fā)展開樹狀視圖事件,給當(dāng)前節(jié)點追加下級節(jié)點tree.firetreeexpanded(path); / 如果當(dāng)前節(jié)點允許存在下級節(jié)點,則在樹狀視圖的模型類變量中插入新子節(jié)點,位置是第一個,否則顯示消息并退出該函數(shù)if (node.getallowschildren() model.insertnodeinto(newnode, node, 0); else joptionpane.showmessagedialog( null, 不能給文件追加下級目錄 ! ); return; / 得到被選擇節(jié)點對應(yīng)文件的完整路徑信息strin
7、g fullpath = ; for (object obj : path.getpath() string str = obj.tostring(); / 處理盤符根目錄問題if (str.endswith() str = str.substring(0, str.length() - 1); if (fullpath.equals( ) fullpath += str; elsefullpath += + str; /system.out.println(fullpath=+fullpath);/ 生成被選擇節(jié)點對應(yīng)的文件類變量file parentdir = new file(fullp
8、ath); / 如果是目錄,則新建相應(yīng)的子目錄if (parentdir.isdirectory() file currentfile = new file(fullpath + + name); currentfile.mkdir(); else joptionpane.showmessagedialog( null, 文件名不能為空! ); catch (headlessexception e) / todo auto-generated catch blocke.printstacktrace(); 2.新建文件功能的實現(xiàn)privateclass menuaction5 implemen
9、ts actionlistener publicvoid actionperformed(actionevent e) treepath tp = tree.getselectionpath(); / 得到被選擇節(jié)點對應(yīng)文件的完整路徑信息string fullpath = ; for (object obj : tp.getpath() string str = obj.tostring(); / 處理盤符根目錄問題if (str.endswith() str = str.substring(0, str.length() - 1); if (fullpath.equals( ) fullpa
10、th += str; elsefullpath += + str; string filename = joptionpane.showinputdialog( 創(chuàng)建文件名稱: ); if (!filename.equals(null) file f = new file(fullpath + + filename); try f.createnewfile(); catch (ioexception e1) / todo auto-generated catch blocke1.printstacktrace(); else joptionpane.showmessagedialog( nu
11、ll, 文件名不能為空! ); 3.刪除功能的實現(xiàn)/ 內(nèi)部類,響應(yīng)快捷菜單的單擊操作privateclass menuaction implements actionlistener publicvoid actionperformed(actionevent e) / 得到樹狀視圖的被選擇節(jié)點路徑treepath tp = tree.getselectionpath(); / 得到樹狀視圖的被選擇節(jié)點defaultmutabletreenode node = (defaultmutabletreenode) tp .getlastpathcomponent(); / 從樹狀視圖刪除當(dāng)前節(jié)點d
12、efaulttreemodel dtm = (defaulttreemodel) tree.getmodel(); dtm.removenodefromparent(node); / 得到被選擇節(jié)點對應(yīng)文件的完整路徑信息string fullpath = ; for (object obj : tp.getpath() string str = obj.tostring(); / 處理盤符根目錄問題if (str.endswith() str = str.substring(0, str.length() - 1); if (fullpath.equals( ) fullpath += str
13、; elsefullpath += + str; / 如果是文件,直接刪除,如果是目錄則調(diào)用deletedir函數(shù)刪除目錄file currentfile = new file(fullpath); if (currentfile.isfile() currentfile.delete(); elsedeletedir(currentfile); ; / 通過遞歸調(diào)用,可以刪除目錄的函數(shù)publicstaticboolean deletedir(file dir) / 判斷是否為目錄,如果是,則遞歸調(diào)用自己,如果不是,直接刪除文件if (dir.isdirectory() string sub
14、dir = dir.list(); for (string s : subdir) deletedir( new file(dir, s); return dir.delete(); 4.打開文件的功能實現(xiàn)即是 open_file 這個類。5.屬性的功能實現(xiàn)取得路徑名:treepath tp = tree.getselectionpath(); / 得到被選擇節(jié)點對應(yīng)文件的完整路徑信息string fullpath = ; for (object obj : tp.getpath() string str = obj.tostring(); / 處理盤符根目錄問題if (str.endswit
15、h() str = str.substring(0, str.length() - 1); if (fullpath.equals( ) fullpath += str; elsefullpath += + str; 然后傳入 new proper(fullpath); 屬性詳細實現(xiàn)即是proper類。五軟件運行環(huán)境及限制運行環(huán)境: jdk 1.6 使用語言: java 編程工具: jbuilder2007 六結(jié)果輸出及分析登錄界面:(用戶名和密碼均為admin)錯誤提示框進入系統(tǒng)后主界面:菜單選項:新建目錄“小小”新建文件“小小”刪除“小小”目錄及文件刪除成功打開文件查看文件屬性七心得體會操作系統(tǒng)課程設(shè)計,自己通過查找資料、復(fù)習(xí)課本、編程調(diào)試,寫實驗報告等環(huán)節(jié),進一步掌握了以前學(xué)到的知識,并且還對操作系統(tǒng)應(yīng)用有了更深入的認識與掌握。比如對樹的展示有了很好的學(xué)習(xí),對二級文件系統(tǒng)也有了很好的了解,如何解決實現(xiàn)里面功能的各種問題。通過實踐的學(xué)習(xí),我認到學(xué)好計算機要重視實踐操作,不僅僅是學(xué)習(xí)java 語言,還
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版留學(xué)背景調(diào)查合同入門級背景核實服務(wù)4篇
- 2025年度個人合伙心理咨詢與治療合作協(xié)議4篇
- 二零二五年度新能源發(fā)電項目承包協(xié)議書4篇
- 二零二五年度純電動汽車租賃與市場拓展合同4篇
- 2025年度代購服務(wù)與品牌形象塑造合同4篇
- 2024育兒嫂全面育兒與家庭生活管理服務(wù)合同6篇
- 二零二五年度全域旅游目的地開發(fā)運營合同4篇
- 2025年度廠房租賃安全協(xié)議書范本(消防安全管理)4篇
- 2025年旋挖鉆孔灌施工合同書(新型灌漿材料研發(fā)合作)3篇
- 二零二五版婚內(nèi)財產(chǎn)管理與婚姻家庭和諧維護協(xié)議范本3篇
- 中國華能集團公司風(fēng)力發(fā)電場運行導(dǎo)則(馬晉輝20231.1.13)
- 中考語文非連續(xù)性文本閱讀10篇專項練習(xí)及答案
- 2022-2023學(xué)年度六年級數(shù)學(xué)(上冊)寒假作業(yè)【每日一練】
- 法人不承擔(dān)責(zé)任協(xié)議書(3篇)
- 電工工具報價單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識別實例
- 流體靜力學(xué)課件
- 顧客忠誠度論文
- 實驗室安全檢查自查表
- 證券公司績效考核管理辦法
評論
0/150
提交評論