您当前的位置:首页 > 电脑百科 > 软件技术 > 应用软件

聊聊DOS操作系统中的文件系统FAT12

时间:2020-06-30 11:09:12  来源:  作者:

前面我们更多的集中在linux系统下文件系统的介绍,是时候介绍一下其它文件系统了。今天我们介绍一下windows操作系统下的文件系统,也就是FAT文件系统。严格的来说其实是DOS的文件系统。今天我们介绍一下FAT最古老的版本,FAT12文件系统的内容。

FAT文件系统的磁盘布局

在学习文件系统更多细节之前我们有必要了解一下它的整体磁盘布局,也就是数据是如何放置的。这样便于我们对该文件系统进行更加深入的理解。

聊聊DOS操作系统中的文件系统FAT12

 

如上图所示,FAT文件系统分为5个主要区域,分别是引导程序区,FAT1,FAT2,目录文件项和文件数据。其中FAT1和FAT2也就是文件分配表(File Allocate Table),它是FAT文件系统的核心,用于描述磁盘空间的使用情况。需要注意的是,这里的数值只是一个示例,并非固定不变,通常需要根据引导扇区的数据进行计算得到。

引导扇区

引导扇区是Windows操作系统下特有的,包含操作系统引导的作用。对于文件系统而言,这个扇区的作用其实与Linux文件系统的超级块很像,其中包含着对文件系统整体的描述信息。如下图所示是该扇区的前部分内容,其中偏移22的地方描述了FAT表的大小。

聊聊DOS操作系统中的文件系统FAT12

 

可以看出,其实FAT文件系统的磁盘布局是动态的。在图一中描述的偏移信息并非一成不变的,而是在格式化的时候确定的,而且该信息可以在启动扇区中找到。

目录文件项

这里相当于FAT文件系统的根目录。所有的文件或者目录都要以这里为起始位置。这里每个文件或者目录都是通过下面这个结构图描述的。这里面包含文件名称,扩展名,文件属性和文件的数据位置等内容。

聊聊DOS操作系统中的文件系统FAT12

 

上述数据结构与Linux中的inode类似,可以看出每一项占用32字节的空间。这样磁盘布局中的目录文件项空间就可以细化成下图这样。其中每一个方块代表上图中的一个数据结构。这个数据结构里面比较重要的内容是文件名和文件数据的首地址。

聊聊DOS操作系统中的文件系统FAT12

 

有了文件数据的首地址,我们就知道文件的数据存储在什么地方了。那么其它数据如何找到呢?这个时候就用到文件分配表了。

FAT-文件分配表

如果我们将FAT表放大,对于FAT12来说,它是由很多12位的数字构成。这些12位的数字称为一个FAT表项,每一项与文件数据区的一个簇相对应。这个表项即表示了对应的数据簇是否被使用,又表示了所在文件的下一个数据簇的位置,具体差异由其中的数值表示。

聊聊DOS操作系统中的文件系统FAT12

 

为了便于理解FAT的作用,我们举一个具体的例子,具体如下图所示。假设有个文件file1.txt,我们根据目录文件项知道其其实的簇地址是0x05,这个是该文件第一个簇的位置,然后根据簇地址就能找到FAT中对应的表项。根据表项内容,我们可以知道下一个簇的位置,以此类推,我们可以找到该文件的所有数据。

聊聊DOS操作系统中的文件系统FAT12

 

如果我们简化一下这个结构,其实整个关系就是一个单向链表的关系,我们可以将FAT表项理解为next指针,簇则是data数据。只不过FAT表项和簇是通过地址偏移建立了两者之间的关系。上图可以简化为下图所示的样子。

聊聊DOS操作系统中的文件系统FAT12

 

数据实例分析

我们可以通过实例来分析一下FAT的数据布局情况。假设我们采用Ubuntu18.04平台。此时我们可以通过dd命令生成一个1MB的文件。然后通过loop设备将文件模拟成一个块设备。之后就可以通过mkfs.fat进行格式化了。下面是格式化完后创建的文件。

聊聊DOS操作系统中的文件系统FAT12

 

完成上述操作后,我们其实就相当于在文件中创建了一个FAT文件系统了。然后我们可以通过vim打开这个文件分析其中的数据。比如下面是引导扇区的内容,我们可以将其中的内容与前面表格中相关数据对应来学习,这样我们就可以有更深入的理解。

聊聊DOS操作系统中的文件系统FAT12

 

