操作系統(tǒng)課程設(shè)計報告 虛擬文件系統(tǒng)的實現(xiàn)_第1頁
操作系統(tǒng)課程設(shè)計報告 虛擬文件系統(tǒng)的實現(xiàn)_第2頁
操作系統(tǒng)課程設(shè)計報告 虛擬文件系統(tǒng)的實現(xiàn)_第3頁
操作系統(tǒng)課程設(shè)計報告 虛擬文件系統(tǒng)的實現(xiàn)_第4頁
操作系統(tǒng)課程設(shè)計報告 虛擬文件系統(tǒng)的實現(xiàn)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、武漢工程大學 計算機科學與工程學院綜合設(shè)計報告設(shè)計名稱: 操作系統(tǒng)綜合設(shè)計 設(shè)計題目: 虛擬文件系統(tǒng)的實現(xiàn) 學生學號: 專業(yè)班級: 計工02 學生姓名: 學生成績: 指導教師(職稱): 蔡瓊(副教授) 課題工作時間: 12年2月13日 至 12年2 月24日 說明:1、報告中的第一、二、三項由指導教師在綜合設(shè)計開始前填寫并發(fā)給每個學生;四、五兩項(中英文摘要)由學生在完成綜合設(shè)計后填寫。2、學生成績由指導教師根據(jù)學生的設(shè)計情況給出各項分值及總評成績。3、指導教師評語一欄由指導教師就學生在整個設(shè)計期間的平時表現(xiàn)、設(shè)計完成情況、報告的質(zhì)量及答辯情況,給出客觀、全面的評價。4、所有學生必須參加綜合設(shè)

