资源简介
在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。在退出该文件系统的使用时,应将该虚拟文件系统以一个Windows 文件的方式保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。
文件存储空间的分配可采用显式链接分配或其他的办法。
空闲磁盘空间的管理可选择位示图或其他的办法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,那么可以将位示图合并到FAT中。
文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。
要求
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#define BLOCKSIZE 1024 //磁盘块大小
#define SIZE 1024000 //虚拟磁盘空间大小
#define END 65535 //FAT中的文件结束标志
#define FREE 0 //FAT中盘块空闲标志
#define ROOTBLOCKNUM 2 //根目录区所占盘块总数
#define MAXOPENFILE 10 //最多同时打开文件个数
#define MAXFCB 32 //在一磁盘块种最多的文件控制块数
typedef struct FCB //仿照FAT16设置的 占32位
{
char filename[11]; //文件名
unsigned long time; //文件创建时间
unsigned long data; //文件创建日期
unsigned short first; //文件起始盘块号
unsigned long length; //文件长度(字节数)
char attribute; //文件属性字段:为简单起见,我们只为文件设置了两种属性:
//值为0时表示目录文件,值为1时表示数据文件
char nextdirectory; //表示目录项是否为空,若值为-1,表示空,值为不为-1,表示已分配
char nextfile; //-1表结束文件链表,不为-1,表下一个文
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-12-26 14:35 NTFS_t\
目录 0 2013-01-04 12:35 NTFS_t\Debug\
文件 74752 2012-12-26 14:35 NTFS_t\Debug\NTFS_t.bsc
文件 213055 2012-12-26 14:35 NTFS_t\Debug\NTFS_t.exe
文件 213684 2012-12-26 14:35 NTFS_t\Debug\NTFS_t.ilk
文件 233904 2012-12-23 19:48 NTFS_t\Debug\NTFS_t.pch
文件 508928 2012-12-26 14:35 NTFS_t\Debug\NTFS_t.pdb
文件 54501 2012-12-26 14:35 NTFS_t\Debug\main.obj
文件 0 2012-12-26 14:35 NTFS_t\Debug\main.sbr
文件 1024008 2013-01-04 12:35 NTFS_t\Debug\myfsys.dat
文件 41984 2012-12-30 19:07 NTFS_t\Debug\vc60.idb
文件 53248 2012-12-26 14:35 NTFS_t\Debug\vc60.pdb
文件 4286 2012-12-15 22:41 NTFS_t\NTFS_t.dsp
文件 246 2012-12-30 19:07 NTFS_t\NTFS_t.plg
文件 1024008 2012-12-26 14:34 NTFS_t\disk.dat
文件 29636 2012-12-26 14:35 NTFS_t\main.cpp
文件 22487 2012-12-23 22:53 NTFS_t\mainddd.cpp
文件 1024008 2012-12-26 14:35 NTFS_t\myfsys.dat
- 上一篇:教务管理系统论文+设计
- 下一篇:Dell风扇监控调速 绿色汉化版
相关资源
- c++和delphi 实现 屏幕传输/远程桌面/远
- 实验2 用链表实现学生健康情况管理系
- 马的遍历数据结构
- 网段计算器 计算输入的IP地址所在网
- 信息检索-索引的建立作业
- 程序按钮图标
- FAT32文件系统实现
- SHA512源码
- 山东大学软件学院数据结构实验报告
- 编译原理——词法分析代码
- Qt写的UDP组播服务端
- 基于qt编写的图片浏览器
- 教室占座系统
- 文件管理系统-操作系统课程设计
- 一些有用的函数
- 物流货仓管理系统
- VC启用禁用网卡 支持win7等64位系统
- CT图像生成STL文件的程序
- 基于Brep的扫成与欧拉操作源码
- 操作系统的实验作业之文件管理
- QT画图工具的简单实现
- 操作系统实验 cpu调度算法
- 基于IFC格式的BIM文件结构库
- 全国交通咨询程序
- 类Unix的文件管理系统课设
- 模拟实现单级目录的FAT文件系统.doc
- qt 读取文件绘制波形
- 适用监控设备用的专业U盘和硬盘格式
- 纯verilog读写SD,SD模式,FAT格式
- BasicExcel.zip
评论
共有 条评论