文件系统

一、文件系统

操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

“全球网络存储工业协会(Storage Networking Industry AssociationSNIA)”这样定义文件系统的,它是“在一个或多个物理或虚拟磁盘的地址空间上使用结构方法的软件组件。”

文件系统由三部分组成:与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

简单的说文件系统就是文件管理程序(文件和目录的集合)+它所管理的全部文件。

系统运行中文件系统具有下面的优点:

1)层次目录结构的文件系统易于扩充,即易于加大文件系统的空间;

2)从特性上讲,它可以放在磁盘的任何位置上,没有位置的限制;

3)管理一个文件系统比管理这个文件系统中的每一个目录更有效、更方便;

4)通过文件系统可以限制用户对存储空间的使用,防止用户无限制地使用存储空间;

5)能够保证整个文件系统结构的完整性,当一个文件系统出现问题,不会影响到其他文件系统;

6)文件系统按名存取文件,用户只提供文件名,文件系统会在相应的物理硬盘上建立一个文件,或者从物理硬盘上读出一个文件,用户不用知道文件在物理硬盘上的具体位置,只需知道文件名和文件所在目录;

7)文件系统对文件有保护、保密措施,安全可靠;

8)可以实现文件共享,节省空间和时间开销。

二、文件系统的类型

1FAT文件系统(MS-DOS文件系统、msdos

它是MS-DOS操作系统使用的文件系统,它也能由Windows98/NTlinuxSCOUNIX等操作系统访问。文件地址以FAT表结构存放,文件目录32B,文件名为8个基本名加上一个“.”3个字符扩展名。

2FAT32文件系统(vfat

它是Windows98使用的扩展的DOS文件系统,它在MS-DOS文件系统基础上增加了对长文件名(最多到256B)支持。

3NTFSNT文件系统)

它是Windows NT操作系统使用的文件系统,它具有很强的安全特性和文件系统恢复功能,可以处理巨大的存储媒体,支持多种文件系统。

4S51K/S52Ksysv

它是AT&T UNIX S V 操作系统使用的1KB/2KB文件系统。

5ext2(二级扩展文件系统)

它是Linux操作系统使用的高性能磁盘文件系统,它是对Minux操作系统中使用的文件系统扩展(ext)的扩展。它支持256字符的文件名,最大可支持到4TB的文件系统大小。

6HPFS(高性能文件系统、hpfs

它是OS/2操作系统使用的文件系统。

7CD-ROM文件系统(iso9660)

它是符合ISO9660标准的支持CD-ROM的文件系统,它有High sierra CD-ROMRock Ridge CD-ROM二种类型。

8UDF通用磁盘格式文件系统

UDF(Universal Disk Format)文件系统是依据光学储存技术协会(Optical Storage Technology Association, OSTA)的通用磁盘格式文件系统规格1.02版所制定的。它提供了对 UDF格式媒体的只读访问(例如DVD光盘)。Windows98提供对UDF文件系统支持。

不过现在的操作系统都会支持很多文件系统,以让用户有更多的选择,像Windows 2000/xp会使用FAT32NTFS文件系统,Windows NT 则支持FAT32NTFSHPFSCD-ROM等多种文件系统。而Linux则更多,共支持大约1 5 种文件系统:extext2xiaminixumsdosmsdosvfatprocsmbncpiso9660sysvhpfsaffsufs,并且,毫无疑问,Linux系统支持的文件系统还会增加。

三、VFS

Linux文件系统有两个主要的特点:一个是它的文件系统支持动态安装(或称挂载),大多数文件系统都可以作为根文件系统的叶子节点被挂在根文件目录树下的子目录下。另一个特点则是文件系统抽象出来的一个通用文件表示层——虚拟文件系统或称做VFS

Linux透明的支持许多不同的文件系统,将各种安装的文件和文件系统以一个完整的虚拟文件系统的形式呈现给用户。

将文件系统的操作和管理纳入统一的框架当中来,使得内核的文件系统接口,如同标准的的文件系统“总线”,让用户通过同一组系统调用来管理和操作不同类型文件系统上的文件。这个统一的、抽象的、虚拟的文件系统接口,被称为VFS(virtual FileSystem Switch)VFS是物理系统与服务之间的一个接口层,它屏蔽各类文件系统的差异,给用户和程序提供一个统一的接口。

VFS是物理文件系统与服务之间的一个接口,它对Linux的每一个文件系统的所有细节进行抽象,使得不同的文件系统在Linux内核以及系统中运行的其它进程看来都是相同的,严格说来VFS并不上一种实际的文件系统,它只存在于内存中,不存在于任何外存空间,VFS在系统启动时建立,在系统关闭时消亡。

VSF使Linux同时安装支持不同类型的文件系统成为可能。

VFS与具体文件系统的关系(图1

四、文件系统的实现

文件系统结构(图2

1.设备驱动程序:负责启动该设备上的I/O操作,处理I/O请求的完成

2.基本文件系统(物理I/O层):处理与磁盘或磁带交换的数据块。

注重的是这些块在外存设备中的位置,而并不知道该文件所涉及的数据或结构的内容。

3.基本I/O管理程序:负责所有文件I/O的开始或结束。选择执行文件的I/O设备,外存的分配,I/O缓冲区的指定

4.逻辑I/O:使用户和应用程序能够访问到记录。

物理I/O层处理的是数据块,逻辑I/O处理的是文件记录。它提供一种通用的记录I/O的能力。

5.访问方法层 :与用户最近的一层。在应用程序和文件系统及保存数据的设备之间提供了一种标准接口。

不同的访问方法反映出不同的文件结构和访问数据的不同方法。

文件系统的实现需要需要一下功能或模块:目录实现、分配方法、空闲空间的管理等。

 

1

2

(操作系统的第三次作业,

   不知道~~~~~~)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值