2、計的答辯環(huán)節(jié),凡不參加答辯者,其成績一律按不及格處理。答辯小組成員應由2人及以上教師組成。5、報告正文字數(shù)一般應不少于5000字,也可由指導教師根據(jù)本門綜合設(shè)計的情況另行規(guī)定。6、平時表現(xiàn)成績低于6分的學生,其綜合設(shè)計成績按不及格處理。7、此表格式為武漢工程大學計算機科學與工程學院提供的基本格式(適用于學院各類綜合設(shè)計),各教研室可根據(jù)本門綜合設(shè)計的特點及內(nèi)容做適當?shù)恼{(diào)整,并上報學院批準。成績評定表學生姓名: 學號: 班級: 09計算機2班 類別合計分值各項分值評分標準實際得分合計得分備注平時表現(xiàn)1010按時參加綜合設(shè)計,無曠課、遲到、早退、違反實驗室紀律等情況。完成情況3020按設(shè)計任務書的

3、要求完成了全部任務,能完整演示其設(shè)計內(nèi)容,符合要求。10能對其設(shè)計內(nèi)容進行詳細、完整的介紹,并能就指導教師提出的問題進行正確的回答。報告質(zhì)量3510報告文字通順,內(nèi)容翔實,論述充分、完整,立論正確,結(jié)構(gòu)嚴謹合理;報告字數(shù)符合相關(guān)要求,工整規(guī)范,整齊劃一。5課題背景介紹清楚,綜述分析充分。5設(shè)計方案合理、可行,論證嚴謹,邏輯性強,具有說服力。5符號統(tǒng)一;圖表完備、符合規(guī)范要求。5能對整個設(shè)計過程進行全面的總結(jié),得出有價值的結(jié)論或結(jié)果。5參考文獻數(shù)量在3篇以上,格式符合要求,在正文中正確引用。答辯情況2510在規(guī)定時間內(nèi)能就所設(shè)計的內(nèi)容進行闡述,言簡意明,重點突出,論點正確,條理清晰。15在規(guī)定時

4、間內(nèi)能準確、完整、流利地回答教師所提出的問題??傇u成績: 分 補充說明: 指導教師: 蔡瓊 (簽字)日 期: 2012 年 2 月 24 日答辯記錄表學生姓名: 學號: 班級: 09計算機2班 答辯地點: l403號機房 答辯內(nèi)容記錄:答辯成績合計分值各項分值評分標準實際得分合計得分備注2510在規(guī)定時間內(nèi)能就所設(shè)計的內(nèi)容進行闡述,言簡意明,重點突出,論點正確,條理清晰。15在規(guī)定時間內(nèi)能準確、完整、流利地回答教師所提出的問題。答辯小組成員(簽字): 2012 年 2 月 24 日指導教師評語指導教師: 蔡瓊 (簽字)日 期: 2012 年 2 月 24 日一、綜合設(shè)計目的、條件、任務和內(nèi)容要

5、求:操作系統(tǒng)在計算機科學中是一門核心專業(yè)基礎(chǔ)課,涉及較多硬件和軟件知識。在計算機軟、硬件課程的設(shè)置上,它起著承上啟下的作用。其特點是概念多、較抽象、涉及的知識面廣。操作系統(tǒng)綜合設(shè)計是計算機科學與技術(shù)專業(yè)學生的一門實踐課程,是學習完操作系統(tǒng)課程后的課程設(shè)計,本課程的教學目的是,通過學習,使學生了解計算機操作系統(tǒng)的發(fā)展特點;理解操作系統(tǒng)的基本概念、組成和各部分的功能;掌握計算機操作系統(tǒng)設(shè)計的基本原理和方法;理解常見操作系統(tǒng)的結(jié)構(gòu)原理并能熟練使用。虛擬文件系統(tǒng)的實現(xiàn)課題,要求學生了解文件類型及文件系統(tǒng)模型,理解文件的邏輯結(jié)構(gòu)類型及特點,理解文件外存的分配方式,掌握文件的目錄管理及存儲空間管理,理解文

6、件的安全性和數(shù)據(jù)一致性。培養(yǎng)學生的抽象思維能力、邏輯推理能力和形式化思維方法,增強分析問題和解決問題的能力。設(shè)計任務和內(nèi)容要求:在windows或者linux下設(shè)計一個二級(或者樹型)結(jié)構(gòu)文件系統(tǒng),要求至少實現(xiàn)以下功能:login 用戶登錄、dir 列出文件目錄、create 創(chuàng)建文件、del 刪除文件、open 打開文件、close 關(guān)閉文件、read 讀文件、write 寫文件、cd 進入子目錄、rd 刪除子目錄、md 創(chuàng)建子目錄等。設(shè)計提示:實現(xiàn)虛擬文件系統(tǒng)的一般思路是調(diào)用系統(tǒng)的文件創(chuàng)建(如c中的fopen函數(shù)的w方式即可)一個新文件,將此文件作為虛擬磁盤,在完成本設(shè)計要求的內(nèi)容時,要求

7、所生成的文件目錄以及文件等內(nèi)容都是存儲在此磁盤中。 指導教師簽字: 蔡 瓊 2012 年 1 月 8 日二、進度安排:第1周(2.13-2.14) : 學生熟悉課題的任務和要求,查閱相關(guān)文獻和資料,并做好編碼準備第1周 (2.15-2.17) :程序編碼、調(diào)試第2周 (2.20-2.22) :程序編碼、調(diào)試和測試,書寫報告第2周 (2.23-2.24): 答辯、檢查、驗收、遞交設(shè)計報告三、應收集資料及主要參考文獻:應收集的資料:面向?qū)ο蟪绦蛟O(shè)計思想和方法高級程序設(shè)計語言參考手冊操作系統(tǒng)、軟件工程方面參考書籍主要參考文獻:(1) 李小林,張俊 .程序設(shè)計基礎(chǔ)z.北京:中國鐵道出版社,2008.(

8、2) 湯小丹等.計算機操作系統(tǒng)z.西安:西安電子科技大學出版社,2007.(3) 嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)z.北京:清華大學出版社,2007.四、綜合設(shè)計摘要:操作系統(tǒng)在計算機科學中是一門核心專業(yè)基礎(chǔ)課,涉及較多硬件和軟件知識。在計算機軟、硬件課程的設(shè)置上,它起著承上啟下的作用。其特點是概念多、較抽象、涉及的知識面廣。操作系統(tǒng)綜合設(shè)計是計算機科學與技術(shù)專業(yè)學生的一門實踐課程,是學習完操作系統(tǒng)課程后的課程設(shè)計,本課程的教學目的是,通過學習,使學生了解計算機操作系統(tǒng)的發(fā)展特點;理解操作系統(tǒng)的基本概念、組成和各部分的功能;掌握計算機操作系統(tǒng)設(shè)計的基本原理和方法;理解常見操作系統(tǒng)的結(jié)構(gòu)原理并能熟練使用

