- 20
- 0
- 约7.21千字
- 约 17页
- 2018-12-23 发布于湖北
- 举报
操作系统大型试验
实
验
报
告
姓名:XX
班级:软件工程110x
学号:201126630xxx
一、名称
操作系统大型试验。
二、目的
用C++编写出一个简单的模拟文件系统,实现目录的添加、删除、重命名,文件的添加、删除、重命名、文件和目录、文件的拷贝。
三、要求
开发工具:word,vc win32api
1.设计和实现一个简单的文件系统,要求包括目录、普通文件和文件的存储
2.文件系统的目录结构采用类似Linux的树状结构;
3.要求模拟的操作包括:
a)目录的添加、删除、重命名;
b)目录的显示(列表)
c)文件的添加、删除、重命名
d)文件和目录的拷贝
4.用户进入时显示可用命令列表;用户输入help时显示所有命令的帮助文档; 输入某个命令+?时显示该条命令的使用说明
5.用户输入exit时退出该系统
6.实验实现基于windows平台;
7.实验开发语言可以选用C/c++等
四、设计
1.主要思路说明
本模拟系统通过一个大小固定的数组要代表物理盘块,假设共有1024块,新增目录占一块,新增文件占一块,文件中可输入内容,内容假设定义为5个字符占一块,超出则应新申请空间。模拟物理盘块的数组中,数组内容为-99代表改物理盘块内容为空,可使用,其他数字均代表该物理盘块被占用,其中-3代表是占用文件的末结点,其他整数代表是文件内容的下一个寻址下标,另有一个string类型的数组来存储内容,模拟文件写入了对应下标的物理盘块中。设置了一个全局指针指向根结点,一个全局指针指向当前操作目录。搜索空白物理盘块时采用顺序搜索物理盘块数组。存储形式主要采用类似二叉树结构,如目录为根,目录下的第一个文件或目录存在根的子节点,目录下的其他文件或目录存在第一个文件或目录的兄弟节点,以此类推。
本程序仅seperate()函数使用现成代码,此函数功能为将输入命令串分离,仅仅起到美观作用,其余所有代码均为原创!
2.申优功能:
1)能实现动态增长,即当输入文件的内容大小大于分配的模拟物理盘块时系统能够自动寻找空物理盘块并分配,将超出的内容保存在新的物理盘块中,若超出模拟磁盘大小,则超出部分不保存且返回提示。
2)能实现级联删除,即当删除目录(文件夹)时,目录下的所有内容也应当删除并正确释放物理盘块空间。
3)能实现目录的复制,即复制目录时(文件夹)时,该目录下的所有文件和目录也应准确复制至目标目录中,并正确分配物理盘块空间。
3.主要函数和类的定义
1)主要函数定义
#define show_bnum 20 //显示物理盘块的块数
#define block_size 1024 //物理盘块块数
int block[block_size]; //假设有block_size块物理盘块
string content[block_size]; //存放文件内容
int Msize=5; //此处为模拟磁盘大小为输入5个字符
fnode *root=new fnode(WP:,0,0); //设置根目录
fnode *current_path=new fnode(); //当前路径
fnode *seek_flag=new fnode(); //作为查找标志
fnode *cp_flag=new fnode(); //作为复制的位置标志
void initialize(); //初始化
int seekTarget(string name); //搜索文件或目录
int seek_log(string name); //搜索目录
void delete_node(string name); //删除节点
int freeblock(fnode *); //释放物理盘块
int seekfreeblock(); //搜索可用物理盘块
void show_current_path(); //显示当前路径
void add_file(string name,int t); //增加目录、文件
void show_curpath_all(); //显示当前目录下的所有文件
void rename_file(string Oname,string Nname); //重命名
void seperate(); //分离命令
void cd(); //进入目录
void add_File(); //增加文件功能入口
void add_Log(); //增加目录功能入口
void delete_file(); //删除文件或目录功能入口
v
您可能关注的文档
最近下载
- 2025年设备监理师设备合同价款调整事件的处理专题试卷及解析.pdf VIP
- 2025年江门市直遴选考试真题汇编及答案解析(夺冠).docx VIP
- (高清版)DB13∕T 2936-2019 浆砌石工程检测技术规程.docx VIP
- 12D8 河北《 内线工程》标准图集.docx VIP
- 肺囊肿的症状ppt模板.pptx VIP
- 去甲肾上腺素的护理措施.doc VIP
- 2024年江门市直遴选笔试真题汇编含答案解析(夺冠).docx VIP
- 房建项目施工进度计划管理.docx VIP
- 建筑工程内业资料全套范本(表格类).doc VIP
- 内蒙古民族大学《计算机基础与C语言》2024-----2025学年期末试卷(A卷).pdf VIP
原创力文档

文档评论(0)