文件系统设计Word下载.doc

上传人:b****1 文档编号:13085056 上传时间:2022-10-04 格式:DOC 页数:18 大小:401KB
下载 相关 举报
文件系统设计Word下载.doc_第1页
第1页 / 共18页
文件系统设计Word下载.doc_第2页
第2页 / 共18页
文件系统设计Word下载.doc_第3页
第3页 / 共18页
文件系统设计Word下载.doc_第4页
第4页 / 共18页
文件系统设计Word下载.doc_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

文件系统设计Word下载.doc

《文件系统设计Word下载.doc》由会员分享,可在线阅读,更多相关《文件系统设计Word下载.doc(18页珍藏版)》请在冰豆网上搜索。

文件系统设计Word下载.doc

从这我们可以看出文件系统的重要性,要好好掌握,通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。

系统概要设计

(1)系统的主要功能

为Linux系统设计一个简单的二级文件系统,以实现下列功能:

可以实现下列几条命令

(1)login用户登录

(2)dir文件目录列表

(3)creat创建文件

(4)delete删除文件

(5)open打开文件

(6)close关闭文件

(7)read读文件

(8)write写文件

(2)系统模块功能结构

本系统是模拟实现多用户多目录的文件系统(8个用户),在系统出现登录后,输入用户与口令,在用户登录系统后,可建立文件卷,将用户输入的文件保存在指定的文件中。

系统的命令与其命令的具体实现,此模拟系统共提供了login用户登录dir列文件目录mkdir建立目录create创建文件del删除文件open打开文件read读文件write写文件上述命令,并根据命令的含义与要求,用C++编程来完成所有具体操作。

该系统可以模拟完成用户的登陆和验证,列出文件和目录,新建目录,改变目录,创立和编写文件,删除文件和退出系统等功能。

(3)运行环境要求

开发环境:

windows平台+visualc++6.0

运行环境:

windows全系列平台VisualC++6.0linux环境下用g++编译C++

开发语言:

c++

(4)数据结构设计

(1)用户结构:

账号与密码结构

typedefstructusers

{

 

char 

name[8];

pwd[10];

}users;

本系统有8个默认的用户名,前面是用户名,后面为密码,用户登陆时只要输入正确便可进入系统,否则提示失败要求重新输入。

usersusrarray[8]=

"

usr1"

"

usr2"

usr3"

usr4"

usr5"

usr6"

usr7"

usr8"

};

(2)数据结构说明

a)文件结构链表

structfnode

charfilename[FILENAME_LENGTH];

int 

isdir;

intisopen;

charcontent[255];

fnode*parent;

fnode*child;

fnode*prev;

fnode*next;

b)函数介绍

fnode*initfile(charfilename[],intisdir);

//初始化文件或目录 

voidcreateroot();

//建立系统根目录

intrun();

系统运行

intfindpara(char*topara);

对参数进行处理

boolchklogin(char*users,char*pwd);

检查账号与口令

voidhelp();

命令列表

intmkdir();

建立目录

intcreate();

建立文件

intread();

读取文件

intwrite();

写入文件

intdel();

删除文件

intcd();

切换目录

intdir();

文件与目录列表

(3)各模块流程图

系统的详细设计

确定程序设计的各个模块的算法及内部的数据组织,包括主要代码并描述各种算法

系统的主要源代码

#include"

stdio.h"

iostream.h"

string.h"

iomanip.h"

#defineFILENAME_LENGTH10//文件名称长度

#defineCOMMAND_LENGTH10//命令行长度

#definePARA_LENGTH30//参数长度

//账号结构

typedefstructusers

charname[8];

charpwd[10];

//文件结构

charfilename[FILENAME_LENGTH];

intisdir;

intisopen;

charcontent[255];

fnode*parent;

fnode*child;

fnode*prev;

fnode*next;

//账号

"

fnode*initfile(charfilename[],intisdir);

voidcreateroot();

intrun();

intfindpara(char*topara);

boolchklogin(char*users,char*pwd);

voidhelp();

intmkdir();

intcreate();

intread();

intwrite();

intdel();

intcd();

intdir();

fnode*root,*recent,*temp,*ttemp;

charpara[PARA_LENGTH],command[COMMAND_LENGTH],temppara[PARA_LENGTH],recentpara[PARA_LENGTH];

//创建文件与目录结点

fnode*initfile(charfilename[],intisdir)

fnode*node=newfnode;

strcpy(node->

filename,filename);

node->

isdir=isdir;

node->

isopen=0;

parent=NULL;

child=NULL;

prev=NULL;

next=NULL;

returnnode;

}

//创建文件存储结点

voidcreateroot()

recent=root=initfile("

/"

1);

root->

prev=root->

strcpy(para,"

);

}

intmkdir()

{

temp=initfile("

cin>

>

temp->

filename;

if(recent->

child==NULL)

{

temp->

parent=recent;

temp->

recent->

child=temp;

prev=temp->

else

ttemp=recent->

child;

while(ttemp->

next)

{

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1