9、。本此課程設(shè)計的課題是設(shè)計一二級結(jié)構(gòu)文件系統(tǒng),要求學生了解文件類型及文件系統(tǒng)模型,理解文件的邏輯結(jié)構(gòu)類型及特點,理解文件外存的分配方式,掌握文件的目錄管理及存儲空間管理,理解文件的安全性和數(shù)據(jù)一致性。培養(yǎng)學生的抽象思維能力、邏輯推理能力和形式化思維方法,增強分析問題和解決問題的能力。關(guān)鍵詞:操作系統(tǒng);虛擬文件;二級結(jié)構(gòu)5、 綜合設(shè)計abstract:the operating system in computer science is a core fundamental course, involves more hardware and software knowledge. in com

10、puter software and hardware of the course setting, it plays the role of the link. its characteristic is more, more abstract concept, involving a wider range of knowledge.the operating system is integrated design of computer science and technology major students a practical courses, is after studying

11、 the operating system of the course design curriculum, the teaching purpose of this course is, through the study, make students understand the development of the computer operating system characteristics; understanding the basic concept of the operating system, composition and the functions of the p

12、arts of the; good computer operating system the basic principle of design and the method; understand common operating system structure theory and be familiar with.the course design of the subject is to design the structure of 12 file system, students are required to understand file type and file sys

13、tem model, understand the logic structure type and file characteristics, understand documents allocation of crt, master file directory management and storage space management, understand the security of documents and data consistency. the cultivation of the students ability to think abstractly, logi

14、cal reasoning ability and formal thinking method, strengthen the ability to analyze and solve problems.keywords: operating system; virtual file; the secondary structure目 錄摘 要 . 2abstract . 2第一章 課題背景.31.1 課題簡介 .3 1.1.1 課題背景 .3 1.1.2 課題目的 .3 1.1.3 要求及內(nèi)容 .31.2 原理與內(nèi)容 .3 1.2.1 理論依據(jù) .3 1.2.2 課題內(nèi)容 .3第二章設(shè)計簡

15、介及設(shè)計方案論述 .42.1 設(shè)計簡介 .4 2.2 設(shè)計方案論述 .4 2.3 概要設(shè)計 .4 2.3.1 數(shù)據(jù)結(jié)構(gòu) .4 2.3.2 主要操作函數(shù) .5第三章詳細設(shè)計 .63.1 系統(tǒng)分析 .6 3.2 文件基本操作 .6 3.3 算法流程圖 .7第四章設(shè)計結(jié)果及分析. 84.1 文件系統(tǒng)功能 .84.2 系統(tǒng)測試 .8 4.3 運行結(jié)果分析 .10 總 結(jié) .11 致 謝 .12 參考文獻 .13附錄 主要程序代碼 .14 摘 要操作系統(tǒng)在計算機科學中是一門核心專業(yè)基礎(chǔ)課,涉及較多硬件和軟件知識。在計算機軟、硬件課程的設(shè)置上,它起著承上啟下的作用。其特點是概念多、較抽象、涉及的知識面廣。

16、操作系統(tǒng)綜合設(shè)計是計算機科學與技術(shù)專業(yè)學生的一門實踐課程,是學習完操作系統(tǒng)課程后的課程設(shè)計,本課程的教學目的是,通過學習,使學生了解計算機操作系統(tǒng)的發(fā)展特點;理解操作系統(tǒng)的基本概念、組成和各部分的功能;掌握計算機操作系統(tǒng)設(shè)計的基本原理和方法;理解常見操作系統(tǒng)的結(jié)構(gòu)原理并能熟練使用。本此課程設(shè)計的課題是設(shè)計一二級結(jié)構(gòu)文件系統(tǒng),要求學生了解文件類型及文件系統(tǒng)模型,理解文件的邏輯結(jié)構(gòu)類型及特點,理解文件外存的分配方式,掌握文件的目錄管理及存儲空間管理,理解文件的安全性和數(shù)據(jù)一致性。培養(yǎng)學生的抽象思維能力、邏輯推理能力和形式化思維方法,增強分析問題和解決問題的能力。關(guān)鍵詞:操作系統(tǒng);虛擬文件;二級結(jié)構(gòu)

