ImageVerifierCode 换一换
格式:PPT , 页数:27 ,大小:139KB ,
资源ID:376912      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-376912.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第三章 LINUX文件系统.ppt)为本站会员(eveningprove235)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

第三章 LINUX文件系统.ppt

1、第三章 LINUX文件系统,第一节 文件系统管理,文件系统类型,支持多种不同类型的文件系统是LINUX操作系统的一大特色。目前支持的有ext, ext2, minix, umsdos, ncp, iso9660, hpfs,msdos, xia, vfat, proc,nfs, smb, sysv, affs, ntfs以及ufs等,参见 include/linux/autoconf.h。,文件系统类型的注册,一种是在编译核心系统时确定,并在系统初始化时通过内嵌的函数调用向注册表登记。 另一种则利用LINUX的模块(module)特征,把某个文件系统当作一个模块。装入该模块时(通过kernel

2、d或用insmod命令 )向注册表登记它的类型,卸装该模块时则从注册表注销。,操作函数,int register_filesystem(struct file_system_type * fs);Int unregister_filesystem(struct file_system_type * fs);,管理文件系统 类型的结构,文件系统实例的管理,LINUX文件系统管理首先是关于“文件系统” 层的管理。系统启动时,必首先装入“根”文件系统(由全程变量ROOT_DEV指示),然后根据/etc/fstab中指定,逐个建立文件系统。此外,用户也可以通过mount、umount操作,随时安装或卸

3、装文件系统。当装入一个文件系统时,应首先向操作系统核心注册该文件系统。当卸装一个文件系统时,应向操作系统核心申请注销该文件系统。,文件系统实例的注册操作,struct vfsmount *add_vfsmnt(kdev_t dev, const char * dev_name,const char * dir_name);void remove_vfsmnt(kdev_t dev);struct vfsmount *lookup_vfsmnt(kdev_t dev);,文件系统实例的数据结构,文件系统类型和实例示意图,第三章 LINUX文件系统,第二节 虚拟文件系统VFS,VFS,VFS对LI

4、NUX的每个文件系统的所有细节进行抽象,使得不同的文件系统在LINUX核心以及系统中运行的其他进程看来,都是相同的。 VFS并不是一种实际的文件系统。它只存在于内存中,不存在于任何外存空间。 VFS在系统启动时建立,在系统关闭时消亡。 VFS拥有关于各种特殊文件系统的公共界面,如超级块、inode、文件操作函数入口等。,VFS的作用,VFS 超级块,VFS描述系统文件使用超级块和inode的方式。 在系统初启时,所有被初始化的文件系统 (file_system_type)都要向VFS(file_systems)登记。 每种文件系统类型的读超级块函数(read_super)必须识别该文件系统的结

5、构并且将其信息映射到一个VFS的超级块数据结构上。参见文件super.doc,树型目录与VFS超级块,VFS inode,文件系统由子目录和文件构成。 每个子目录或文件只能由唯一的inode结构描述。 VFS inode的内容取自物理设备上的文件系统,由文件系统指定的操作函数(i_op属性指定)填写。参见文件inode.doc,第三章 LINUX文件系统,第三节 EXT2文件系统,LINUX的磁盘文件系统,引导块:在文件系统的开头,通常为一个扇区,存放引导程序,用于读入并启动操作系统。 超级块:用于记录文件系统的管理信息。特定的文件系统定义了特定的超级块。 inode区:一个文件(或目录占据一

6、个索引节点。第一个索引节点是该文件系统的根节点。利用根节点,可以把一个文件系统挂在另一个文件系统的非叶节点上。 数据区:存放文件数据或者管理数据(如一级间址块,二级间址块等。,EXT2体系结构,块组(block group),保存关于文件系统的备份信息(超级块和所有组描述符)。当某个组的超级块或inode受损时,这些信息用来恢复文件系统。 块位图(block bitmap)记录本组内各个数据块的使用情况,每一位(bit)对应于一个数据块,0表示空闲,非0表示已分配。 inode位图(inode bitmap)的作用类似于块位图,它记录inode表中inode的使用情况。,块组(block gr

7、oup),inode表(inode table)保存本组所有的inode。EXT2应用inode描述文件,一个inode对应一个文件,每个inode对应一个唯一的inode号。inode既定义文件内容在外存空间的位置,也定义了对文件的存取权限、文件修改时间、文件类型等信息。 数据块(data blocks)则是真正的文件数据区。为文件分配存储空间以块为单位。,EXT2超级块,每个块组(Block Group)均包含一个相同的超级块。一般,只有块组0的超级块才读入内存,其它块组的超级块仅作为备份。外存中的超级块,参见文件ext2_super.doc内存中的超级块,参见文件ext2_super.d

8、oc,EXT2组描述符 (group discriptor),每个块组(Block Group)都有一个组描述符来描述它所有的组描述符在每个块组中都有备份组描述符一个挨一个存放,构成了组描述符表。,组描述符的结构,EXT2的inode,文件系统的每个文件或目录(看作一种特殊文件)由一个inode描述,且只能由一个inode描述。 属于同一块组(Block Group)的inode保存在同一inode表中,与该组的inode位图一一对应。 外存中的inode,参见文件ext2_inode.doc 内存中的inode,参见文件ext2_inode.doc,inode关于数据块的寻址,EXT2的目录

9、,目录是关于文件的存取路径的特殊文件 一个目录文件就是一个目录项的列表,每一个目录项都有一个数据结构来描述: struct ext2_dir_entry _u32 inode; /* 该目录项的inode号,用它可以查找inode表中对应的inode */_u16 rec_len; /* 目录项的长度 */_u16 name_len; /* 文件名长度,最长255 */char nameEXT2_NAME_LEN; /* 文件名 */ ,例:在EXT2文件系统中查找/usr/include/stdio.h文件,根据ROOT_DEV,从vfsmntlist链表、file_systems链表找到文件系统的超级块,继而找出“/”的inode号(VFS的super_block.s_mounted)。 到块组0的inode表中读取文件系统的根的inode。 根文件是一个目录文件(由“i_mode”识别),包含了根目录下子目录和文件的由ext2_dir_entry描述的目录项。可以在其中找到ext2_dir_entry .name=“usr”的目录项,从该目录项的ext2_dir_entry.inode读出代表/usr目录的inode号。,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1