guoqian视频3内核知识文件系统fs-htang1.pdfVIP

  • 0
  • 0
  • 约1.9万字
  • 约 51页
  • 2021-02-24 发布于北京
  • 举报
Linux 源码分析 系列之 文件系统 文件系统 唐欢 唐欢 htang@ 智能中心 20 4 概要 静 • UNIX系统V文件系统 • Ext2文件系统 动 • VFS文件系统 静↔动 • 文件系统操作—mount root filesystem UNIX系统V文件系统 UNIX系统V文件系统 UNIX系统V文件系统 文件的信息都放在哪里? 讨论点:文件名与inode的分离。为什么这样设计?还 可以怎么样设计? UNIX系统V文件系统 从目录项到inode 目录项中的inode编号指向“ 同一文件系统” 中的 inode,因此企图将目录项中inode指向其他文件 系统的操作都是不允许的。例如: ln命令将建立一个新的目录项,指向一个现存的 文件。当/public 为NFS时: dcos3:~ # ln -d /public/ /tmp/pub ln: creating hard link `/tmp/pub to `/public/: Invalid cross-device link 讨论点:此举受到什么限制,能否突破?突破又有何 意义? UNIX系统V文件系统 目录怎样认识自己和爸爸 Ext2文件系统 以block(块)为基本单位,对磁 Ext2文件系 盘进行划分。block的大小在创建 文件系统时可以指定。 In e n blocksn blocks。。 保存了本组所有的inode。应 node描述文件与目录,一个文 件对应一个inode,目录是一种特殊的文件。 inode 不仅记录了文件内容在外存空间的位置,而且定义了文 件的存取权 修改时间、文件类型 Block Group 将连续的block分组。为什么? 尽量将属于一个文件的block存放于一个 组内,保证了访问局部性。 Ext2文件系统 多少个block group ? 两个决定因素:分区大小 block大小 group数量= 分区大小/ group大小 • group大小= block大小X block数量 • block数量= block bitmap 位数(bit) • 且block bitmap 只占用一个block ,则: • block bitmap 位数= block大小X 8 2 group大小= block大小 X 8 Ext2文件系统 Super Block (/include/linux/Ext2_fs.h) 记录super block在磁盘上的结构 struct ext2_super_block { 每一个block有多大? 我有多少Inode?多少block?他们中多少是free 的? 多少个block被保留? 每个block group中,有多少个block?多少个inode? 第一个Data block在哪里? 我何时mount?mount了几次?最多可以mount几次? 上一次write操作在何时?上一次check操作在何时? …… } Ext2文

文档评论(0)

1亿VIP精品文档

相关文档