17、abstractthe operating system in computer science is a core fundamental course, involves more hardware and software knowledge. in computer software and hardware of the course setting, it plays the role of the link. its characteristic is more, more abstract concept, involving a wider range of knowledg

18、e.the operating system is integrated design of computer science and technology major students a practical courses, is after studying the operating system of the course design curriculum, the teaching purpose of this course is, through the study, make students understand the development of the comput

19、er operating system characteristics; understanding the basic concept of the operating system, composition and the functions of the parts of the; good computer operating system the basic principle of design and the method; understand common operating system structure theory and be familiar with.the c

20、ourse design of the subject is to design the structure of 12 file system, students are required to understand file type and file system model, understand the logic structure type and file characteristics, understand documents allocation of crt, master file directory management and storage space mana

21、gement, understand the security of documents and data consistency. the cultivation of the students ability to think abstractly, logical reasoning ability and formal thinking method, strengthen the ability to analyze and solve problems.keywords:operating system; virtual file; the secondary structure第

22、一章 課題背景1.1 課題簡介1.1.1 課題背景操作系統(tǒng)在計算機科學中是一門核心專業(yè)基礎(chǔ)課,涉及較多硬件和軟件知識。在計算機軟、硬件課程的設(shè)置上,它起著承上啟下的作用。其特點是概念多、較抽象、涉及的知識面廣。1.1.2 課題目的通過學習,使學生了解計算機操作系統(tǒng)的發(fā)展特點;理解操作系統(tǒng)的基本概念、組成和各部分的功能;掌握計算機操作系統(tǒng)設(shè)計的基本原理和方法;理解常見操作系統(tǒng)的結(jié)構(gòu)原理并能熟練使用。1.1.3 要求及意義了解文件類型及文件系統(tǒng)模型,理解文件的邏輯結(jié)構(gòu)類型及特點,理解文件外存的分配方式,掌握文件的目錄管理及存儲空間管理,理解文件的安全性和數(shù)據(jù)一致性。培養(yǎng)學生的抽象思維能力、邏輯推理

23、能力和形式化思維方法,增強分析問題和解決問題的能力。1.2 原理與內(nèi)容1.2.1 理論依據(jù) 文件系統(tǒng)是linux操作系統(tǒng)的重要組成部分,linux文件具有強大的功能。文件系統(tǒng)中的文件是數(shù)據(jù)的集合,文件系統(tǒng)不僅包含著文件中的數(shù)據(jù)而且還有文件系統(tǒng)的結(jié)構(gòu),所有l(wèi)inux 用戶和程序看到的文件、目錄、軟連接及文件保護信息等都存儲在其中。1.2.2 課題內(nèi)容在windows或者linux下設(shè)計一個二級(或者樹型)結(jié)構(gòu)文件系統(tǒng),要求至少實現(xiàn)以下功能:login 用戶登錄、dir 列出文件目錄、create 創(chuàng)建文件、del 刪除文件、open 打開文件、close 關(guān)閉文件、read 讀文件、write

24、寫文件、cd 進入子目錄、rd 刪除子目錄、md 創(chuàng)建子目錄等。第二章 設(shè)計簡介及設(shè)計方案論述2.1 設(shè)計簡介本系統(tǒng)是模擬實現(xiàn)多用戶多目錄的文件系統(tǒng),在系統(tǒng)出現(xiàn)登錄后 ,輸入用戶與口令,在用戶登錄系統(tǒng)后,可建立文件卷,將用戶輸入的文件保存在指定的文件中。系統(tǒng)的命令與其命令的具體實現(xiàn),此模擬系統(tǒng)共提供了上述命令,并根據(jù)命令的含義與要求,用c+編程來完成所有具體操作。該系統(tǒng)可以模擬完成用戶的登陸和驗證,列出文件和目錄,新建目錄,改變目錄,創(chuàng)立和編寫文件,刪除文件和退出系統(tǒng)等功能2.2 設(shè)計方案論述 本文件系統(tǒng)采用兩級目錄,其中第一級對應于用戶賬號,第二級對應于用戶帳號下的文件。另外,為了簡便文件系

