第14讲_文件系统_2

发布时间:2024-11-21

操作系统 文件系统

第 十四 讲清华大学软件学院

操作系统 文件系统

6.4 文件系统实例 考察以下四个文件系统实例: MS-DOS文件系统;

Windows 98文件系统;Windows 2000文件系统;

Linux文件系统。2

操作系统 文件系统

6.4.1 MS-DOS文件系统

1. 文件系统的布局引导记录 FAT1 FAT2 数据 根目录 (文件和目录)

MS-DOS磁盘分区的结构 在引导记录的扇区中,记录了文件系统的一些重要 参数,包括:块(簇,cluster)的大小、个数,根 目录项数目,FAT表大小,等等。3

操作系统 文件系统

2. 文件的实现文件控制块FCB保存在文件所对应的目录项中, 目录项的结构为:

每个目录项大小为32字节,包括:文件名(8+3个 字符,不区分大小写)、属性(只读文件、存档 文件、隐藏文件、系统文件)、创建日期和时间、 起始物理块编号、文件长度:

操作系统 文件系统

文件的物理结构采用的是:带有文件分配表FAT 的链表结构。

FAT

操作系统 文件系统

FAT的实现与块的大小在MS-DOS中,FAT文件系统有三种版本:FAT12、FAT-16和FAT-32,这取决于用多少位来表示 一个物理块编号,并决定了FAT表项的宽度。 FAT-32实际上仅使用了28位;FAT表项的个数就等于物理块的个数,即磁盘分 区的大小除以每个块的大小。块的大小可以被设 置为512的倍数,如1KB、 2KB、 4KB等; FAT表的大小=FAT表项的个数×表项宽度; FAT表所能表示的磁盘分区的最大容量: FAT表项的最大个数×块的大小。6

操作系统 文件系统

块大小最大表项数

FAT-12

FAT-16

FAT-32

2122MB 4MB

216

228

0.5KB 1KB

2KB4KB 8KB 16KB 32KB

8MB16MB

128MB256MB 512MB 1024MB 2048MB 1TB 2TB 2TB 2TB7

不同块大小时,FAT所能表示的最大分区容量

操作系统 文件系统

3. 目录的实现目录的逻辑结构采用多级目录结构(树状目录结 构),根目录项的个数不能超过某个固定的最大 值,其他的目录以文件的形式存放,对子目录和 文件的个数无限制; 目录项的内容:目录项=文件名+FCB;

长文件名问题:无;目录的搜索方法:线性搜索,对目录当中的每一 个目录项,依次地与某个文件名进行比较,直到 找到相应的目录项。8

操作系统 文件系统

4. 打开文件与空闲空间管理打开文件管理:系统文件表(SFT, System File Table)和任务文件表(JFT, Job File Table)。 SFT包含系统的所有打开文件; JFT包含该任务(进程)的所有打开文件。 其表项内容是指向SFT表项的索引; SFT的表项数目可由 config.sys文件中的 FILES = 语句来指定,默认是8。 空闲空间管理:使用FAT表来管理空闲空间,若 某个物理块未分配,则相应的FAT表项被标上一 个特殊的值(如0),当系统需要分配一个物理 块时,到FAT表中去搜索此种类型的表项。9

操作系统 文件系统

6.4.2 Windows98文件系统在Windows98文件系统中,采用了 FAT-32和长文件名技术,并保持了与

早期的文件系统

的兼容,即在Windows98中创建的文件,能够在早期的系统

中使用。

操作系统 文件系统

1. 目录项的结构

在Windows98中使用的是扩展的MS-DOS目录项,利 用了原来保留的10个字节,从而增加了5个新的字段, 即 NT 字段:文件名显示时与Windows NT兼容;Sec 和 Creation time 字段:文件的创建时间;Last access: 最近访问日期;起始块编号变成32位,分开存放。11

操作系统 文件系统

2. 长文件名的实现为保证长文件名的向后兼容,对于每一个文件, 设置两个名字,一个是所需的长文件名,用 Unicode编码;另一个是标准的8+3文件名。这 两个名字均可用来访问该文件;系统自动地将一个长文件名转换为相应的8+3文 件名,转换规则是:保留该文件名的前6个字符 (不包括空格),并把它们转换为大写字符,然 后再加上一个带有编号的后缀,如~1、~2等。 8+3文件名存放在目录项中,而长文件名被存放 在一个或多个额外的目录项中,每个目录项存放 13个字符,并按照反方向位于文件目录项之前;12

操作系统 文件系统

保存长文件名的目录项结构

Checksum

通过属性字段 Attributes 来判断一个目录项是一个普 通的文件目录项,还是专门用于存放长文件名; Sequence字段:记录了一个长文件名的目录项编号, 最后一个目录项(位于最开始)的编号被加上0x40 以示区别; Checksum:验证长文件名与文件目录项是否匹配。13

操作系统 文件系统

一个长文件名的例子

长文件名:“The quick brown fox jumps over the lazy dog”; 8+3文件名:“THEQUI~1”。14

操作系统 文件系统

6.5 Windows 2000 的文件系统Windows 2000支持的文件系统:CDFS:CD-ROM File System,只读存储介质CDROM的格式标准,简单、功能有限。如文件名和 目录名的长度不能超过32个字符;目录树的深度不 能超过8层;

UDF:Universal Disk Format,只读存储介质 DVD-ROM的格式标准,是CDFS的替代格式。支 持255个字符的长文件名,最大的路径名长度为 1023个字符,文件名区分大小写;15

操作系统 文件系统

FAT 12、FAT16和FAT32:主要为了系统的升级和 兼容,并作为软盘的文件格式;– FAT12:用12位描述一个块号(簇,cluster), 主要用作软盘的文件格式; – FAT16:用16位来描述一个簇。根据磁盘分区 的大小,簇的大小可以从512字节到64KB; – FAT32:用28位来描述一个簇,根据磁盘分区 的大小,簇的大小可以为4、8、16、32KB。而 且根目录没有大小的限制。 NTFS:NT File System,Windows NT和Windows 2000所固有的文件系统。16

第14讲_文件系统_2.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219