今天的内容先到这里,希望对大家有所帮助。后面我们专门写一篇文章,介绍如何对磁盘数据进行分析。



Tags:FAT12   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、Fat12 文件格式1. 格式简要说明 Fat12是DOS支持的软盘格式。 FAT全称是文件分配表(File Allocation Table),用来记录存放文件名、起始扇区等文件信息。 除了文件分配表,还...【详细内容】
2020-12-28  Tags: FAT12  点击:(186)  评论:(0)  加入收藏
前面我们更多的集中在Linux系统下文件系统的介绍,是时候介绍一下其它文件系统了。今天我们介绍一下Windows操作系统下的文件系统,也就是FAT文件系统。严格的来说其实是DOS的文...【详细内容】
2020-06-30  Tags: FAT12  点击:(73)  评论:(0)  加入收藏
▌简易百科推荐
ACDSee Pro 2.5 和ACDSee 2009(也就是 ACDSee 11)这两个版本,虽然图标最丑,但却是最适合目前使用的版本。(以前的ACDSee 3.1是第三方改装版,现在出现不稳定了,经常提示插件错误,虽...【详细内容】
2021-12-27  周星骋Cheng    Tags:ACDSee   点击:(5)  评论:(0)  加入收藏
IT之家 12 月 23 日消息,百度地图今日宣布,第二代车道级导航正式上线。据介绍,百度地图第二代车道借助北斗 + 5G,在实现全程车道级导航效果的基础上,全面升级最优车道推荐、全 /...【详细内容】
2021-12-24  IT之家    Tags:百度地图   点击:(11)  评论:(0)  加入收藏
推荐12款不用安装就能免费用的神仙软件,每一款都是百里挑一! 一、文件存储与传输1.不限量网盘地址:https://transferkit.io/一个在线云存储网盘,它提供了不限量的云存储空间,单文...【详细内容】
2021-12-17  牛片网    Tags:软件   点击:(15)  评论:(0)  加入收藏
古人说:凡事预则立不预则废,对于我们当代人来说,做好工作计划,更是职场人高效工作的第一步,所以计划对于我们的重要性不言而喻…… 工作表格模板汇总正是因为有了工...【详细内容】
2021-12-15  吴六柒    Tags:工作表格   点击:(34)  评论:(0)  加入收藏
当我们浏览知乎、Youtube、贴吧、CSDN等等,总会遇到服务商一些广告;复制文章的时候,剪切板总是自带一些版权信息;还有一些网页配色很亮,眼睛看着很不舒服。反正就是各种不爽。给...【详细内容】
2021-12-08  小皮虾Pro    Tags:浏览器   点击:(27)  评论:(0)  加入收藏
来源:AirPython作者:星安果 1. 前言大家好,我是安果!之前推荐过很多优秀的 Web 自动化工具,比如:Selenium、Helium、Cypress、Pyppeteer 等利用它们实现自动化的前提是必须安装依...【详细内容】
2021-11-30  CDA数据分析师    Tags:Automa   点击:(31)  评论:(0)  加入收藏
概述superset是由Airbnb开源的轻量级BI分析工具。主要有三大功能:使用数据可视化来探索你的数据,通过交互式的Dashboard来查看你的数据,通过Sql Lab来编写sql查询你的数据。特...【详细内容】
2021-11-30  新视像    Tags:Superset   点击:(21)  评论:(0)  加入收藏
媒体爆料称:近期,老牌音乐播放器Winamp宣布回归,官方网站也大改后重新上线。官方表示:不只是简单更新而是全面重制。新的Winamp 将推出适用于 Windows、macOS 和移动平台的多合...【详细内容】
2021-11-26    中关村在线  Tags:Winamp   点击:(23)  评论:(0)  加入收藏
新版高德地图上线 ADAS 预警导航功能,借助视觉 AI 技术,可智能识别前方车辆、行人,并提供碰撞预警、车道偏离等多种安全提醒,防止风险的发生。 在小联的调研中,只有6%的车机体验...【详细内容】
2021-11-23  手机互联    Tags:高德地图   点击:(144)  评论:(0)  加入收藏
朋友委托我帮忙看看可用邮箱大全有哪些?好用的企业邮箱是多少?他公司要开通企业邮箱。相信很多公司在考虑开通企业邮箱时,都会遇到这样的问题,企业邮箱哪个好?怎样选择合适的企业...【详细内容】
2021-11-11  超级打工人    Tags:企业邮箱   点击:(31)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条