如何操作文件的打开关闭修改
操作系统实习1
1. 引言2
1.1 设计目的2
1.2实验内容2
1.3 系统开发 运行环境3
二 系统分析设计3
2.2 基本原理3
2.3 数据结构设计4
2.4 程序流程图5
三 程序代码以及运行结果5
四 实习心得体会10
五 参考文献11
1. 引言
1.1 设计目的
通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现 。
1.2实验内容
为linux系统设计一个简单的二级文件系统。要求做到以下几点:
(1)可以实现下列几条命令(至少4条);
dir 列文件目录
create创建文件
delete删除文件
open 打开文件
close关闭文件
read 读文件
write写文件
(2)列目录时要列出文件名、物理地址、保护码和文件长度;
(3)源文件可以进行读写保护。
提示:
(1)首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。
(2)用户创建的文件,可以编号存储于磁盘上。如file0,file1,file2...并以编号作为物理地址,在目录中进行登记
1.3 系统开发 运行环境
Windows XP 系统, Visual C++ 6.0
二 系统分析设计
2.2 基本原理
本系统是模拟实现多用户多的文件系统,在系统出现登录后 ,输入用户与口令,在用户登录系统后,可以添加2个普通用户。普通用户的命令与系统管理员的系统命令具体实现是一样的。此模拟系统提供了10个命令,并根据命令的含义与要求,用C/C++编程来完成所有具体操作。该系统可以模拟完成用户的登陆和验证,新建文件,打开文件,读文件,写文件,关闭文件,删除文件,查看文件,退出系统,注销用户,切换用户等系统功能。
2.3 数据结构设计
系统管理员
typedef struct user //系统管理员
{ char name[5] ; // 登录用户名
char password[10] ; // 登录密码
}user;
用户文件目录
struct UFD
{ char fname[5];//文件名
char proper[2];//文件属性 ,R或RW
int length;//记录长度
int addr;//文件地址
};
用户已打开文件表
struct UOF
{
char fname[5];//文件名
char proper[2];//文件属性,r或rw
int length;//记录长度
char state[5]; //状态: new, open
int read; //读指针
int write; //写指针
};
主文件目录
struct MFD
{ char Username[5];//用户名
struct UFD UserDirec[L];//用户文件目录
struct UOF OpenUser[S];//已打开文件目录
int count; //每个用户拥有
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库操作系统+文件管理+部分代码在线全文阅读。
相关推荐: