电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

《linux文件管理》ppt课件

106页
  • 卖家[上传人]:tia****nde
  • 文档编号:70815933
  • 上传时间:2019-01-18
  • 文档格式:PPT
  • 文档大小:1.23MB
  • / 106 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、1,张惠娟 副教授 M,Linux文件管理,2,内容,linux文件系统概论 EXT2文件系统 VFS虚拟文件系统 文件操作和使用,3,文件系统特点 树型结构 文件类型 访问权限,概论,4,特点 自行设计开发的文件系统称为EXT2 Linux支持多种其它操作系统的文件系统: 如minix、ext2、hpfs、msdos、umsdos、iso、nfs、sysv、affs、ufs、efs等达二十几种。 虚拟文件系统VFS屏蔽了各种文件系统的差别,为处理各种不同文件系统提供了统一的接口。,概论,5,树型结构 采用多级目录的树型层次结构管理文件。 系统在运行中通过使用命令或系统调用进入任何一层目录,这时系统所处的目录称为当前目录。,概论,6,7,Linux用两种方法来表示文件或目录的位置:绝对路径和相对路径。 绝对路径 相对路径,概论,8,文件类型 目录文件 普通文件 设备文件 管道文件 链接文件,概论,9,目录文件 Linux一个目录是一个驻留在磁盘上的文件,称为目录文件。系统对目录文件的处理方法与一般文件相同。 目录由若干目录项组成,每个目录项对应目录中的一个文件。 目录项由文件名和属性、

      2、位置、大小、建立或修改时间、访问权限等文件控制信息组成。,概论,10,Linux继承了UINX,把文件名和文件控制信息分开管理。 i节点 i节点实质上是一个由系统管理的“目录项”,由文件控制信息单独组成的结构体。 每个文件对应一个i节点,有唯一编号,称为节点号。 Linux目录项只由两部分组成:文件名和节点号。,概论,11,概论,12,普通文件 计算机用户和操作系统用于存放数据、程序等信息的文件。 一般都长期地存放在外存储器(磁盘、磁带等)中 普通文件一般又分为文本文件和二进制文件,概论,13,设备文件 分为字符设备文件和块设备文件。 内核提供了对设备处理和对文件处理的统一接口,每种I/O设备对应一个设备文件,存放在/dev目录中,如行式打印机对应/dev/lp,第一个软盘驱动器:/dev/fd0。,概论,14,管道文件 主要用于在进程间传递数据 Linux对管道的操作与文件操作相同,把管道做为文件进行处理。 管道文件又称先进先出(FIFO)文件,概论,15,链接文件 也称为符号链接文件,提供了共享文件的一种方法。 不是通过文件名实现文件共享,而是通过链接文件包含指向文件的指针来实现对

      3、文件访问。 普通用户可以建立链接文件,并通过其指针所指向的文件。,概论,16,总之 从对文件内容处理的角度来说,无论是哪种类型文件,Linux都把它们看做是无结构的流式文件,即把文件内容看做是一系列有序的字符流。,概论,17,访问权限 目的 保证文件信息的安全,即文件被访问时,系统首先检验访问者权限,只有与文件访问权限相符时才允许对文件进行访问。,概论,18,EXT2文件系统,EXT2介绍 系统结构 inode结构,19,最初引进了Minix文件系统,Minix文件系统有较大局限性 1992年4月推出EXT(EXTended File system) 1993年推出了EXT2文件系统,EXT2已经成为Linux的标准文件系统,EXT2介绍,20,EXT2系统结构,系统结构 EXT2超级块 内存中超级块的映像 组描述符 块位图,21,系统结构 块设备 文件组织和管理是以物理块为单位。物理块是块设备上大小相同的存储区域,如磁盘的扇区。 一个文件系统一般使用块设备上一个独立的逻辑分区; 文件逻辑分区中除了表示文件内容的逻辑块(称为数据块)外,还设置了若干包含管理和控制信息的逻辑块。 磁盘上可

      4、能有多个逻辑分区,每个分区使用不同的文件子系统。,EXT2系统结构,22,EXT2文件系统由逻辑块序列组成的。 EXT2文件系统把逻辑分区划分成块组,并从0开始依次编号。 每个块组中包含若干数据块,数据块中就是目录或文件内容。 块组中包含着几个用于管理和控制的信息块:超级块、组描述符表、块位图、inode位图和inode表。,EXT2系统结构,23,EXT2系统结构,24,超级块 描述文件系统整体信息的数据结构,主要描述文件系统的目录和文件的静态分布情况,以及描述文件系统的各种组成结构的尺寸、数量等。,EXT2系统结构,25,超级块位于每个块组的最前面,每个块组中包含的超级块内容是相同的。 系统运行期间,把超级块复制到系统缓冲区内,只需把块组0的超级块读入内存,其它块组的超级块做为备份。 EXT2超级块ext2_super_block结构。,EXT2系统结构,26,27,28,EXT2系统结构,29,超级块映像 ext2_super_block结构是超级块在磁盘中的形态,系统运行期间将磁盘上的超级块读入到内存,在内存建立一个超级块映像。 超级块映像定义为ext2_sb_info结构,定

      5、义在:/include/linix/ext2_fs_sb.h,EXT2系统结构,30,struct ext2_sb_info unsigned long s_frag_size; /* 片的长度,以字节为单位 */ unsigned long s_frags_per_block; /* 每块中片数 */ unsigned long s_inodes_per_block;/* 每块中inode数 */ unsigned long s_frags_per_group; /* 每一块组中片数 */ unsigned long s_blocks_per_group;/* 每一块组中块数 */ unsigned long s_inodes_per_group;/* 每一块组inode数 */ unsigned long s_itb_per_group; /* 每块组节点表占用块数 */ unsigned long s_db_per_group; /* 每一块组中描述符占用的 块数 */,EXT2系统结构,31,unsigned long s_desc_per_block; /* 一块中组描述符数

      6、*/ unsigned long s_groups_count; /* 文件系统中的块组数 */ struct buffer_head * s_sbh; /* 指向内存中包含超级块 的缓冲区的指针 */ struct ext2_super_block * s_es; /* 指向缓冲区中超级块的指针 */ struct buffer_head * s_group_desc; /* 指向描述符数组的指针 */ unsigned short s_loaded_inode_bitmaps; /* 装入缓冲区的inode位图 块数 */ unsigned short s_loaded_block_bitmaps;/* 装入缓冲区的块位图块数 */ unsigned long s_inode_bitmap_numberEXT2_MAX_GROUP_LOADED;/* inode位图数 。,EXT2系统结构,32,组描述符 Linux组描述符为32字节,每一个块组有一个组描述符。所有组描述符集中在一起依次存放,形成组描述符表。 描述符表中的组描述符顺序与块组在磁盘上的顺序对应。 一个组描述符可能占用

      7、多个物理块,具有相同内容的组描述符表放在每个块组中做为备份, 组描述符定义在/include/linix/ext2_fs.h中:,EXT2系统结构,33,struct ext2_group_desc _u32 bg_block_bitmap; /* 本组中块位图的位置 */ _u32 bg_inode_bitmap; /* 本组中inode位图的位置*/ _u32 bg_inode_table; /* 本组中inode表的位 */ _u16 bg_free_blocks_count;/* 本组中空闲块数 */ _u16 bg_free_inodes_count;/* 本组中空闲inode数 */ _u16 bg_used_dirs_count; /* 本组中所含目录数 */ _u16 bg_pad; /* 填充 */ _u32 bg_reserved3; /* 保留 */ ;,EXT2系统结构,34,EXT2系统结构,35,块位图 描述块的使用状况 每个块组都有一个块位图,位于组描述符表之后,用来描述本块组中数据块的使用状况。 块位图的每一位表示一个数据块的使用情况,为1表示对应数据块

      8、已占用,为0表示数据块空闲。 各位的顺序与块组中数据块顺序一致 块位图一般占用一个逻辑块,EXT2系统结构,36,inode结构 inode表和inode位图 inode在内存中的映像 EXT2的目录结构,Inode结构,37,inode结构 inode是EXT2基本构件,表示文件系统树型结构的节点。 EXT2文件系统中的每个文件由一个inode描述,且只能由一个inode描述。 EXT2文件系统的inode 定义为struct ext2_inode,该定义在/include/linux/ext2_fs.h中。,Inode结构,38,Inode结构,39,Inode结构,40,41,inode在内存中的映像 inode与文件一起存放在外存,系统运行时,把inode写入内存建立映像。 内存映像定义为ext2_inode_info 结构,在include/linux/ext2_fs_i.h中定义:,Inode结构,42,struct ext2_inode_info _u32 i_data15; /* 数据块指针数组 */ _u32 i_flags; /* 文件标志(属性)*/ _u32 i

      9、_faddr; /* 片地址 */ _u8 i_frag_no; /* 片号 */ _u8 i_frag_size; /* 片大小 */ _u16 i_osync; /* 同步标志 */,Inode结构,43,_u32 i_file_acl; /* 文件访问控制链表 */ _u32 i_dir_acl; /* 目录访问控制链表 */ _u32 i_dtime; /* 文件删除时间 */ _u32 i_version; /* 文件版本 */ _u32 i_block_group; /* inode所在块组号 */ _u32 i_next_alloc_block; /* 下一个要分配的块 */ _u32 i_next_alloc_goal; /*下一个要分配的对象 * _u32 i_prealloc_block; * 预留块首地址 */ _u32 i_prealloc_count; /* 预留计数 */ int i_new_inode:1; /* 标志,是否为新分配的inode */ ;,Inode结构,44,inode表和inode位图 一个块组中所有文件的inode形成了inode表, 表项序号是inode号; inode表存放在块组中所有数据块之前,在块组中要占用几个逻辑块由超级块中s_inodes_per_group给出。 inode位图反映了inode表中各个表项的使用情况,每位表示inode表的一个表项,为1表示对应表项已占用,为0表示表项空闲。,Inode结构,45,目录文件中的目录项是ext2_dir_entry结构体,前后连接成一个类似链表的形式。 struct ext2_dir_entry _u32 inode; /* inode号 */ _u16 rec_len; /* 目录项长度 */ _u16 name_len; /* 文件名长度 */ char nameEXT2_NAME_LEN; /* 文件名 */ ; 其中: #define EXT2_NAME_LEN 255,EXT2的目录结

      《《linux文件管理》ppt课件》由会员tia****nde分享,可在线阅读,更多相关《《linux文件管理》ppt课件》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.