操作系统课程设计Linux二级文件系统设计Word文档格式.docx

上传人:b****1 文档编号:3274233 上传时间:2023-05-01 格式:DOCX 页数:8 大小:20.91KB
下载 相关 举报
操作系统课程设计Linux二级文件系统设计Word文档格式.docx_第1页
第1页 / 共8页
操作系统课程设计Linux二级文件系统设计Word文档格式.docx_第2页
第2页 / 共8页
操作系统课程设计Linux二级文件系统设计Word文档格式.docx_第3页
第3页 / 共8页
操作系统课程设计Linux二级文件系统设计Word文档格式.docx_第4页
第4页 / 共8页
操作系统课程设计Linux二级文件系统设计Word文档格式.docx_第5页
第5页 / 共8页
操作系统课程设计Linux二级文件系统设计Word文档格式.docx_第6页
第6页 / 共8页
操作系统课程设计Linux二级文件系统设计Word文档格式.docx_第7页
第7页 / 共8页
操作系统课程设计Linux二级文件系统设计Word文档格式.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

操作系统课程设计Linux二级文件系统设计Word文档格式.docx

《操作系统课程设计Linux二级文件系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计Linux二级文件系统设计Word文档格式.docx(8页珍藏版)》请在冰点文库上搜索。

操作系统课程设计Linux二级文件系统设计Word文档格式.docx

用户登录

dir

列目录

create

创建文件

delete

删除文件

open

打开文件

close

关闭文件

read读文件

write写文件

cd进出目录

2.列目录时要列出文件名,物理地址,保护码和文件长度

3.源文件可以进行读写保护

【实验环境】

C++

DevCpp

【设计思路】

本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。

另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。

首先应确定文件系统的数据结构:

主目录、子目录及活动文件等。

主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。

用户创建的文件,可以编号存储于磁盘上。

如:

file0,file1,file2并以⋯编号作为物理地址,在目录中进行登记。

结构体:

typedefstruct/*thestructureofOSFILE*/

intfpaddr;

/*filephysicaladdress*/

intfmode;

/*filemode:

0-ReadOnly;

1-WriteOnly;

2-ReadandWrite;

3-Protect;

*/

charfname[MAXNAME];

/*filename*/

}OSFILE;

除左空白*/

char*rtrim(char*str)

/*removethetrailingblanks.去除右空白*/

intWriteF1()/*writefile相当于置换文件*/

程序流程说明:

整体流程:

开始

Login(Name/Pw/Cpw)

结束

 

各部分功能流程:

Open:

Delete:

Delete

用户是否在用户目

接收删除文件名

获取文件

获取物理块号

文件向前移动

删除文件,文件数减

Write:

确认该文件被打开

Y

获取路径

覆盖

文件写入成功!

Close:

罗列已经打开的文件

获取文件名

获取物理地址

源程序清单】

voidOpenF()/*OpenFile*/

{

printf("

\n\nC:

\\%s>

"

strupr(dirname));

件名\'

%s\'

不存在\n"

fname);

wgetchar=1;

}else{name)==0)fopen=1;

penmode=fmod;

确认您要删除的是否在用户目录下!

\n"

);

}

if(strcmp(strupr(dirname),strupr(username))!

=0){只能删除修改自己用户目录下的文件哦!

}else{

\nPleaseinputFileName:

gets(fname);

fopen==1){'

处于打开状态!

请先关闭哟!

请先关闭

if(ufd[k]->

ufdfile[i].fmode==3){'

处于被保护状态!

哟!

fpaddrno1=ufd[k]->

ufdfile[i].fpaddr;

xt"

n"

\nError.\'

文件不存在!

fopen==1)name);

m++;

if(m%4==0&

&

m!

=0)fopen==1){

penmode==1||ifopen[k][i].openmode==2){

paddr,str,10);

length=ufd[k]->

ufdfile[i].flength+length;

length=length;

\n\nYouhavewritefilesuccessfully!

!

fclose(fp_file);

penmode==0){

'

文件以只读状态打开,不允许写!

文件处于关闭状态,请先打开!

wgetchar=1;

fopen==1)

penmode==0)||(ifopen[k][i].openmode==2))

name);

n++;

if((n%4==0)&

(n!

=0))printf("

\n"

\n%d文件已被打开!

n);

if(n==0)wgetchar=1;

fopen==0)fopen=0;

ifopen[k][i].openmode=4;

\'

hasbeenclosedsuccessfully!

文件不存在\n"

【测试结果】

(此部分请同学们自己动手操作)

Login:

Help:

Create:

Read:

1—additional添加后变为:

0—covered

覆盖后变为:

Attrib:

Delete:

Dir:

Cls:

(清屏)

Exit:

设计总结】

首先通过这次的操作系统课程设计,让我认识到了实际的编程操作并不难,难的是对过程的设计,功能的定义以及最后的程序流程图的设计。

其次说一下我的认识,这次的课程设计使我对一些东西有了更加深刻的认知和了解,更重要的是巩固了新学的知识,以及对旧的知识进行了复习与了解,对一些细节方面的东西也有了更深刻的理解,所以这一次实践的机会,让我体会到了自己的不足之处,在以后的学习过程中,会加倍的认真努力。

让我对文件的操作更加熟练了,并且对Linux有了初步的了解。

其实这次课程设计,不能说很困难:

老师已经把大体的架构给我们了,我们需要添加的仅是四个功能的设计(open、write、delete、close)但是它又不是很容易,我们需要把整个的程序弄清,各个变量以及语句都要明白记住,这会关联到我们所定义的四个功能。

总算是把这次的课程设计搞定了,最让我开心的是课设完成之后看着自己的作品。

程序完整运行成功的那一瞬间最令我激动。

总之,这次的课设使我重新认识了不少,以后我会更加努力!

【参考文献】

计算机操作系统教程(第三版).张尧学史美林张高计算机操作系统,西安电子科技大学出版社,方敏主编

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2