文件管理系统实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 :退出程序"); } }