文件管理系统实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4部分、文件管理系统实现:

●基本要求:利用磁盘文件实现操作系统的文件管理功能,主要包括目录结构的管理、外存空间的分配与释放以及空闲空间管理三部分。

●参考学时:16学时

●实验提示:

1、通过初始化操作建立一个模拟外存空间的文件,在该文件中保存目录和

文件内容。创建该文件时应创建初始的根目录内容、索引节点以及空闲

空间位示图。根目录实为一特殊文件,其内容为“.”和“..”目录项。

2、索引节点应包括类型(目录or文件)、创建日期、大小、磁盘地址(为

了简单起见,可采用单级索引方式)

3、显示命令提示符“$”,并根据输入命令完成相应的文件操作:

MD(创建子目录):创建目录文件,并在父目录文件中增加目录项,最

后修改父目录文件大小

CD(切换工作目录):根据当前目录切换到指定目录;

RD(删除子目录):搜索所要删除的目录是否为空目录,若是则删除;

MK(创建空文件):创建指定大小的文件(如输入命令“mk test

2000”,表示创建大小为2000字节的test文件),并在父目录中添加文件

名称;还应对空闲空间位示图进行适当修改;

DEL(删除文件):如果所要删除的文件存在,则删除,同时修改父目录

内容;还应对空闲空间位示图进行适当修改;

DIR:列出当前目录的所有目录项。

ength>=6) {

=(0, 6);

}

else {

while().length<6) {

name+='\u0000';

}

,

=name;

}

ength<14) {

str1+='\u0000';

}

etBytes());

());

`

());

etBytes().length"+().getBytes().length);

().getBytes());

etBytes()====="+().getBytes().length);

());

++times;

(f);

(by);(by);

~

f+=2;

")) {

blockno=0;

current_directory="";

]

block=findBlock()*32+blockcount*2;

ength<14) {

str1+='\u0000';

}

=str1;

=firstblock;

etBytes());

());

());

().getBytes());

());

++times;

)

(f);

write(by);

(b);

}

for(i=0;i

for(k=0;k

");

"rd :删除空目录");

"mk :创建文件,如mk test 2000");

"md :创建文件夹,如md test");

"del :删除文件");

"help :显示帮助内容");

"info :显示磁盘内容,如info 1024");

"fat :仅显示FAT表");

"exit :退出程序");

}

}

相关文档
最新文档