第10章-操作系统-LINUX文件系统方案.ppt

上传人(卖家):晟晟文业 文档编号:4422332 上传时间:2022-12-08 格式:PPT 页数:43 大小:866.50KB
下载 相关 举报
第10章-操作系统-LINUX文件系统方案.ppt_第1页
第1页 / 共43页
第10章-操作系统-LINUX文件系统方案.ppt_第2页
第2页 / 共43页
第10章-操作系统-LINUX文件系统方案.ppt_第3页
第3页 / 共43页
第10章-操作系统-LINUX文件系统方案.ppt_第4页
第4页 / 共43页
第10章-操作系统-LINUX文件系统方案.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、第10章 LINUX文件系统10.1 LINUX文件系统的特点与文件类别10.2 LINUX的虚拟文件系统10.3 文件系统的注册和挂装10.4 进程与文件系统的联系10.5 ext2文件系统10.6 块设备启动10.7 字符设备启动本章小结习题10.1 LINUX文件系统的特点与文件类别文件系统的特点与文件类别 10.1.1 特点特点 从用户的角度看,从用户的角度看,LINUXLINUX文件系统具文件系统具有如图有如图10.110.1所示的树形层次结构:所示的树形层次结构:在图中,根目录在图中,根目录rootroot之下有之下有devdev设备子目设备子目录,录,binbin实用程序子目录,

2、实用程序子目录,liblib库文件子库文件子目录,目录,tmptmp临时文件子目录,临时文件子目录,usrusr通用子通用子目录等。目录等。图图10.1 LINUX10.1 LINUX文件系统的层次结构例文件系统的层次结构例bin boot dev etc home lib media mnt proc root sbin sys tmp usr 用户文用户文件主目件主目录录bin doc etc include lib local Zhang liu 路径名确定一个文件在文件系统路径名确定一个文件在文件系统中的位置。中的位置。一个完整的路径名由代表根目录一个完整的路径名由代表根目录的斜杠开始

3、,到所指定的文件为止。的斜杠开始,到所指定的文件为止。例如在图例如在图10.110.1中,中,“/usr/bin/man/usr/bin/man”确确定了文件定了文件 manman在文件系统中的位置。在文件系统中的位置。(绝对路径绝对路径)路径名也可从正在执行进程的当前路径名也可从正在执行进程的当前目录开始指定,例如,若在图目录开始指定,例如,若在图10.110.1中中的当前目录是的当前目录是zhang zhang 的话,路径名的话,路径名 a.txta.txt与与/home/zhang/a.txt/home/zhang/a.txt具有相同具有相同的效果。的效果。(相对路径相对路径)LINUX

4、LINUX文件系统特点:文件系统特点:树形结构树形结构 文件是无结构的字符文件是无结构的字符流式流式文件。文件。文件可以动态地增长或减少。文件可以动态地增长或减少。文件数据可由文件拥有者设置相应的访文件数据可由文件拥有者设置相应的访 问权限而受到保护。问权限而受到保护。外部设备,例如终端用磁带、磁盘设备、外部设备,例如终端用磁带、磁盘设备、键盘等都被看作文件。键盘等都被看作文件。l在文件系统中,设备文件占据着文件在文件系统中,设备文件占据着文件系统目录结构中相应的位置,用户程系统目录结构中相应的位置,用户程序按与存取其他文件时所使用的系统序按与存取其他文件时所使用的系统调用和语法来读、写设备文

5、件。调用和语法来读、写设备文件。l用户程序既没有必要知道设备的内部用户程序既没有必要知道设备的内部特性,也不必在更换或增加设备之后特性,也不必在更换或增加设备之后修改自己。修改自己。10.1.2 10.1.2 文件类型文件类型6 6种:种:1.1.普通文件普通文件:存储用户和系统的有关数:存储用户和系统的有关数据和程序的文件。据和程序的文件。它是无结构、无记录概念的字符流式它是无结构、无记录概念的字符流式文件。文件。2.2.目录文件目录文件 是由文件系统中的各个目录是由文件系统中的各个目录所形成的文件。所形成的文件。在形式上同普通文件一样,由系统在形式上同普通文件一样,由系统将其解释成目录。将

