作業系統 檔案系統課程設計報告 附原始碼

2021-08-05 20:11:21 字數 2865 閱讀 7383

作業系統課程設計

題目檔案系統

學院計算機學院

專業電腦科學與技術

年級班別 10級7 班

學號 3110006154

學生姓名

指導教師劉老師

20年月日

檔案系統

1、課程設計的內容:

模擬檔案系統實現的基本功能,了解檔案系統的基本結構和管理方法,加深理解檔案系統的內部功能及內部實現。通過用高階語言編寫和除錯乙個簡單的檔案系統,模擬檔案管理的工作過程,從而對各種檔案操作命令的實質內容和執行過程有比較深入的了解。

二、可行性分析:

可行性分析是通過對專案的主要內容和配套條件,並通過對各方面進行調查研究和分析比較,並對專案建成以後所帶來的影響,從而提出該專案是否值得投資和如何進行建設的諮詢意見,是一種綜合性的系統分析方法。可行性分析應具有預見性、公正性、可靠性、科學性的特點。

這裡以三個方面來分析此次設計:經濟可行性、技術可行性、法律可行性。

1、經濟可行性:

編寫該檔案系統,只需要用到pc機和vc++6.0程式設計軟體,不需要花費金錢,所以,在經濟方面,這個課程設計適合做。

2、技術可行性:

在做這個課程設計,事先需要掌握的知識有c/c++語言,資料結構,作業系統,pc機的基本操作和vc++6.0軟體的使用方法等。目前,這些知識都已經學習並掌握了,所以在技術方面,這個課程設計也適合做。

3、法律可行性:

做這個課程設計,只是為了掌握檔案系統的基本內容,提公升自己的程式設計能力,沒有違反法律法規,所以,在法律方面,這個課程設計也適合做。

三、需求分析

1.設計乙個多使用者多級目錄檔案管理系統。

2.要設計多個實用命令並設定檔案保護措施。

3.設計乙個較實用的使用者介面,方便使用者使用,介面要為使用者提供足夠的選擇資訊,不需使用者打入冗長的命令

4. 功能簡介:

①多使用者管理,多級目錄形式。

②基本的檔案操作功能,如新建檔案、開啟檔案、寫入檔案、關閉檔案、讀取檔案等。

③使用者間檔案的共享功能

四、概要設計(邏輯圖)

1. 系統結構圖:

2、介面簡單說明

該系統主要分為兩個介面,使用者操作介面及檔案操作管理介面。使用者操作介面可進行建立使用者、刪除使用者、登陸使用者、檢視使用者等操作,登陸使用者後將進入檔案操作管理介面,可以對檔案(夾)進行簡單的操作,包括:建立、刪除、開啟、讀出、寫入、關閉、修改、共享等操作,根據使用者命令執行不同功能。

五.詳細的設計(重要函式、資料結構乃其詳細說明)

1、設計方案

資料結構:

struct fcb

;struct user

;struct jiedian //索引結點,可為檔案共享所使用

;主要的函式說明:

1、 createfile—在使用者當前目錄下建立乙個檔案(夾),該檔案的管理資訊登入到使用者檔案資訊管理模組中。

2、 deletefile—刪除當前使用者當前目錄下的乙個檔案(夾)。

3、 openfile—在當前使用者目錄開啟某個檔案並修改標誌位,對檔案讀、寫操作都需先開啟。

4、 closefile—關閉使用者開啟的檔案。執行該命令後,使用者在系統中執行檔案狀態位被修改為關閉。

5、 readfile—從使用者已開啟檔案讀資訊,將檔案內容讀出,未開啟檔案無法讀取。

6、 writefile-向使用者已開啟檔案寫入資訊,未開啟檔案無法寫入操作。

7、 share-共享檔案,檔案共享後各使用者可以對共享檔案進行訪問。

8、 file_menu-使用者當前目錄檔案列表顯示。

9、 search - 在所有使用者中查詢所需要的檔案

10、 back-返回上一級目錄

11、 quit使用者登出命令。當使用該命令時,使用者退出系統。

12、 copyfile - 在當前目錄下,複製乙個檔案或資料夾

13、 rename - 對乙個檔案或資料夾進行重新命名

源**(部分):

void createfile(fcb *f,int flag新建檔案(夾)

}else

}temp->content=null;

printf("\n\t檔案屬性: 0、唯讀\t1、可寫"); //設定保護模式

printf("\n 請選擇: ");

scanf("%d",&temp->protect);

while(temp->protect!=0&&temp->protect!=1)

if(flag==0)

if(flag==0)

temp->type=0; //0為檔案

else temp->type=1; //1為資料夾

temp->flag=0; //檔案預設為關閉狀態,以後需要時再開啟

temp->share=0; //檔案預設為不共享狀態

temp->child=null;

temp->next=null;

temp->jdnext=null;

temp->parent=currentfcb;

if(p==null) //該目錄下還沒有檔案(夾)

else

p->next=temp;

}jdtemp=get(jd); //建立該檔案(夾)的索引結點

temp->jdparent=jdtemp;

strcpy(jdtemp->filename,temp->fcbname); //取相同的檔名

jdtemp->fcb=temp;

jdtemp->share=0; //索引結點預設不共享

jdtemp->sharenext=null;

jdtemp->next=null;

if(head==null)

else

getchar();

file_menu();}

FAT檔案系統作業系統課程設計實驗報告

作業系統課程設計之三 設計任務 模擬os檔案系統 在任一os window或者dos 也可以是在linux下,但要求能將結果演示給老師看 下,建立乙個大檔案,把它假象成一張盤,在其中實現乙個簡單的模擬os檔案系統。1 在現有機器硬碟上開闢10m 共10000個盤塊,每盤塊大小為1k 的硬碟空間 生成...

作業系統課程設計報告 蔡瓊 虛擬檔案系統

武漢工程大學 電腦科學與工程學院 綜合設計報告 設計名稱 作業系統綜合設計 設計題目 虛擬檔案系統的實現 學生學號 專業班級計工02 學生姓名 學生成績 指導教師 職稱 蔡瓊 副教授 課題工作時間 12年2月13日至 12年2 月24日 說明 1 報告中的第 一 二 三項由指導教師在綜合設計開始前填...

作業系統課程設計報告

上海電力學院 計算機作業系統原理 課程設計報告 題目名稱 編寫程式模擬虛擬儲存器管理 姓名 杜志豪 學號 20121798 班級 2012053班 同組姓名 孫嘉軼 課程設計時間 2014.6.30 2014.7.4 評語成績 一 設計內容及要求4 1.1 設計題目4 1 2 使用演算法分析4 1 ...