资源介绍
课程设计报告
1.需求分析
1.1 程序的功能
用二进制文件空间模拟磁盘空间,用文件块操作模拟磁盘块操作。
实现如下文件系统功能(过程或函数):
a、 打开文件系统 FILE *OPENSYS(char *filename);
b、 关闭文件系统 int CLOSESYS(FILE *stream);
c、 显示目录 void LISTDIR(void);
d、 建立文件 int FCREATE(char *filename);
e、 删除文件 int FDELETE(char *filename);
f、 打开文件 int FOPEN(char *filename);
g、 关闭文件 int FCLOSE(int fileid);
h、 文件块读 int FREAD(void *ptr, int n, int fileid);
i、 文件块写 int FWRITE(void *ptr, int n, int fileid);
j、 判断文件结束 int FEOF(int fileid);
k、 获取文件指针 long FGETPOS(int fileid);
l、 设置文件指针 int FSETPOS(int fileid, long offset);
m、 取得文件长度 long FGETLEN(char *filename);
2.概要设计
2.1主功能函数调用图
2.2 抽象数据类型(ADT)
1) 常量
#define BlockSize 512 //块大小
#define DirSize 32 //目录大小
2) 保留扇区结构
struct ReserveBlock{
int sysblocknum; /*文件系统总扇区数*/
int resblocknum; /*保留扇区扇区数*/
int fatblocknum; /*FAT表扇区数*/
int rootblocknum; /*根目录区扇区数*/
char fillchar[BlockSize-4*sizeof(int)];/*填充字节*/
};
3) 目录结构
struct DirBlock{
char filename[11]; /*文件名限长11个字符*/
char fillchar[DirSize-4*sizeof(int)-sizeof(long int)-11]; /*填充字节*/
- 上一篇: 操作系统课程设计实验报告Nachos 最终完整版
- 下一篇: nachos实验报告 lab1