Linux的虚拟文件系统中数据结构的研究.pdf
《Linux的虚拟文件系统中数据结构的研究.pdf》由会员分享,可在线阅读,更多相关《Linux的虚拟文件系统中数据结构的研究.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2 1 卷第3 期2 0 0 1 年9 月湛江海洋大学学报J o u r n a lo fZ h a n j i a n gO c e a nU n i v e r s i t yV o J 2 1N o 3S e p 2 0 0 1L i n u x 的虚拟文件系统中数据结构的研究沈玉利(湛f t 海洋大学工程学院广东堪江5 2 4 0 2 5抽要:本文从源代码分析人手着重讨论了虚拟文件系统中内存的主要数据结构的掏成其属性的作用,意义及其调用方法美薯词:虚拟文件系统数据结构操作系统中围分类号:F 3 0 1 2 4文献标识码:A文章绾号;1 0 0 7 7 9 9 5(2 0 0 1)0
2、3 0 0 6 0 0 4S t u d yo ft h eD a t aS t r u c t u r e so fL i n u x SV F SS h e nY u l i(C o l l e g eo fE n g i n e e r i n g,Z h a n j i a n gO c e a nU n i v e r s i t y,Z h a n j i a n gG u a n g d o n g5 2 4 0 2 5)A b s t r a c t:I nt h i sp a p e r,t h es t u d yb e g i n sw i t ht h es o u r
3、 c ec o d e s T h em a i nm e m o r yd a t as t r u c t u r e so ft h eL i n u x sv i r t u a lf i l es y s t e ma r ed i s c u s s e d,a n dt h ef u n c t i o n s,m e a n i n g sa n du s i n gm e t h o d so fe a c hs t r u c t u r e sp a r a m e t e r sa r ea l s oi n t r o d u c e d K e yw o r d s
4、:V i r t u a lf i l es y s t e mD a t as t r u c t u r e sO p e r a t i n gs y s t e m自L i n u xT o r v a l d s 在1 9 9 1 年创建以来,由于该系统的源程序可被自由的拷贝、分散和使用,并鼓励其他人进一步对L i n u x 操作系统进行开发。一个通过I n t e r n e t 网络的全球范围内的自发的开发队伍,正在对L i n u x 逐步完善,大有成为主要操作系统之势。本文针对L i n u x 的虚拟文件系统中数据结构进行了较详细的讨论。1V F S 概述由于L i n
5、u x 最重要的特征之一是支持多种不同文件系统。为了能支持多种文件系统,L i n u x 用了一个称为虚拟文件系统(V i r t u a lF i l eS y s t e m)的接口层将实际的文件系统同操作系统分离开来。V F S 也称为虚拟文件交换(V i r t u a lF i l eS w i t c h)。它屏蔽了不同文件之间的差异,使所有文件系统对操作系统的其他部分和用户程序来说都是相同的。L i n u x 目前可以支持E X T 2、E X T、X I A F S、I S O F S、H P F S、M S D O S、U M S D O S、P R O C、S Y S
6、V、M I N I X、S M B、U F S、N C P、V F A T、A F F S 等格式的文件,它们都在L i n u x 内核源程序中提供了支持。V F S 将真实的文件系统从系统服务中分离出来,用户程序利用V F S 的统一操作界面与每一个具体文件系统相交互,而不必去关心具体操作的哪一种文件系统。V F S 实际上是用户进程与实际收稿日期:2 0 0 1 0 3 3 3作者简价:沈玉利(1 9 5 6 一)男在读博士,研究方向:计算机安全、模式识别、图像处理万方数据万方数据第3 期沈玉利:L i n u x 的虚拟文件系统中数据结构的研究6 1文件系统之间的一种接1 2,为了兼容
7、各种文件系统,V F S 定义了一组标准功能,并要求任何一种通过V F S 装的文件系统都必须实现这些功能,这些功能包括三个主要部分:文件系统操作,i 一节点操作和文件打开操作。在L i n u x 操作系统中,对不同设备的访问是通过不同设备标识符实现的,这很类似U N I X 操作系统。在L i n u x 文件系统的d e v 目录下列出了所有设备的标识符。在对不同文件访问时,L i n u x操作系统会将该设备的文件系统安装到文件系统目录上作为一个目录。操作系统对该设备的文件系统的访问就表现在对该目录的访问。V F S 的内核源程序的头文件通常存放在i n c l u d e 目录下以一
8、h 一为扩展名;其源程序则存放在f s 目录下以”C”为扩展名。2V F S 的结构L i n u x 的文件系统结构清晰,在用户进程对文件系统提出操作请求后,V F S 将内存的数据结构与具体文件系统的数据结构关联起来,同时调用具体的文件系统的操作函数,启动设备的输入输出操作,实现设备上文件的读取、写回、查找、更改、更新等操作,即由V F S 提供的内存节点缓冲区,内存目录项缓冲区,数据块缓冲区提供了内存中操作节点、目录、数据块手段,文件系统尽量在内存中处理文件,减少读取外设的操作次数。操作完成之后,文件系统在适当的时机将调用V F S 的更新例程,将改变的数据从内存中全部写回外部设备。3V
9、 F S 的主要数据结构V F S 是L i n u x 文件系统的核心,也是多种文件系统的统一操作界面,V F S 存在于内存中,它用内存中数据结构表示函数例程处理多种文件系统的数据结构和函数例程,故约定对于V F S 的数据结构都称为内存中的数据结构,以与具体文件系统的数据结构相区别。3 1 文件系统类型文件系统类型数据结构用来描述每一个被内核支持的文件系统的数据结构,该数据结s t r u c tf i l e s y s t e mt y p e c o n s tc h a r。n a m e;i n tf sf l a g s;s t r u c ts u p e rb l c o
10、 k(r e a ds u p e r)(s t r u c ts u p e rb l o c k。v o i d+,i n t);s t r u c tf i l es y s t e mt y p e。n e x t;)其中用到的主要属性有:n a m e f sf l a g s 该文件系统的名称及属性。r e a ds u p e r 表示该文件系统的超级块读取倒程函数指针。n e x t 表示在文件类型链表上的后继指针。该属性将文件系统中的所有类型的文件系统连接成一个文件类型链表3 2V F S i-节点文件系统中所有的普通文件,设备特殊文件,链接和目录都用节点唯一表示和标识的,不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 虚拟 文件系统 数据结构 研究
限制150内