6、其解释成目录。在在LINUXLINUX系统中,一个目录文件由系统中,一个目录文件由多个目录项组成,而每个目录项则由多个目录项组成,而每个目录项则由文件名及指示相应的文件索引节点文件名及指示相应的文件索引节点(inode)(inode)的标识符的标识符idid组成。组成。普通文件和目录文件都是无结普通文件和目录文件都是无结构、无记录概念的字符流式文构、无记录概念的字符流式文件。件。3.3.设备文件设备文件与普通文件和目录文件不同,与普通文件和目录文件不同,它除了在目录文件和文件索引节点表它除了在目录文件和文件索引节点表中占据相应的位置外,并不占有实际中占据相应的位置外,并不占有实际的物理存储块。

7、的物理存储块。对设备文件的读、写操作实际上为对设备文件的读、写操作实际上为对设备的操作,而对设备文件的保护对设备的操作,而对设备文件的保护也将变成对设备的保护。也将变成对设备的保护。例如:例如:#cp/dev/tty1 terminalread#cp/dev/tty1 terminalread把在第一个终端上敲进的字符把在第一个终端上敲进的字符(设备文件设备文件/dev/tty1/dev/tty1是用户终端是用户终端1)1)读入,并把读入,并把它们复制到文件它们复制到文件 terminalreadterminalread上。上。4.4.有名管道(有名管道(FIFOFIFO)5.5.软链接软链接

8、6.UNIX6.UNIX域套接字域套接字10.2 LINUX虚拟文件系统虚拟文件系统10.2.1 虚拟文件系统虚拟文件系统VFS框架框架 LINUXLINUX内核使用虚拟文件系统内核使用虚拟文件系统VFSVFS(Virtual File SwitchVirtual File Switch)。)。给用户提供文件系统接口,使用多个不给用户提供文件系统接口,使用多个不同的文件系统。同的文件系统。lVFSVFS提供一个抽象基类,由这个基类派提供一个抽象基类,由这个基类派生的子类支持具体的文件系统。生的子类支持具体的文件系统。l支持的文件系统有:支持的文件系统有:a.a.基于磁盘的文件系统:基于磁盘的文

9、件系统:ext2ext2,ext3ext3,reiserfsreiserfs,JFSJFS,XFSXFS等;等;UNIX SYSTEM UNIX SYSTEM V V 的文件系统;微软的的文件系统;微软的MS-DOSMS-DOS,vfatvfat及及ntfsntfs;ISO 9660ISO 9660光盘文件系统等。光盘文件系统等。b.b.基于网络的文件系统,如基于网络的文件系统,如NFSNFS,SMBSMB,OCFSOCFS等。等。c.c.特殊的文件系统,如特殊的文件系统,如procproc,sysfssysfs。它。它们并不管理真正的磁盘空间,而是通们并不管理真正的磁盘空间,而是通过它们访问

10、内核数据。过它们访问内核数据。10.2.2 LINUX10.2.2 LINUX虚拟文件系统的数据结构虚拟文件系统的数据结构组成:组成:1.1.超级块超级块super-blocksuper-block:存放已挂装文件:存放已挂装文件系统的有关信息系统的有关信息2.2.索引节点索引节点inodeinode:一个具体文件的信息:一个具体文件的信息3.3.文件文件filefile:存放打开文件与进程之间进:存放打开文件与进程之间进行交互的有关信息行交互的有关信息4.4.目录项目录项dentrydentry:保存目录项与相应文件:保存目录项与相应文件进行链接的信息进行链接的信息1.VFS1.VFS的超级