25、統(tǒng)未考慮文件共享,文件系統(tǒng)安全以及管道文件與設(shè)備文件等特殊內(nèi)容。 首先應確定文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu):主目錄、子目錄及活動文件等。主目錄和子目錄都以文件的形式存放于磁盤,這樣便于查找和修改。 用戶創(chuàng)建的文件,可以編號存儲于磁盤上。如:file0,file1,file2并以編號作為物理地址,在目錄中進行登記。2.3 概要設(shè)計2.3.1 數(shù)據(jù)結(jié)構(gòu)struct fatitem /* size 8*/ int item; /*存放文件下一個磁盤的指針*/ char em_disk; /*磁盤塊是否空閑標志位0 空閑*/ ; struct direct /*-文件控制快信息-*/ struct fcb cha

26、r name9; /*文件/目錄名8位*/ char property; /*屬性1位目錄0位普通文件*/ int size; /*文件/目錄字節(jié)數(shù)、盤塊數(shù))*/ int firstdisk; /*文件/目錄起始盤塊號*/ int next; /*子目錄起始盤塊號*/ int sign; /*1是根目錄0不是根目錄*/ directitemmsd+2; ; struct opentable struct openttableitem char name9; /*文件名*/ int firstdisk; /*起始盤塊號*/ int size; /*文件的大小*/ openitemmofn; in

27、t cur_size; /*當前打文件的數(shù)目*/ ; 2.3.2 主要操作函數(shù)int create(char *name); int open(char *name); int close(char *name); int write(int fd,char *buf,int len); int read(int fd,char *buf); int del(char *name); int mkdir(char *name); int rmdir(char *name); void dir(); int cd(char *name); void print(); void show(); 第

28、3章 詳細設(shè)計3.1 系統(tǒng)分析 本次設(shè)計的“模擬二級文件管理系統(tǒng)”利用的是二級目錄管理方式,分別由用戶文件目錄fat、主文件目錄root構(gòu)成。其中fat由用戶的所有文件塊組成,在fat中每個用戶目錄文件占用一個目錄項,其中目錄項中包含用戶名、用戶密碼以及指向用戶文件目錄文件鏈表的指針。3.2 文件基本操作 創(chuàng)建文件:創(chuàng)建一個新文件時,系統(tǒng)首先要為新文件申請必要的外存空間,并在fat中為文件分配一個目錄項。目錄項中應記錄新建文件的文件名、文件總?cè)萘?、當前已?jīng)使用的容量、文件屬性、文件在磁盤中的起始位置。 刪除文件:當已不在需要某文件時,可將它從文件系統(tǒng)中刪除。在刪除時,首先在fat的文件鏈表中找

29、到與該文件對應的文件結(jié)點,然后確認文件是否處于關(guān)閉狀態(tài),若以上條件都滿足,則系統(tǒng)就可以把結(jié)點從文件鏈表中刪除,然后回收改結(jié)點對應的磁盤空間。 打開文件:只有處于打開狀態(tài)的文件才能被讀取、寫入、重復關(guān)閉且不能被刪除。 關(guān)閉文件:只有處于關(guān)閉狀態(tài)的文件才能被刪除,且不能被重復關(guān)閉。 列文件目錄:用戶只能獲取自己建立的文件或其他用戶共享的文件的列表,并可以查看所用戶建立的文件列表。 寫文件:用戶可以把相關(guān)數(shù)據(jù)寫入到用戶自定義的文件中(磁盤上);待寫文件必須處于打開狀態(tài),且不能是其他用戶共享的文件。讀文件:用戶可以把文件中存儲的數(shù)據(jù)讀取出來;待讀文件必須處于打開狀態(tài);用戶既可以讀取自己建立的文件,也可

30、以讀取其他用戶共享的文件。建子目錄:輸入目錄名,若存在于該文件名相同的目錄,這創(chuàng)建失??;若無,則查找空閑的磁盤,將該磁盤置為分配狀態(tài),填寫目錄項,分配地址后,子目錄創(chuàng)建成功。刪除目錄:輸入名字,查找是否存在該文件或目錄,若為文件,則不能刪除;若存在,找到起始盤塊號,并將其釋放,修改目錄項,刪除成功。3.3 算法流程圖 開始初始化磁盤有無該用戶?登錄/注冊?注冊新用戶注冊登錄分析命令y顯示:無此用戶n創(chuàng)建文件打開文件關(guān)閉文件讀文件寫文件列文件目錄刪除文件注銷用戶退出系統(tǒng)end提示錯誤指令成功執(zhí)行?yn框圖1:程序整體框架第四章 設(shè)計結(jié)果及分析4.1 文件系統(tǒng)功能 系統(tǒng)具有如下基本功能:login

