Linux内核--文件管理.ppt

Linux内核--文件管理.ppt

ID:48049312

大小:310.00 KB

页数:45页

时间:2020-01-13

Linux内核--文件管理.ppt_第1页
Linux内核--文件管理.ppt_第2页
Linux内核--文件管理.ppt_第3页
Linux内核--文件管理.ppt_第4页
Linux内核--文件管理.ppt_第5页
资源描述:

《Linux内核--文件管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、LINUX文件管理Linux支持的常见的文件系统类型Linux自身提供的缺省文件系统:ext2fs(一般根文件系统/使用此文件系统);新增的自身提供的文件系统:ext3fs、ReiserFS、IBMJFS等其它UNIX使用的文件系统:minix,ext,xiafs等DOS/Windows使用的文件系统:FAT-12,FAT-16,FAT-32,VFAT,NTFS(只读)HPFS(OS/2使用、只读)、HFS(Macintosh使用、只读);AFFS(Amiga);SystemV,Coherent,Xenix;CD-ROM(ISO9660)UMSDOS(UNIX-likeFSonMS

2、-DOS);NFS(网络文件系统);SMBFS(Windows共享文件系统)、NCPFS(NovellNetware共享文件系统)/proc(用于内核和进程信息)Linux专用文件系统Minix是Linux的第一个文件系统,有局限,性能比较差。文件名不能长于14个字符,最大的文件大小是64M字节在1992年4月引入第一个专为Linux设计的文件系统--扩展文件系统或EXT(ExtendFileSystem)1993年,增加了扩展文件系统第二版,或EXT2虚拟文件系统VFS虚拟文件系统现在的系统大多都在系统内核和文件系统之间提供一个标准的接口,真实的文件系统通过一个接口层从操作系统和

3、系统服务中分离出来,这样不同文件结构之间的数据可以十分方便地交换。Linux也在系统内核和文件系统之间提供了一种叫做虚拟文件系统VFS(virtualfilesystem)的标准接口。VFS允许Linux支持许多(通常是不同的)文件系统,每一个都向VFS表现一个通用的软件接口。Linux文件系统的所有细节都通过软件进行转换,所以所有的文件系统对于Linux核心的其余部分和系统中运行的程序显得一样。虚拟文件系统转换Linux文件管理程序系统调用接口VFS转换FAT文件系统Ext2文件系统/proc文件系统VFS和实际文件系统的关系实际文件系统和VFS的转换当每一个文件系统初始化的时候

4、,自身向VFS登记。(在系统启动操作系统初始化自身时)真实的文件系统自身建立在内核中或者是作为可加载的模块。文件系统模块在系统需要的时候加载。当一个块设备文件系统安装的时候,(包括root文件系统),VFS必须读取它的超级块。每一个文件系统类型的超级块的读取例程必须找出这个文件系统的拓扑结构,并把这些信息映射到一个VFS超级块的数据结构上。VFS保存系统中安装的文件系统的列表和它们的VFS超级块列表。VFS超级块每一个安装的文件系统都用VFS超级块参见include/linux/fs.hVFS超级块包含的信息Device这是包含文件系统的块设备的设备标识符。例如,/dev/hda1

5、,设备标识符是0x301Inodepointers其中的mountedinode指针指向该文件系统的第一个inode。Coveredinode指针指向文件系统安装到的目录的inode。Blocksize文件系统块的字节大小。Superblockoperations指向一组本文件系统超级块例程的指针。除了其他类型之外,VFS使用这些例程读写inode和超级块FileSystemtype指向这个安装的文件系统的file_system_type数据结构的一个指针FileSystemSpecific指向这个文件系统需要的信息的一个指针TheVFSInode同EXT2文件系统,VFS中每一个

6、文件、目录等等都用一个且只用一个VFSinode代表。每一个VFSinode中的信息使用文件系统相关的例程从底层的文件系统中获取。VFSinode只在核心的内存中存在,只要对系统有用,就一直保存在VFSinodecache中。参见include/linux/fs.hTheVFSInode包含的信息device存放这个文件的设备的设备标识符。Inodenunber这个inode的编号。Mode象EXT2一样,这个域描述这个VFSinode代表的东西和对它的访问权限。Inodeoperations指向一组例程地址的指针。例程和文件系统相关,执行对于此inode的操作Count系统组件当

7、前使用这个VFSinode的数目。Count0意味着这个inode是空闲,可以废弃或者重用。Lock这个域用于锁定这个VFSinode。例如当从文件系统读取它的时候。Dirty显示这个VFSinode是否被写过,如果这样,底层的文件系统需要更新。登记文件系统当核心建立的时候,文件系统初始化代码调用所有内建的文件系统的初始化例程的。当加载一个文件系统模块的时候,它自身向核心登记,当卸载的时候,它就注销。每一个文件系统的初始化例程都向虚拟文件系统注册自身,并用一个file

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。