11、块的超级块super-block super-block 每个文件系统分配一个超级块,用每个文件系统分配一个超级块,用双向循环链组成一个链表。双向循环链组成一个链表。主要成员:略主要成员:略 P250P250超级块操作:超级块操作:struct super-struct super-operationsoperations描述,地址存放在描述,地址存放在s_ops_op中。中。每个具体的文件系统,都要提供超每个具体的文件系统,都要提供超级块的具体实现。以实现文件的挂装,级块的具体实现。以实现文件的挂装,卸载,读写卸载,读写inodeinode等。等。2.2.索引节点索引节点inodeinode

12、 存放文件系统处理所需要的所有信息。存放文件系统处理所需要的所有信息。索引节点操作索引节点操作:inode-operation:inode-operation描述。描述。3.3.文件文件filefile 描述的是进程和一个打开文件交互描述的是进程和一个打开文件交互的过程。的过程。当一个文件被打开时创建当一个文件被打开时创建filefile结构。结构。4.4.目录项目录项 dentrydentry 当目录读入内存,当目录读入内存,VFSVFS就把它转换就把它转换为基于为基于dentrydentry的一个目录项对象。目的一个目录项对象。目录项对象将每个目录与其对应的索引录项对象将每个目录与其对应的

13、索引节点相联系。节点相联系。10.4 进程与文件系统的联系 从系统内部的角度来说,需要有相从系统内部的角度来说,需要有相应的数据结构来记录和控制打开文件应的数据结构来记录和控制打开文件的用户进程以及记录和控制那些共享的用户进程以及记录和控制那些共享同一文件的用户进程。为此同一文件的用户进程。为此LINUXLINUX系统系统设置了用户打开文件表和系统打开文设置了用户打开文件表和系统打开文件表。件表。10.4.1 10.4.1 系统打开文件表系统打开文件表l访问文件之前,进程必须打开文件,访问文件之前,进程必须打开文件,open()open()返回一个文件描述符,进程用返回一个文件描述符,进程用该

14、描述符调用该描述符调用readread和和writewrite。l主要用来指明打开同一文件的不同进主要用来指明打开同一文件的不同进程和不同进程所使用的不同打开路径,程和不同进程所使用的不同打开路径,以及这些不同进程和不同打开路径所以及这些不同进程和不同打开路径所对应的读写指针。对应的读写指针。l文件文件 file 结构结构10.4.2 用户打开文件表用户打开文件表 使用用户打开文件表,一个进程可使用用户打开文件表,一个进程可同时打开多个文件。同时打开多个文件。可打开的文件表项可打开的文件表项files_structfiles_struct中含有打开文件的描述符中含有打开文件的描述符fdfd,共

15、享该,共享该表的进程数目表的进程数目countcount等。等。10.4.3 进程的当前目录和根目录l当前目录当前目录l根目录根目录10.5 ext2文件系统lext2ext2文件系统是最经典的文件系统,文件系统是最经典的文件系统,是一个可扩展的功能较强的文件系统。是一个可扩展的功能较强的文件系统。lext2ext2文件系统中的文件信息都保存在文件系统中的文件信息都保存在数据块中。对同一个数据块中。对同一个ext2ext2文件系统而文件系统而言,所有数据块的大小都是一样的,言,所有数据块的大小都是一样的,例如例如40964096字节。但是,不同的字节。但是,不同的ext2ext2文文件系统中数

16、据块的大小可以不同。件系统中数据块的大小可以不同。lext2ext2文件系统将逻辑块划分成块组,文件系统将逻辑块划分成块组,每个块组每个块组重复保存着一些有关整个文重复保存着一些有关整个文件系统的关键信息及实际文件和目录件系统的关键信息及实际文件和目录的数据块。的数据块。引导块引导块块组块组0块组块组1块组块组n超级块超级块 组描述组描述符符数据块数据块位图位图索引节索引节点位图点位图索引节索引节点表点表数据块数据块l系统引导块总是介质上的第一个数据系统引导块总是介质上的第一个数据块,只有根文件系统才有引导程序放块,只有根文件系统才有引导程序放在这里,其余一般文件系统都不使用在这里,其余一般文