31、 用戶登錄dir 列目錄create 創(chuàng)建文件delete 刪除文件open 打開文件close 關(guān)閉文件read 讀文件write 寫文件cd 進出目錄 mkdir 創(chuàng)建子目錄rmdir 刪除子目錄4.2 系統(tǒng)測試(1)login 用戶登錄(2)mkdir創(chuàng)建子目錄(3)cd進出目錄(4)create創(chuàng)建文件(5)close關(guān)閉文件(6)open打開文件(7)write寫文件(8) read讀文件(9) dir列目錄(10)delete刪除文件(11)rmdir刪除子目錄4.3 運行結(jié)果分析從上述運行過程可以看出,用戶登錄系統(tǒng)后,界面將顯示文件或目錄的基本操作,然后根據(jù)相應操作,完成系統(tǒng)的基

32、本要求。本次程序的運行結(jié)果與預期結(jié)果最終達到了一致。自運行階段,雖然每次都能得到運行結(jié)果,但是操作界面有時不是很完美,于是通過修改程序代碼,不斷執(zhí)行程序,進行完善,直到得出滿意的操作界面為止。在該過程中,驗證了本次課程設(shè)計所要求的基本功能,雖然有些操作不是很完善,但大體上都能實現(xiàn)。其中最令我不滿意的是dir功能。該功能只是列出目錄名,不能顯示目錄其他信息,是本次課程設(shè)計最大敗筆???結(jié)課程設(shè)計是對我們平時學習的一種考察,我們要正確地對待。不斷地鍛煉自己動手動腦的能力、把知識賦予實踐就是我們學習的目標!既然學校給我們這么好的機會,讓我們自己在實驗室作操作,我們應該好好抓住機會,把我們平時學習的東

33、西用自己的作品展現(xiàn)出來。這次,我做的是模擬linux二級文件系統(tǒng)設(shè)計的課程主題,這給了我充分鍛煉的機會。我會用自己學到的東西的設(shè)計出一副好的作品。 linux系統(tǒng)中的文件系統(tǒng)是人們最感興趣的,也是最成功的一部分。它既有很強的功能,又非常靈活,而且在具體的實現(xiàn)技術(shù)上也有許多獨到之處,致使后來有不少操作系統(tǒng)的設(shè)計者都仿效了liux操作系統(tǒng)中的文件系統(tǒng)去開發(fā)自己的文件系統(tǒng)。而對于我來說,這種最靈活的知識卻是最難掌握的。也因為對其基本知識掌握的不好,在這一次的設(shè)計過程中遇到很多的困難,特別是物理盤塊和邏輯文件之間的對應。在經(jīng)過與同學進行溝通和交流并反復的測試之后,才明白了設(shè)計的函數(shù),而且完善了部分函數(shù)

34、的主要功能。通過兩星期的操作系統(tǒng)課程設(shè)計實習,讓我對linux文件系統(tǒng)有了深層次的了解和掌握,也通過了自己的能力體會到了編程的樂趣。最重要的是學會了關(guān)于設(shè)計分析和以前c+語言學習過程中沒有及時鞏固的知識,對c+程序設(shè)計又有了更進一步的認識,對一些細節(jié)的結(jié)構(gòu)體語句有了更深刻的理解。所以這是一次很難得的實踐機會,讓我真正用心編程,學到了課本以外更深刻更重要的實踐經(jīng)驗。非常感謝老師提供這次機會,在這個課程設(shè)計過程中我受益匪淺,希望以后在這樣的鍛煉中不斷成長,提高自己各方面的能力我相信通過我以后很加刻苦的學習,我會更加熱愛我的專業(yè)課程。致 謝在本次課程設(shè)計的整個過程中,要特別感謝自始至終給我提供幫助和

