教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 资料大全 >

二级目录的文件系统模拟

来源:网络收集 时间:2025-11-15
导读: 操作系统课程设计 文件系统模拟 实验时间:第9~16周 一 、实验内容 模拟采用二级目录结构的磁盘文件系统中 的文件操作。二、实验目的掌握文件子系统的原理,加深对二级目录结构的 文件系统中用户管理、文件管理、目录管理的理解, 并用程序实现对文件子系统

操作系统课程设计 文件系统模拟

实验时间:第9~16周

一 、实验内容

模拟采用二级目录结构的磁盘文件系统中 的文件操作。二、实验目的掌握文件子系统的原理,加深对二级目录结构的 文件系统中用户管理、文件管理、目录管理的理解, 并用程序实现对文件子系统的模拟。

三、实验要求:实现的命令: Chmod Chown Mv Copy Type filename mode filename new_owner srcFile desFile srcFile desFile filename 改变文件权限 改变文件拥有者 改变文件名 文件拷贝 显示文件内容 修改用户口令 Logout Delete 用户登出 filename 删除文件

Passwd oldPwd newPwd Login userName pwd 用户登陆

Create filename mode 建立文件 Open Write Read Help filename mode 打开文件

Close filename 关闭文件

filename buffer nbytes 写文件 filename buffer nbytes 写文件 dir 列出该用户下所有文件 显示本系统命令

四、实验指导

1.基本思想:用一个disk.txt 文件模拟一 个物理硬盘, 通过对该文件的一系列操作, 模拟文件系统中对文件的各种操作。因此, 大型实验中所有的文件操作均对disk.txt文 件进行。

2.物理盘块的设计以一个文本文件disk.txt模拟硬盘,设定硬盘容量分为 100个物理块,每个物理块的大小512字节,盘块之间用 (‘\n’)分割。因此一个盘块:512字节数据+1字节(‘\n’)分 割符=513字节,则disk.txt 长度=51300( 100×513 ) +1字节(文件结束符)=51301字节 。 100块盘块的分布: 1#: MFD块,存放MFD信息; 2-17#: UFD块,存放UFD信息; 18-33#: UOF块,存放UOF信息; 其余物理块用于存放文件内容。

1#:硬盘的第1个物理块固定用于存放主文件目录MFD。 MFD结构 typedef struct mfd{ username ;///用户名 14B userpwd ; 密码14B link; //该用户的UFD所在的物理块号(4B) }MFD; 每个MFD项占32字节,因此,1个物理块可存放512/32=16个 MFD(用户),即本文件系统最多可管理16个用户。如下所示:

用户名 Peter Ben

密码 12345 Abc

用户文件目录地址 3 5

2#-17#物理块:固定用于存放用户文件目录UFD。假 设一个用户需要一个UFD块,因此,16个用户共需 要16个UFD块。 typedef struct { filename //文件名14B; mode; ///文件权限0-readonly;1-writeonly;2-read/write length; ///文件长度(以字节数计算) addr;//该文件的第1个文件块对应的物理块号 }UFD; 一个UFD项设为32 Bytes,一个块可存放16个 UFD项。则,一个用户最多可创建16个文件filename mode length addr

A

1

3

50

17#-33#物理块:固定用于存放主文件目录UOF, 假定一个用户需要一个块存放UOF,一个UOF项占32 字节,则一个块可存放512/32=16个UOF,即一个用 户可同时打开的文件数为16个。用户已打开 表”(UOF), 用以说明用户当前正在使用文件的情况

.如果用户最多 同时找开或建立16个文件,则用户已打开文件表UOF 应 该有16个登记栏,结构如下:

文件名 文件属性

状态 (打开/建立)

读指针 写指针

应该为16个登记栏 用户请求打开或建立一个文件时,相应的文件操 作把有关该文件的信息登记到UOF中,读指针和 写打针用于指出对文件进行存取的相应位置.mode length addr

34#-100#:数据块(物理块),用于存放文件内 容;为了实现物理块的分配和回收,程序始终维护一个 空闲物理块表,以物理块号从小到大排列。物理块以链 接分配方式,以最先适应法从空闲表中分配。数据结构: 物理块: typedef struct cluster {Num ;////物理块号 long nextcluster;/////指向下一物理块号 }Cluster;

3. 二级目录结构主文件目录MFD

用户名

用户文件目录地址

用户文件目录UFD

文件名 文件属性

文件起始块

文件长度

4. 文件系统的主要功能假定文件系统提供的文件操作有建立文件(create)、 打开文件(open)、关闭文件(close)、显示文件 (type)、写文件(write)和删除文件(delete)。在模 拟程序,用户先login,然后从键盘上输入文件操作命 令来模拟各用户程序中所调用的各种文件操作,最 后用logout退出系统。程序的结构可参考:

用输入命令来模拟文件 操作格式如下 1)创建文件 fd=Create (filename,mode) 显示“建立成功”,并 返 回fd(一个非负整数)。

2)打开文件 fd= Open(filename, mode)约定处于建立状态 的文件不允许打开。 显示“打开成功”, 并返回fd(一个非 负整数。

3)写文件 Write(filename, buffer,nbytes) 或Write(fd, buffer,nbytes ):将buffer中的 nbytes写入fd指定 的文件中。执行 Create后可写。 Open后写(修改 或追加) 用显示写入的 buffer内容和写入 的块号来模拟。

…… 此处隐藏:736字,全部文档内容请下载后查看。喜欢就下载吧 ……
二级目录的文件系统模拟.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/2193976.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)