操作系统LINUX文件系统ppt课件

上传人:pu****.1 文档编号:578422981 上传时间:2024-08-24 格式:PPT 页数:42 大小:813.50KB
返回 下载 相关 举报
操作系统LINUX文件系统ppt课件_第1页
第1页 / 共42页
操作系统LINUX文件系统ppt课件_第2页
第2页 / 共42页
操作系统LINUX文件系统ppt课件_第3页
第3页 / 共42页
操作系统LINUX文件系统ppt课件_第4页
第4页 / 共42页
操作系统LINUX文件系统ppt课件_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《操作系统LINUX文件系统ppt课件》由会员分享,可在线阅读,更多相关《操作系统LINUX文件系统ppt课件(42页珍藏版)》请在金锄头文库上搜索。

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

2、程序子目录,实用程序子目录,liblib库文件子库文件子目录,目录,tmptmp临时文件子目录,临时文件子目录,usrusr通用子通用子目录等。目录等。2 2. .图图10.1 LINUX10.1 LINUX文件系统的层次结构例文件系统的层次结构例常用用常用用常用用常用用户命令户命令户命令户命令操作系统核操作系统核操作系统核操作系统核心程序心程序心程序心程序设备子目设备子目设备子目设备子目录录录录库文件库文件库文件库文件子目录子目录子目录子目录存放存放存放存放配置配置配置配置文件文件文件文件超级用户超级用户超级用户超级用户子目录子目录子目录子目录存放系存放系存放系存放系统管理统管理统管理统管理

3、程序程序程序程序bin boot dev etc home lib media mnt proc root sbin sys tmp usr 用户文用户文件主目件主目录录存放与设存放与设存放与设存放与设备有关的备有关的备有关的备有关的系统信息系统信息系统信息系统信息bin doc etc include lib local Zhang liu3 3. . 路径名确定一个文件在文件系统路径名确定一个文件在文件系统中的位置。中的位置。 一个完整的路径名由代表根目录一个完整的路径名由代表根目录的斜杠开始,到所指定的文件为止。的斜杠开始,到所指定的文件为止。例如在图例如在图10.110.1中,中,“/

4、usr/bin/man/usr/bin/man”确定了文件确定了文件 manman在文件系统中的位置。在文件系统中的位置。( (绝对路径绝对路径) )4 4. . 路径名也可从正在执行进程的当前路径名也可从正在执行进程的当前目录开始指定,例如,若在图目录开始指定,例如,若在图10.110.1中中的当前目录是的当前目录是zhang zhang 的话,路径名的话,路径名 a.txta.txt与与/home/zhang/a.txt/home/zhang/a.txt具有相同具有相同的效果。的效果。( (相对路径相对路径) )5 5LINUXLINUX文件系统特点:文件系统特点: 树形结构树形结构 文件

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

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

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

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

9、名管道(FIFOFIFO)5.5.软链接软链接6.UNIX6.UNIX域套接字域套接字121210.2 LINUX虚拟文件系统虚拟文件系统10.2.1 虚拟文件系统虚拟文件系统VFS框架框架 LINUXLINUX内核使用虚拟文件系统内核使用虚拟文件系统VFSVFS(Virtual File SwitchVirtual File Switch)。)。给用户提供文件系统接口,使用多个不给用户提供文件系统接口,使用多个不同的文件系统。同的文件系统。1313. .n nVFSVFS提供一个抽象基类,由这个基类派提供一个抽象基类,由这个基类派生的子类支持具体的文件系统。生的子类支持具体的文件系统。n n

10、支持的文件系统有:支持的文件系统有: a.a.基于磁盘的文件系统:基于磁盘的文件系统:ext2ext2,ext3ext3,reiserfsreiserfs,JFSJFS,XFSXFS等;等;UNIX SYSTEM UNIX SYSTEM V V 的文件系统;微软的的文件系统;微软的MS-DOSMS-DOS,vfatvfat及及ntfsntfs;ISO 9660ISO 9660光盘文件系统等。光盘文件系统等。1414b.b.基于网络的文件系统,如基于网络的文件系统,如NFSNFS,SMBSMB,OCFSOCFS等。等。c.c.特殊的文件系统,如特殊的文件系统,如procproc,sysfssys

