- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统 实验报告 文件管理_精品
昆明理工大学信息工程与自动化学院学生实验报告
( 201 —201 学年 第 二 学期 )
课程名称:操作系统 开课实验室: 年 月 日
年级、专业、班 学号 姓名 成绩 实验项目名称 文件管理 指导教师 教师评语
教师签名:
年 月 日 一、实验目的
用编写和调试一个简单的文件系统,模拟文件管理的。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。要求设计一个的文件系统,。
Help 显示命令帮助
dir 显示当前目录下的文件和文件夹
exit 退出系统
create [文件名]创建文本文件
cdir [目录名]创建文件夹
read [文件名]读取一个文件最多可同时读取五个
close[文件名]关闭一个文件
edit [文件名]编辑一个文件
cd [目录名]进子目录或者上级目录
attr [文件名]显示该文件的属性
del [文件名]删除文件
rename [文件名]重命名
编辑功能流程图
删除文件流程图 创建文件流程图
核心算法:
bool Format(void); //格式化
bool install(void); //装载虚拟硬盘的数据
void login(void); /用户登陆
void showMenu(void);//显示功能菜单
bool onAction(void);//用户选择功能并执行
void createFile(string str);//创建文件
bool read(string str);//读取文件
void editFile(string str);//编辑文件
void Delete(string str);//删除一个文件
数据结构:
/*---------常变量------*/
const unsigned int BLOCK_SIZE=512; //块长
const unsigned int DATA_BLOCK_NUM=512; //数据块数量
const unsigned int DINODE_START=4*BLOCK_SIZE; //inode起始位置
const unsigned int DINODE_SIZE=512; //inode大小
const unsigned int DINODE_NUM=32; //inode数量
const unsigned int DATASTART=(2+DINODE_NUM)*BLOCK_SIZE; //数据区的开始地址
const unsigned int ACCOUNT_NUM=10; //用户数量
/*inode结构体*/
struct inode{
unsigned short di_tag; /*inode标识*/
unsigned short di_number; /*关联文件数,当为0时表示删除文件,如一个目录至少 包含两个文件:.和..*/
unsigned short di_mode; /*存取模式:0为目录,1为文件*/
unsigned short di_userID; /*当前inode所属用户 0为根目录ID,一次下去是管理员目 录、用户目录*/
unsigned short di_access; /*访问权限 0为不允许普通用户访问(公共目录),1为允许 普通用户访问*/
unsigned short di_size; /*文件大小,目录没有大小,值为0*/
unsigned short di_ctime; /* 创建时间 */
unsigned short di_mtime; /* 最后一次修改时间*/
unsigned short di_block[DATA_BLOCK_NUM]; /* 数据块块地址编号 */
};
/**超级块***/
struct super_block{
unsigned short s_inodes_count; /* 文件系统中inode的总数 */
unsigned short s_blocks_count; /* 数据块总数 */
unsigned short s_r_blocks_count; /* 保留块
文档评论(0)