17、件系统都不使用引导块。引导块。l超级块中包含有文件系统本身的大小超级块中包含有文件系统本身的大小和形式的基本信息,系统管理员可以和形式的基本信息,系统管理员可以利用这些信息使用和维护文件系统。利用这些信息使用和维护文件系统。每个块组都有一个超级块。每个块组都有一个超级块。10.5.2 ext2文件系统主要的磁盘数据结构1.1.磁盘超级块磁盘超级块ext2_super_blockext2_super_blockl超级块中包含有文件系统本身的大小超级块中包含有文件系统本身的大小和形式的基本信息,系统管理员可以和形式的基本信息,系统管理员可以利用这些信息使用和维护文件系统。利用这些信息使用和维护文件

18、系统。l每个块组都一个超级块。一般情况下,每个块组都一个超级块。一般情况下,当安装文件系统时,系统只读取数据当安装文件系统时,系统只读取数据块组块组0 0中的超级块,将其放入内存,直中的超级块,将其放入内存,直至该文件系统被卸载。至该文件系统被卸载。l超级块中包含以下内容:超级块中包含以下内容:块数,用于安装时确认是块数,用于安装时确认是ext2ext2文件文件系统的超级块。系统的超级块。修订级别,这是文件系统的主版本修订级别,这是文件系统的主版本号和次版本号。号和次版本号。安装计数和最大安装数,系统用来安装计数和最大安装数,系统用来决定文件系统是否应该全面地进行检决定文件系统是否应该全面地进

19、行检查。查。块组号码,包含此超级块的数据块块组号码,包含此超级块的数据块组的号码。组的号码。数据块大小,文件系统创建后数据块的大小就固定了,一般为1024、2048或4096个字节。每组数据块的个数,即块组中数据块的个数,文件系统创建后它就固定了。空闲块,文件系统中空闲块的个数。空闲索引节点,文件系统中空闲索引节点的数目。第一个索引节点,文件系统中第一个索引节点的号码。在ext2根文件系统中,第一个索引节点是根目录(/)的入口。2.块组描述符(Block Group Descriptors)每个块组有描述它的数据结构,即块每个块组有描述它的数据结构,即块组描述结构,其中包含以下信息:组描述结构

20、,其中包含以下信息:1.1.数据块位示图,这一项表示数据块位数据块位示图,这一项表示数据块位示图所占的数据块数。块位示图反映示图所占的数据块数。块位示图反映出数据块组中数据块的分配情况,在出数据块组中数据块的分配情况,在分配或释放数据块时要使用块位示图。分配或释放数据块时要使用块位示图。2.2.索引节点位示图,这一项表示索引节索引节点位示图,这一项表示索引节点位示图所占的数据块数。索引节点点位示图所占的数据块数。索引节点位示图反映出数据块组中索引节点分位示图反映出数据块组中索引节点分配的情况,在创建或删除文件时要使配的情况,在创建或删除文件时要使用索引节点位示图。用索引节点位示图。3.3.索引

21、节点表,数据块组中索引节点表索引节点表,数据块组中索引节点表所占的数据块数。系统中的每一个文所占的数据块数。系统中的每一个文件都对应一个索引节点,每个索引节件都对应一个索引节点,每个索引节点都由一个数据结构来描述。点都由一个数据结构来描述。4.4.空闲块数、空闲索引节点数和已用目空闲块数、空闲索引节点数和已用目录数。录数。3.块位图和索引节点位图l两个块分别记录本组内各个数据块的两个块分别记录本组内各个数据块的使用情况和索引节点表的使用情况。使用情况和索引节点表的使用情况。l数据块位示图中一位代表一个数据块,数据块位示图中一位代表一个数据块,1表示使用,表示使用,0表示空闲。表示空闲。l索引节

