- 13
- 0
- 约5.26万字
- 约 44页
- 2021-07-13 发布于上海
- 举报
.
实验四 文件系统实验
一 . 目的要求
1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从
而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
2、要求设计一个 n 个用户的文件系统,每次用户可保存 m个文件,用户在一次
运行中只能打开一个文件, 对文件必须设置保护措施, 且至少有 Create 、delete 、
open、close 、read 、write 等命令。
二 . 例题:
1、设计一个 10 个用户的文件系统,每次用户可保存 10 个文件,一次运行用户
可以打开 5 个文件。
2、程序采用二级文件目录(即设置主目录 [MFD])和用户文件目录( UED)。另
外,为打开文件设置了运行文件目录( AFD)。
3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指
针,并不进行实际的读写操作。
4 、算法与框图:
①因系统小,文件目录的检索使用了简单的线性搜索。
②文件保护简单使用了三位保护码:允许读写执行、对应位为 1 ,对应位为 0,
则表示不允许读写、执行。
③程序中使用的主要设计结构如下:
主文件目录和用户文件目录( MFD、UFD)
打开文件目录( AFD)(即运行文件目录)
M D F U F D A F D
用户名 文件名 打开文件名
文件目录指针 保护码 打开保护码
用户名 文件长度 读写指针
文件目录指针 文件名
·
·
教育资料
.
文件系统算法的流程图如下:
三 . 实验题:
1、 增加 2 ~3 个文件操作命令,并加以实现。(如移动读写指针,改变文件属
性,更换文件名,改变文件保护级别)。
代码如下:
//1 、增加 2 ~3 个文件操作命令,并加以实现。(如移动读写指针,改变文
件属性,更换文件名,改变文件保护级别)。
#includeiostream
#includestring
#includeconio.h
using namespace std;
教育资料
.
struct TYPE_UFD
{
string File_Name;
bool Read;
bool Write;
bool Execute;
int Length_File;
};
struct TYPE_MFD
{
string User_Name;
TYPE_UFD *Pointer;
};
struct TYPE_AFD
{
int File_ID;
原创力文档

文档评论(0)