課程設計名稱: 二級檔案管理系統
專業班級
學生姓名
學號指導老師
一、 設計目的
通過乙個簡單多使用者檔案系統的設計,加深理解檔案系統的內部功能及內部實現。
二、設計內容
為linux系統設計乙個簡單的二級檔案系統。要求做到以下幾點:
(1)可以實現下列幾條命令(至少4條);
login 使用者登陸
dir列檔案目錄
create 建立檔案
delete 刪除檔案
open開啟檔案
close 關閉檔案
read讀檔案
write 寫檔案
rename重新命名
(2)列目錄時要列出檔名、實體地址、保護碼和檔案長度;
(3)原始檔可以進行讀寫保護。
三、程式設計
1、在記憶體中開闢乙個虛擬磁碟空間作為檔案儲存器,在其上實現乙個多使用者多目錄的檔案系統。
2、檔案物理結構可採用顯式鏈結或其他方法。
3、磁碟空閒空間的管理可選擇位示圖或其他方法。如果採用位示圖來管理檔案儲存空間,並採用顯式鏈結分配方式,則可以將位示圖合併到fat中。
4、檔案目錄結構採用多使用者多級目錄結構,每個目錄項包含檔名、實體地址、長度等資訊,還可以通過目錄項實現對檔案的讀和寫的保護。
5、設計乙個較實用的使用者介面,方便使用者使用。要求提供以下相關檔案操作:使用者登入、建立目錄、刪除目錄、建立檔案、刪除檔案、讀檔案、寫檔案、
重新命名、退出。
四、源**
1、filesystem.h
#define dir_length 1024路徑最長可達節
#define max_write 1024*128寫入文字可達128k位元組
#define mem_d_size 1024*10241m磁碟空間
#define disksize 1024磁碟塊的大小 1k
#define msd 5最大子目錄數 5
#define disk_num mem_d_size/disksize磁碟塊數目 1024=1m/1k
#define fatsize disk_num*sizeof(struct fatitem) //fat表大小1024*8=8k
#define mofn 5最大檔案開啟數 5
#define root_disk_no fatsize/disksize+1根目錄起始盤塊號 9
#define root_disk_size sizeof(struct direct根目錄大小 196
#define login 15
#define name_long 1
#define not_exsit -1
#define not_open -1
#define dir_full -2
#define open_full -3
#define already -4
#define not_r_w -4
#define disk_full -5
#define not_exit -1
struct fatitemsize 8
;struct direct
directitem[msd+2最大子目錄 5
};struct opentable
openitem[mofn最大檔案開啟數 5
int cur_size當前打檔案的數目
};struct fatitem *fatfat表
struct direct *root根目錄
struct direct *cur_dir當前目錄
struct opentable user_opentable檔案開啟表
int fd=-1檔案開啟表的序號
char *bufferdir記錄當前路徑的名稱
char *fdisk虛擬磁碟起始位址
int cur_user;
int find_n = 0;
void init();
void format();
void enter();
void assign();
int create(char *name);
int open(char *name);
int close(char *name);
int rename();
int write(int fd,char *buf,int len,char *name);
int read(int fd,char *buf,char *name);
int del(char *name);
void dir();
int login();
void helpmenu();
void currentpath();
2、filesystem.cpp
#include
#include
#include"conio.h"
#include "filesystem.h"
#include
int statue=0;
char user[20]="li";
char password[20]="123";
int main()
contect = (char *)malloc(max_write*sizeof(char));
if((fp=fopen("disk.bat","rb"))==null建立乙個檔案
else
}enter
//分析命令
while(1)
else if(strcmp(cmd,"model") == 0)
作業系統二級檔案管理課程設計
課程設計名稱 二級檔案管理系統 專業班級 軟體工程計083 1 學生姓名 李曉斌 學號 20082553103 指導教師 任滿傑 設計目的 通過具體的檔案儲存空間的管理 檔案的物理結構 目錄結構和檔案操作的實現,加深對檔案系統內部功能和實現過程的理解。設計內容 為linux系統設計乙個簡單二級檔案管...
績效管理課程設計
哈爾濱劍橋學院 工商管理學院 東方餃子王大堂經理績效管理體系設計 院系 工商管理學院 班級 11級人資 班 學號 1104430 姓名指導教師 設計時間 12月16日 20日 第一項崗位分析 一 企業簡介 1 1 要求 在校園內或附近尋找乙個經濟組織及內部某一崗位 最好是企業組織 對其進行分析。確定...
專案管理課程設計
目錄1 目的與要求 2 2 課程設計內容 2 1.1 制定專案計畫 2 1.2 專案管理的檢視和報表 2 1.3 資源管理 2 3 課程特色 2 4 課程設計步驟與方法 2 1.1 時間管理 3 1.2 資源管理 3 1.3 設計說明書正文內容 3 5 操作說明 3 6 成果展示 3 7 參考文獻 ...