22、点位示图中一位代表一个索引索引节点位示图中一位代表一个索引节点,节点,1表示该块忙,表示该块忙,0表示空闲。表示空闲。4.磁盘索引节点ext2_inodel索引节点又被称为索引节点又被称为I I节点,每个文件都节点,每个文件都有惟一一个索引节点。有惟一一个索引节点。l每个数据块组中的索引节点都保存在每个数据块组中的索引节点都保存在索引节点表中。可对文件进行控制和索引节点表中。可对文件进行控制和管理。管理。l每个磁盘索引节点占每个磁盘索引节点占128128个字节,则一个字节,则一个长个长40964096字节的块可存放字节的块可存放3232个个i i节点项。节点项。l磁盘索引节点包括文件长度、文件

23、位磁盘索引节点包括文件长度、文件位置、所有者、存取权限、创建时间、置、所有者、存取权限、创建时间、上次访问时间等主要内容。上次访问时间等主要内容。l索引节点有盘索引节点索引节点有盘索引节点(如如ext2_inode)ext2_inode)和和内存索引节点内存索引节点(如如inode)inode)两种形式。两种形式。盘索引节点存放在磁盘的索引节点表盘索引节点存放在磁盘的索引节点表中,内存索引节点存放在系统专门开中,内存索引节点存放在系统专门开设的索引节点区中。设的索引节点区中。l内存索引节点除了具有盘索引节点的内存索引节点除了具有盘索引节点的主要信息外,还增添了反映该文件动主要信息外,还增添了反

24、映该文件动态状态的项目,例如,共享访问计数态状态的项目,例如,共享访问计数(i_counti_count),表示在某一时刻该文件),表示在某一时刻该文件被打开以后进行访问的次数。被打开以后进行访问的次数。10.5.3 ext2的内存数据结构l内存有内存索引节点和内存超级块内存有内存索引节点和内存超级块l内核挂装文件系统时,读取磁盘超级内核挂装文件系统时,读取磁盘超级块部分内容,填充到内存超级块中,块部分内容,填充到内存超级块中,直到该文件系统被卸载。直到该文件系统被卸载。10.5.4 数据块寻址l逻辑块与物理块之前的关系l多重索引结构(又称多级索引结构)。在这种结构中采用了间接索引方式,即由最

25、初索引项中得到某一盘块号,该块中存放的信息是另一组盘块号;而后者每一块中又可存放下一组盘块号(或者是文件本身信息)。l这样间接几级(通常为13级),最末尾的盘块中存放的信息一定是文件内容。02143568714131211910文件信息文件信息二级数组文件信息文件信息二级数组二级数组三级数组三级数组文件信息文件信息三级数组四级数组文件信息一个块一个块4096字节字节,每个块号每个块号4个字节个字节,则一个块存放则一个块存放4096/4=1024个个引导块引导块块组块组0块组块组1块组块组n磁盘超级块 磁盘索引节点内存超级块 内存索引节点.系统系统打开打开文件表文件表访问计数访问计数读写指针读写

26、指针访问计数访问计数读写指针读写指针用户打开文件表用户打开文件表A用户打开文件表用户打开文件表B磁盘内存10.6 块设备驱动l块设备块设备l字符设备字符设备l由由I/OI/O子系统控制完成进程与外设之间子系统控制完成进程与外设之间的通信任务。的通信任务。lI/OI/O子系统的核心是控制外设的设备驱子系统的核心是控制外设的设备驱动程序。动程序。l进程访问设备文件时,就驱动硬件设进程访问设备文件时,就驱动硬件设备。备。lVFS把设备文件的每个系统调用都转把设备文件的每个系统调用都转换成与设备有关的函数的调用。换成与设备有关的函数的调用。本本 章章 小小 结结本章介绍了本章介绍了LINUXLINUX中的文件系统管理。中的文件系统管理。LINUX LINUX 的虚拟文件系统的虚拟文件系统进程与文件系统的联系进程与文件系统的联系Ext2Ext2文件系统文件系统祝您成功!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第10章-操作系统-LINUX文件系统方案.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|