作業系統二級檔案管理課程設計

2021-03-14 14:06:28 字數 1537 閱讀 7753

課程設計名稱: 二級檔案管理系統

專業班級 : 軟體工程計083-1

學生姓名 : 李曉斌

學號 : 20082553103

指導教師 : 任滿傑

設計目的:通過具體的檔案儲存空間的管理、檔案的物理結構、目錄結構和檔案操作的實現,加深對檔案系統內部功能和實現過程的理解。

設計內容:為linux系統設計乙個簡單二級檔案管理系統

一、實驗內容描述

1 實驗目標

本實驗的目的是通過乙個簡單多使用者檔案系統的設計,加深理解檔案系統的內部功能及內部實現.

2 實驗要求

為linux系統設計乙個簡單的二級檔案系統.要求做到以下幾點:

①可以實現下列命令:

login 使用者登入

dir 列檔案目錄

create 建立檔案

delete 刪除檔案

open 開啟檔案

close 關閉檔案

read 讀檔案

write 寫檔案

②列目錄時要列出檔名、實體地址、保護碼和檔案長度.

③原始檔可以進行讀寫保護.

程式設計

(1) 設計思想

本檔案系統採用兩級目錄,其中第一級對應於使用者賬號,第二級對應於使用者賬號下的檔案。另外,為了簡便檔案系統未考慮檔案共享,檔案系統安全以及管理檔案與裝置檔案等特殊內容。

(2) 主要資料結構

a 磁碟塊結構體:

typedef struct disttable

disknode;

disknode *diskhead;

b 檔案塊結構體:

struct filetable //檔案塊結構體

;c 兩級目錄結構體

typedef struct user_file_directory //使用者檔案目錄檔案ufd

ufd;

//ufd *headfile;

typedef struct master_file_directory //主檔案目錄mfd

mfd;

(3)函式如下;

void usercreate()

else

fflush(stdin清除檔案緩衝區

}int login()

name[i]='\0';

for(i=0;i

if(i==used)

for(times=0;times<3;times++)

fflush(stdin);

return i;

}int requestdist(int &startpostion,int maxlength)

{int flag=0; //標記是否分配成功

disknode *p,*q,*temp;

p=diskhead;

while(p)

{if(p->useflag==0&&p->maxlength>maxlength)

startpostion=p->start;

q=(disknode *)malloc(sizeof(disknode));

二級檔案管理課程設計

課程設計名稱 二級檔案管理系統 專業班級 學生姓名 學號指導老師 一 設計目的 通過乙個簡單多使用者檔案系統的設計,加深理解檔案系統的內部功能及內部實現。二 設計內容 為linux系統設計乙個簡單的二級檔案系統。要求做到以下幾點 1 可以實現下列幾條命令 至少4條 login 使用者登陸 dir列檔...

作業系統課程設計指導

一 本課程的教學目的及基本要求 1 教學目的 作業系統課程設計是作業系統課程的重要實踐環節,是作業系統課程內實驗的有益補充,它旨在培養學生的實踐能力,促進理論與實踐的結合。要求學生通過上機程式設計,了解如何模擬作業系統原理的實現,從而加深對作業系統原理的領會,加深對作業系統實現方法的理解,與此同時使...

作業系統課程設計報告

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