11、fs。它。它们并不管理真正的磁盘空间,而是通们并不管理真正的磁盘空间,而是通过它们访问内核数据。过它们访问内核数据。151510.2.2 LINUX10.2.2 LINUX虚拟文件系统的数据结构虚拟文件系统的数据结构组成:组成:1.1.1.1.超级块超级块super-blocksuper-block:存放已挂装文件:存放已挂装文件系统的有关信息系统的有关信息2.2.2.2.索引节点索引节点inodeinode:一个具体文件的信息:一个具体文件的信息3.3.3.3.文件文件filefile:存放打开文件与进程之间进:存放打开文件与进程之间进行交互的有关信息行交互的有关信息4.4.4.4.目录项目

12、录项dentrydentry:保存目录项与相应文件:保存目录项与相应文件进行链接的信息进行链接的信息1616. .1.VFS1.VFS的超级块的超级块super-block super-block 每个文件系统分配一个超级块,用每个文件系统分配一个超级块,用双向循环链组成一个链表。双向循环链组成一个链表。主要成员:略主要成员:略 P250P250超级块操作:超级块操作:struct super-operationsstruct super-operations描述,地址存放在描述,地址存放在s_ops_op中。中。 每个具体的文件系统,都要提供超每个具体的文件系统,都要提供超级块的具体实现。以

13、实现文件的挂装,级块的具体实现。以实现文件的挂装,卸载,读写卸载,读写inodeinode等。等。17172. 2. 索引节点索引节点inodeinode 存放文件系统处理所需要的所有信息。存放文件系统处理所需要的所有信息。 索引节点操作索引节点操作:inode-operation:inode-operation描述。描述。3. 3. 文件文件filefile 描述的是进程和一个打开文件交互描述的是进程和一个打开文件交互的过程。的过程。 当一个文件被打开时创建当一个文件被打开时创建filefile结构。结构。1818. . 4. 4. 目录项目录项 dentrydentry 当目录读入内存,当

14、目录读入内存,VFSVFS就把它转换就把它转换为基于为基于dentrydentry的一个目录项对象。目的一个目录项对象。目录项对象将每个目录与其对应的索引录项对象将每个目录与其对应的索引节点相联系。节点相联系。 191910.4 进程与文件系统的联系 从系统内部的角度来说,需要有相从系统内部的角度来说,需要有相应的数据结构来记录和控制打开文件应的数据结构来记录和控制打开文件的用户进程以及记录和控制那些共享的用户进程以及记录和控制那些共享同一文件的用户进程。为此同一文件的用户进程。为此LINUXLINUX系统系统设置了用户打开文件表和系统打开文设置了用户打开文件表和系统打开文件表。件表。2020

15、10.4.1 10.4.1 系统打开文件表系统打开文件表n n访问文件之前,进程必须打开文件,访问文件之前,进程必须打开文件,openopen()()返回一个文件描述符,进程用该描返回一个文件描述符,进程用该描述符调用述符调用readread和和writewrite。n n主要用来指明打开同一文件的不同进主要用来指明打开同一文件的不同进程和不同进程所使用的不同打开路径,程和不同进程所使用的不同打开路径,以及这些不同进程和不同打开路径所以及这些不同进程和不同打开路径所对应的读写指针。对应的读写指针。n n文件文件 file 结构结构212110.4.2 用户打开文件表用户打开文件表 使用用户打开

16、文件表,一个进程可使用用户打开文件表,一个进程可同时打开多个文件。同时打开多个文件。 可打开的文件表项可打开的文件表项files_structfiles_struct中中含有打开文件的描述符含有打开文件的描述符fdfd,共享该表,共享该表的进程数目的进程数目countcount等。等。222210.4.3 进程的当前目录和根目录n n当前目录当前目录n n根目录根目录232310.5 ext2文件系统n next2ext2文件系统是最经典的文件系统,文件系统是最经典的文件系统,是一个可扩展的功能较强的文件系统。是一个可扩展的功能较强的文件系统。n next2ext2文件系统中的文件信息都保存在

17、文件系统中的文件信息都保存在数据块中。对同一个数据块中。对同一个ext2ext2文件系统而文件系统而言,所有数据块的大小都是一样的,言,所有数据块的大小都是一样的,例如例如40964096字节。但是,不同的字节。但是,不同的ext2ext2文文件系统中数据块的大小可以不同。件系统中数据块的大小可以不同。 2424n next2ext2文件系统将逻辑块划分成块组,文件系统将逻辑块划分成块组,每个块组每个块组重复保存着一些有关整个文重复保存着一些有关整个文件系统的关键信息及实际文件和目录件系统的关键信息及实际文件和目录的数据块。的数据块。引导块引导块块组块组0块组块组1块组块组n超级块超级块 组描

