Linux的虚拟文件系统中数据结构的研究.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:4 大小:144KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Linux的虚拟文件系统中数据结构的研究.pdf

Linux的虚拟文件系统中数据结构的研究.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据Linux的虚拟文件系统中数据结构的研究VFS概述沈玉利湛江海洋大学学报对操作系统的其他部分和用户程序来说都是相同的。JournalZhanjiangStudyStructuresofVFSTorvalds在1991年创建以来,由于该系统的源程序可被自由的拷贝、分散和使用,并鼓励其他人进一步对Linux操作系统进行开发。一个通过Internet网络的全球范围内的自发的开发队伍,正在对Linux逐步完善,大有成为主要操作系统之势。本文针对Linux的虚拟文件系统中数据结构进行了较详细的讨论。1由于Linux最重要的特征之一是支持多种不同文件系统。为了能支持多种文件系统,Linux用了一个称为虚拟文件系统(VirtualSystem)的接口层将实际的文件系统同操作系统分离开来。VFS也称为虚拟文件交换(VirtualSwitch)。它屏蔽了不同文件之间的差异,使所有文件系统Linux目前可以支持EXT2、EXT、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、PROC、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS等格式的文件,它们都在Linux内核源程序中提供了支持。VFS将真实的文件系统从系统服务中分离出来,用户程序利用VFS的统一操作界面与每一个具体文件系统相交互,而不必去关心具体操作的哪一种文件系统。VFS实际上是用户进程与实际第21卷第3期OceanUniversity抽要:本文从源代码分析人手.着重讨论了虚拟文件系统中内存的主要数据结构的掏成.其属性的作美薯词:虚拟文件系统数据结构操作系统中围分类号:F301.24文献标识码:A文章绾号;1007—7995(2001)03—0060—04theDataLinux’SEngineering,ZhanjiangUniversity,Zhanjiangsystem自Linux2001年9月(湛ft.海洋大学工程学院.广东堪江524025用,意义及其调用方法.ShenYuli(CollegeGuangdong524025)Abstract:Inthispaper,thestudybeginswithcodes.ThemainmemorydataLinux’svirtualfilediscussed,andfunctions,meaningsandusingmethodseachparametersalsointroduced.Keywords:VirtualOperatingFile收稿日期:2001—03—33作者简价:沈玉利(1956一).男.在读博士,研究方向:计算机安全、模式识别、图像处理VoJ.21No.3Sep.2001sourcestructuresarestructure’s万方数据VFS的结构VFS的主要数据结构文件系统之间的一种接12,为了兼容各种文件系统,VFS定义了一组标准功能,并要求任何一种通过VFS装的文件系统都必须实现这些功能,这些功能包括三个主要部分:文件系统操作,i一节点操作和文件打开操作。在Linux操作系统中,对不同设备的访问是通过不同设备标识符实现的,这很类似UNIX操作系统。在Linux文件系统的/dev/目录下列出了所有设备的标识符。在对不同文件访问时,Linux操作系统会将该设备的文件系统安装到文件系统目录上作为一个目录。操作系统对该设备的文件系统的访问就表现在对该目录的访问。VFS的内核源程序的头文件通常存放在/include/目录下以一.h一为扩展名;其源程序则存放在/fs/目录下以”.C”为扩展名。2Linux的文件系统结构清晰,在用户进程对文件系统提出操作请求后,VFS将内存的数据结构与具体文件系统的数据结构关联起来,同时调用具体的文件系统的操作函数,启动设备的输入/输出操作,实现设备上文件的读取、写回、查找、更改、更新等操作,即由VFS提供的内存节点缓冲区,内存目录项缓冲区,数据块缓冲区提供了内存中操作节点、目录、数据块手段,文件系统尽量在内存中处理文件,减少读取外设的操作次数。操作完成之后,文件系统在适当的时机将调用VFS的更新例程,将改变的数据从内存中全部写回外部设备。3VFS是Linux文件系统的核心,也是多种文件系统的统一操作界面,VFS存在于内存中,它用内存中数据结构表示函数例程处理多种文件系统的数据结构和函数例程,故约定对于VFS的数据结构都称为内存中的数据结构,以与具体文件系统的数据结构相区别。3.1文件系统类型文件系统类型数据结构用来描述每一个被内核支持的文件系统的数据结构,该数据结其中用到的主要属性有:flags该文件系统的名称及属性。super表示该文件系统的超级块读取倒程函数指针。·next表示在文件类型链表上的后继指针。该属性将文件系统中的所有类型的