- 34
- 0
- 约3.73万字
- 约 24页
- 2020-02-26 发布于四川
- 举报
.
文件系统 实验报告
一、 实验目的
了解操作系统中文件系统的原理以及实现方法。
二、 实验方法
通过 FAT12文件系统的解读,了解文件系统的原理和实现。
三、 实验任务
通过对 FAT12文件系统的了解, 编写程序, 读取并列出一个虚拟软盘中文件信
息(文件名、属性、修改时间等) ,以及读取其中的文件内容
四、 实验要点
FAT12文件系统的了解, Linux 系统下文件读写相关系统调用。
五、 实验过程
1. FAT12 文件系统分析
簇是操作系统分配文件空间的基本单位,簇由若干个扇区组成。在 FAT12
文件系统中, 簇号的有效位是 12 位,所以这种文件系统就被称为 FAT12。FAT12
文件系统中大致可以分成五个区,这五个区为:
起始扇区 占用扇区 起始地址 结束地址 分区
0 1 0 0x000001FF 引导区
1 9 0 0x000013FF FAT区
10 9 0 0x000025FF FAT备份区
19 12 0 0x00003DFF 根目录区
31 - 0x00003E00 - 文件数据区
其中,引导区中储存着一些基本的信息。 例如,0x0000000B 和 0x0000000C
两个字节保存着每个扇区的大小, 0x0000000D 保存着每个簇占用多少个扇区。
FAT 区中储存着簇号。在 0 开始的三个字节,分别储存设备类
型标记 (0xF0 为软盘 );第二个第三个字节均为 0xFF,是 FAT标识符。在 FAT12
文件系统中,每个簇占用 12 位,即 1.5 个字节。簇号与地址的对应关系如下
表:
地址偏移 000 001 002 003 004 005
簇序号 000 001 002 003
一个簇号跨越两个字节, 每次读取簇号时读取两个字节, 然后对读出的两
个字节进行位运算处理,得到下一簇的簇序号。
注意,这里同样需要对高低位进行处理, 即使用位计算的方式提取相应的
簇号信息。
根据上述的原理, 可以得出一个函数, 以一个簇号为参数, 返回值为文件
下一个簇号。代码如下:
int getNextClutserId(FILE *fp, short clusterId)
{
.
.
unsigned short tmp, low = 0, high = 0;;
您可能关注的文档
最近下载
- 2025年福建省委党校在职研究生招生考试(当代中国马克思主义)历年参考题库含答案详解.docx VIP
- 2023年上海市高中基础物理知识竞赛试题及答案.pdf VIP
- 四川省学位英语高区分度词汇精讲.pptx VIP
- 2024年上海市高中基础物理知识竞赛试卷及答案(TI杯) .pdf VIP
- 2025扬州工业职业技术学院单招《数学》考试历年机考真题集及完整答案详解【有一套】.docx VIP
- 22J403-1 楼梯 栏杆 栏板(一) (3).pdf VIP
- 人员健康管理制度.doc VIP
- RAZ-G英语绘本Time of Day(带练习册).pdf
- 2025年无锡科技职业学院单招笔试数学试题库含答案解析(5卷).docx VIP
- 集合竞价核心精华笔记(1).pdf
原创力文档

文档评论(0)