18、述组描述符符数据块数据块位图位图索引节索引节点位图点位图索引节索引节点表点表数据块数据块2525n n系统引导块总是介质上的第一个数据系统引导块总是介质上的第一个数据块,只有根文件系统才有引导程序放块,只有根文件系统才有引导程序放在这里,其余一般文件系统都不使用在这里,其余一般文件系统都不使用引导块。引导块。n n超级块中包含有文件系统本身的大小超级块中包含有文件系统本身的大小和形式的基本信息,系统管理员可以和形式的基本信息,系统管理员可以利用这些信息使用和维护文件系统。利用这些信息使用和维护文件系统。每个块组都有一个超级块。每个块组都有一个超级块。 262610.5.2 ext2文件系统主要

19、的磁盘数据结构1.1.磁盘超级块磁盘超级块ext2_super_blockext2_super_blockn n超级块中包含有文件系统本身的大小超级块中包含有文件系统本身的大小和形式的基本信息,系统管理员可以和形式的基本信息,系统管理员可以利用这些信息使用和维护文件系统。利用这些信息使用和维护文件系统。n n每个块组都一个超级块。一般情况下,每个块组都一个超级块。一般情况下,当安装文件系统时,系统只读取数据当安装文件系统时,系统只读取数据块组块组0 0中的超级块,将其放入内存,直中的超级块,将其放入内存,直至该文件系统被卸载。至该文件系统被卸载。2727n n超级块中包含以下内容:超级块中包含

20、以下内容:块数,用于安装时确认是块数,用于安装时确认是ext2ext2文件文件系统的超级块。系统的超级块。修订级别,这是文件系统的主版本修订级别,这是文件系统的主版本号和次版本号。号和次版本号。安装计数和最大安装数,系统用来安装计数和最大安装数,系统用来决定文件系统是否应该全面地进行检决定文件系统是否应该全面地进行检查。查。块组号码,包含此超级块的数据块块组号码,包含此超级块的数据块组的号码。组的号码。2828 数据块大小,文件系统创建后数据块的大小就固定了,一般为1024、2048或4096个字节。每组数据块的个数,即块组中数据块的个数,文件系统创建后它就固定了。空闲块,文件系统中空闲块的个

21、数。空闲索引节点,文件系统中空闲索引节点的数目。第一个索引节点,文件系统中第一个索引节点的号码。在ext2根文件系统中,第一个索引节点是根目录(/)的入口。29292.块组描述符(Block Group Descriptors) 每个块组有描述它的数据结构,即块每个块组有描述它的数据结构,即块组描述结构,其中包含以下信息:组描述结构,其中包含以下信息:1.1.数据块位示图,这一项表示数据块位数据块位示图,这一项表示数据块位示图所占的数据块数。块位示图反映示图所占的数据块数。块位示图反映出数据块组中数据块的分配情况,在出数据块组中数据块的分配情况,在分配或释放数据块时要使用块位示图。分配或释放数

22、据块时要使用块位示图。30302.2.索引节点位示图,这一项表示索引节索引节点位示图,这一项表示索引节点位示图所占的数据块数。索引节点点位示图所占的数据块数。索引节点位示图反映出数据块组中索引节点分位示图反映出数据块组中索引节点分配的情况,在创建或删除文件时要使配的情况,在创建或删除文件时要使用索引节点位示图。用索引节点位示图。3.3.索引节点表,数据块组中索引节点表索引节点表,数据块组中索引节点表所占的数据块数。系统中的每一个文所占的数据块数。系统中的每一个文件都对应一个索引节点,每个索引节件都对应一个索引节点,每个索引节点都由一个数据结构来描述。点都由一个数据结构来描述。4.4.空闲块数、

