模拟磁盘文件管理系统
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
模拟磁盘文件管理系统
一、任务描述
模拟实现一个文件管理系统
开发语言:C++、C语言、java
开发工具:自选
要求
1、可以实现一下命令(以下命令至少实现5条):
●login 用户登录
●dir 列文件目录
●create 创建文件
●delete 删除文件
●open 打开文件
●close 关闭文件
●cd 改变目录
●mkdir 创建目录
●rddir 删除目录
●halt 退出系统
2、列目录要求列出文件名、物理地址、文件大小、读写标识
二、任务完成情况
⑴自定义磁盘文件管理的数据结构;
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
⑵能够自由创建、修改、删除文件;
⑶文件具有一定自定义的属性;
⑷能够显示当前系统文件的状态;
(5)能够完成任务后退出系统。
三、系统流程图与函数调用关系
1、类和主要函数
程序中定义了两个类:
(1)class file //文件类
主要功能是对文件属性的定义,文件在虚拟磁盘地址块的定位。
(2)class fdatabase //文件操作类
主要功能是对创建、删除、修改等方法的具体实现。
程序中的主要函数及说明:
char *getname( ) //获取文件名
int gettag( ) //获取删除标记
int getlength() //获取文件大小
int getblocknum() // 磁盘块数
int getblocksum1() //磁盘块号的始点
int getblocksum2() //磁盘块号的终点
void setname(char na[ ] )//设置文件名
void delwenjian()
{ tag=1; } //设置删除标记 1:已删 0:未删
void creatfile(char *na,int L,int num,int s1,int s2) //创建文件
void deltefile(char *na) {tag=1; strcpy(name,na);} //删除文件
void disp( ) //输出文件信息
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
int search(char *fname) //按文件名查找
int creatfile(char *na,int L,int num,int s1,int s2)
//创建文件时先查找是否存在
int deltefile(char *na) //删除文件时先查找是否存在
2、函数流程图
(1)整体流程图
(2)创建文件流程图
3、删除文件流程图
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
4、输出文件流程图
四、系统使用说明与界面设计
(1)、课程设计的模板说明
1、初始化,建立文件系统
输入磁盘大小(G),每个盘块大小(M),自动建立位示图,位示图字长定为32位
输出位示图的行数,以及行号、列号与磁盘块号的转换公式(都从0开始编号)。
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
2、循环选择执行以下功能
1、存储文件
输入建立的文件名和文件大小,如果该文件名已经存在,则输出不能建立的信息否则计算所需的磁盘块数
为其分配足够多的磁盘块,并记录下来
输出所占用的磁盘块号
2、删除文件
输入要删除的文件名,如果该文件名不存在,则输出删除错误信息,
否则收回该文件所占用的磁盘块
删除该文件名
3、显示位示图情况
显示位示图的情况
显示剩余磁盘块的数目
4、显示文件列表
显示文件名,文件大小,占用的磁盘块数目和磁盘块号这样,初始化,建立文件系统完成。运行结果:
(3)程序再输出位示图的剩余盘块数,行数,以及行号、列号与磁盘块号的转换公式(行列皆从0开始编号);
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
2、选择执行:存储文件,删除文件,显示位示图情况,显示文件列表
显示文件系统管理列表,并提示输入信息1——4。用户输入文件操作命令1(存储文件),2 (删除文件)、3(显示位示图情况)、4(显示文件列表);
格式如下:键入1,创建文件名为fname,大小为L(MB)的文件;
键入2,删除文件名为fname的文件;
键入3,显示位示图情况;
键入4,显示所有文件信息。
运行结果:
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
(2)、存储文件
建立文件名为jike大小为200(MB)的文件:
再建立文件名为wo大小为20(MB)的文件后显示文件列表:
显示位示图情况:
(3)、删除文件
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
输入要删除的文件名,如果该文件名不存在,则输出删除错误信息,否则收回该文件所占用的磁盘块,删除该文件名
文件名不存在时:
成功删除jike文件:
显示删除后剩余磁盘块的数目:
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
(4)、退出系统
五、结论与体会
在本次课程设计刚刚开始时,不知道怎么设计。后来认真阅读课本有关的知识,知道怎样设计才方便文件操作。知道怎样设计后,写程序时也遇到很多的障碍,特别是出错处理。此时深感自己编程能力的不足,经过多次修改,终于设计好了该设计。自己通过查找资料、复习课本、编程调试,写实验报告等环节,进一步掌握了以前学到的知识,并且还对操作系统应用有了更深入的认识与掌握。
通过该课程设计,使我们更了解了课本知识,巩固了课本知识,同时也使我们的编程能力有了一定的提高,我认实到学好计算机要重视实践操作,不仅仅是学习c++语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。
六、附录
出现源代码
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
#include<iostream.h>
#include <math.h>
#include<iomanip.h>
#include<string.h>
#include<fstream.h>
#include <stdio.h>
#include <stdlib.h>
int i=0,j=0,sum=0,tt=0,r,ii,k,g,m;
int a[100][32];
class file//文件类
{private:
int no; //文件编号
char name[10]; //文件名
public:
int tag; //删除标记 1:已删 0:未删
file( ){ }
char *getname( ){return name;} //获取姓名
int gettag( ){return tag;} //获取删除标记
int getno() {return no;} //获取文件编号
int getlength() {return length;} //获取文件大小int getblocknum() {return blocknum;} // 磁盘块数
int getblocksum1()//磁盘块号的始点
{ return blocksum1; }
int getblocksum2()//磁盘块号的终点
{ return blocksum2;}
int length; //文件大小
int blocknum;//盘块数
操作系统课程设计,模拟磁盘文件管理系统,后含完整代码。
int blocksum1;//所占盘块 …… 此处隐藏:4854字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