35、指導的劉黎志老師,是他耐心的指導才使得本次設(shè)計得以順得完成,同時,也要感謝其他同學的無私幫助,在此還要特別感謝為我們提供良好上機環(huán)境的學校。如果沒有以上老師,同學和學校的幫助和支持,本次設(shè)計實難完成。再次感謝老師的精心輔導和同學的相互幫助,使我們順利完成此次設(shè)計以及為學習以后的科目打下良好的基礎(chǔ)。參考文獻 (1)李小林,張俊 .程序設(shè)計基礎(chǔ)z.北京:中國鐵道出版社,2008. (2)湯小丹等.計算機操作系統(tǒng)z.西安:西安電子科技大學出版社,2007. (3)嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)z.北京:清華大學出版社,2007.附錄主要代碼源程序:#include #include #include #d

36、efine mem_d_size 1024*1024 /總磁盤空間為m#define disksize 1024/磁盤塊的大小k#define disk_num 1024/磁盤塊數(shù)目k#define fatsize disk_num*sizeof(struct fatitem)/fat表大小#define root_disk_no fatsize/disksize+1/根目錄起始盤塊號#define root_disk_size sizeof(struct direct)/根目錄大小#define dir_maxsize 1024/路徑最大長度為kb#define msd 5/最大子目錄數(shù)#d

37、efine mofn 5/最大文件深度為#define max_write 1024*128/最大寫入文字長度kb struct fatitem /* size 8*/ int item; /*存放文件下一個磁盤的指針*/ char em_disk; /*磁盤塊是否空閑標志位0 空閑*/ ; struct direct /*-文件控制快信息-*/ struct fcb char name9; /*文件/目錄名8位*/ char property; /*屬性1位目錄0位普通文件*/ int size; /*文件/目錄字節(jié)數(shù)、盤塊數(shù))*/ int firstdisk; /*文件/目錄起始盤塊號*/

38、 int next; /*子目錄起始盤塊號*/ int sign; /*1是根目錄0不是根目錄*/ directitemmsd+2; ; struct opentable struct openttableitem char name9; /*文件名*/ int firstdisk; /*起始盤塊號*/ int size; /*文件的大小*/ openitemmofn; int cur_size; /*當前打文件的數(shù)目*/ ; struct fatitem *fat; /*fat表*/ struct direct *root; /*根目錄*/ struct direct *cur_dir; /

39、*當前目錄*/ struct opentable u_opentable; /*文件打開表*/ int fd=-1; /*文件打開表的序號*/ char *bufferdir; /*記錄當前路徑的名稱*/ char *fdisk; /*虛擬磁盤起始地址*/ void initfile(); void format(); void enter(); void halt(); int create(char *name); int open(char *name); int close(char *name); int write(int fd,char *buf,int len); int re

40、ad(int fd,char *buf); int del(char *name); int mkdir(char *name); int rmdir(char *name); void dir(); int cd(char *name); void print(); void show(); void initfile() fdisk = (char *)malloc(mem_d_size*sizeof(char); /*申請1m空間*/ format(); void format() int i; file *fp; fat = (struct fatitem *)(fdisk+disks

41、ize); /*計算fat表地址,引導區(qū)向后偏移1k)*/ /*-初始化fat表-*/ fat0.item=-1; /*引導塊*/ fat0.em_disk=1; for(i=1;iroot_disk_no-1;i+) /*存放fat表的磁盤塊號*/ fati.item=i+1; fati.em_disk=1; fatroot_disk_no.item=-1; /*存放根目錄的磁盤塊號*/ fatroot_disk_no.em_disk=1; for(i=root_disk_no+1;idirectitem0.sign = 1; root-directitem0.firstdisk = roo

42、t_disk_no; strcpy(,.); root-directitem0.next = root-directitem0.firstdisk; perty = 1; root-directitem0.size = root_disk_size; /*-指向上一級目錄的目錄項-*/ root-directitem1.sign = 1; root-directitem1.firstdisk = root_disk_no; strcpy(,.); root-directi

43、tem1.next = root-directitem0.firstdisk; perty = 1; root-directitem1.size = root_disk_size; if(fp = fopen(disk.dat,wb)=null) printf(error:n cannot open file n); return; for(i=2;idirectitemi.sign = 0; root-directitemi.firstdisk = -1; strcpy(,); root-directitemi.next = -1; root-directite

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論