23、空闲索引节点数和已用目空闲块数、空闲索引节点数和已用目录数。录数。31313.块位图和索引节点位图n n两个块分别记录本组内各个数据块的两个块分别记录本组内各个数据块的使用情况和索引节点表的使用情况。使用情况和索引节点表的使用情况。n n数据块位示图中一位代表一个数据块,数据块位示图中一位代表一个数据块,1表示使用,表示使用,0表示空闲。表示空闲。n n索引节点位示图中一位代表一个索引索引节点位示图中一位代表一个索引节点,节点,1表示该块忙,表示该块忙,0表示空闲。表示空闲。32324. 磁盘索引节点ext2_inoden n索引节点又被称为索引节点又被称为I I节点,每个文件都节点,每个文件

24、都有惟一一个索引节点。有惟一一个索引节点。n n每个数据块组中的索引节点都保存在每个数据块组中的索引节点都保存在索引节点表中。可对文件进行控制和索引节点表中。可对文件进行控制和管理。管理。 n n每个磁盘索引节点占每个磁盘索引节点占128128个字节,则一个字节,则一个长个长40964096字节的块可存放字节的块可存放3232个个i i节点项。节点项。 3333n n磁盘索引节点包括文件长度、文件位磁盘索引节点包括文件长度、文件位置、所有者、存取权限、创建时间、置、所有者、存取权限、创建时间、上次访问时间等主要内容。上次访问时间等主要内容。n n索引节点有盘索引节点索引节点有盘索引节点( (如

25、如ext2_inode)ext2_inode)和和内存索引节点内存索引节点( (如如inode) inode) 两种形式。盘索引节点存放在两种形式。盘索引节点存放在磁盘的索引节点表中,内存索引节点磁盘的索引节点表中,内存索引节点存放在系统专门开设的索引节点区中。存放在系统专门开设的索引节点区中。3434n n内存索引节点除了具有盘索引节点的内存索引节点除了具有盘索引节点的主要信息外,还增添了反映该文件动主要信息外,还增添了反映该文件动态状态的项目,例如,共享访问计数态状态的项目,例如,共享访问计数(i_counti_count),表示在某一时刻该文件),表示在某一时刻该文件被打开以后进行访问的

26、次数。被打开以后进行访问的次数。353510.5.3 ext2的内存数据结构n n内存有内存索引节点和内存超级块内存有内存索引节点和内存超级块n n内核挂装文件系统时,读取磁盘超级内核挂装文件系统时,读取磁盘超级块部分内容,填充到内存超级块中,块部分内容,填充到内存超级块中,直到该文件系统被卸载。直到该文件系统被卸载。363610.5.4 数据块寻址n n逻辑块与物理块之前的关系n n多重索引结构(又称多级索引结构)。在这种结构中采用了间接索引方式,即由最初索引项中得到某一盘块号,该块中存放的信息是另一组盘块号;而后者每一块中又可存放下一组盘块号(或者是文件本身信息)。n n这样间接几级(通常

27、为13级),最末尾的盘块中存放的信息一定是文件内容。373702143568714131211910文件信息文件信息二级数组文件信息文件信息二级数组二级数组三级数组三级数组文件信息文件信息三级数组四级数组文件信息一个块一个块4096字节字节,每个块号每个块号4个字节个字节,则一个块存放则一个块存放4096/4=1024个个3838引导块引导块块组块组0块组块组1块组块组n磁盘超级块 磁盘索引节点内存超级块 内存索引节点.系统系统打开打开文件表文件表访问计数访问计数读写指针读写指针访问计数访问计数读写指针读写指针用户打开文件表用户打开文件表A用户打开文件表用户打开文件表B磁盘内存393910.6

28、 块设备驱动n n块设备块设备n n字符设备字符设备n n由由I/OI/O子系统控制完成进程与外设之间子系统控制完成进程与外设之间的通信任务。的通信任务。n nI/OI/O子系统的核心是控制外设的设备驱子系统的核心是控制外设的设备驱动程序。动程序。4040n n进程访问设备文件时,就驱动硬件设进程访问设备文件时,就驱动硬件设备。备。n nVFS把设备文件的每个系统调用都转把设备文件的每个系统调用都转换成与设备有关的函数的调用。换成与设备有关的函数的调用。4141本本 章章 小小 结结本章介绍了本章介绍了LINUXLINUX中的文件系统管理。中的文件系统管理。LINUX LINUX 的虚拟文件系统的虚拟文件系统进程与文件系统的联系进程与文件系统的联系Ext2Ext2文件系统文件系统4242. .

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号