




免费预览已结束,剩余37页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章LINUX文件系统 10 1LINUX文件系统的特点与文件类别10 2LINUX的虚拟文件系统10 3文件系统的注册和挂装10 4进程与文件系统的联系10 5ext2文件系统10 6块设备启动10 7字符设备启动本章小结习题 10 1LINUX文件系统的特点与文件类别10 1 1特点从用户的角度看 LINUX文件系统具有如图10 1所示的树形层次结构 在图中 根目录root之下有dev设备子目录 bin实用程序子目录 lib库文件子目录 tmp临时文件子目录 usr通用子目录等 图10 1LINUX文件系统的层次结构例 常用用户命令 操作系统核心程序 设备子目录 库文件子目录 存放配置文件 超级用户子目录 存放系统管理程序 binbootdevetchomelibmediamntprocrootsbinsystmpusr 用户文件主目录 存放与设备有关的系统信息 bindocetcincludeliblocal Zhangliu 路径名确定一个文件在文件系统中的位置 一个完整的路径名由代表根目录的斜杠开始 到所指定的文件为止 例如在图10 1中 usr bin man 确定了文件man在文件系统中的位置 绝对路径 路径名也可从正在执行进程的当前目录开始指定 例如 若在图10 1中的当前目录是zhang的话 路径名a txt与 home zhang a txt具有相同的效果 相对路径 LINUX文件系统特点 树形结构 文件是无结构的字符流式文件 文件可以动态地增长或减少 文件数据可由文件拥有者设置相应的访问权限而受到保护 外部设备 例如终端用磁带 磁盘设备 键盘等都被看作文件 在文件系统中 设备文件占据着文件系统目录结构中相应的位置 用户程序按与存取其他文件时所使用的系统调用和语法来读 写设备文件 用户程序既没有必要知道设备的内部特性 也不必在更换或增加设备之后修改自己 10 1 2文件类型6种 普通文件 存储用户和系统的有关数据和程序的文件 它是无结构 无记录概念的字符流式文件 2 目录文件是由文件系统中的各个目录所形成的文件 在形式上同普通文件一样 由系统将其解释成目录 在LINUX系统中 一个目录文件由多个目录项组成 而每个目录项则由文件名及指示相应的文件索引节点 inode 的标识符id组成 普通文件和目录文件都是无结构 无记录概念的字符流式文件 3 设备文件与普通文件和目录文件不同 它除了在目录文件和文件索引节点表中占据相应的位置外 并不占有实际的物理存储块 对设备文件的读 写操作实际上为对设备的操作 而对设备文件的保护也将变成对设备的保护 例如 cp dev tty1terminalread把在第一个终端上敲进的字符 设备文件 dev tty1是用户终端1 读入 并把它们复制到文件terminalread上 4 有名管道 FIFO 5 软链接6 UNIX域套接字 10 2LINUX虚拟文件系统10 2 1虚拟文件系统VFS框架LINUX内核使用虚拟文件系统VFS VirtualFileSwitch 给用户提供文件系统接口 使用多个不同的文件系统 VFS提供一个抽象基类 由这个基类派生的子类支持具体的文件系统 支持的文件系统有 a 基于磁盘的文件系统 ext2 ext3 reiserfs JFS XFS等 UNIXSYSTEMV的文件系统 微软的MS DOS vfat及ntfs ISO9660光盘文件系统等 b 基于网络的文件系统 如NFS SMB OCFS等 c 特殊的文件系统 如proc sysfs 它们并不管理真正的磁盘空间 而是通过它们访问内核数据 10 2 2LINUX虚拟文件系统的数据结构组成 超级块super block 存放已挂装文件系统的有关信息索引节点inode 一个具体文件的信息文件file 存放打开文件与进程之间进行交互的有关信息目录项dentry 保存目录项与相应文件进行链接的信息 1 VFS的超级块super block每个文件系统分配一个超级块 用双向循环链组成一个链表 主要成员 略P250超级块操作 structsuper operations描述 地址存放在s op中 每个具体的文件系统 都要提供超级块的具体实现 以实现文件的挂装 卸载 读写inode等 2 索引节点inode存放文件系统处理所需要的所有信息 索引节点操作 inode operation描述 3 文件file描述的是进程和一个打开文件交互的过程 当一个文件被打开时创建file结构 4 目录项dentry当目录读入内存 VFS就把它转换为基于dentry的一个目录项对象 目录项对象将每个目录与其对应的索引节点相联系 10 4进程与文件系统的联系 从系统内部的角度来说 需要有相应的数据结构来记录和控制打开文件的用户进程以及记录和控制那些共享同一文件的用户进程 为此LINUX系统设置了用户打开文件表和系统打开文件表 10 4 1系统打开文件表 访问文件之前 进程必须打开文件 open 返回一个文件描述符 进程用该描述符调用read和write 主要用来指明打开同一文件的不同进程和不同进程所使用的不同打开路径 以及这些不同进程和不同打开路径所对应的读写指针 文件file结构 10 4 2用户打开文件表 使用用户打开文件表 一个进程可同时打开多个文件 可打开的文件表项files struct中含有打开文件的描述符fd 共享该表的进程数目count等 10 4 3进程的当前目录和根目录 当前目录根目录 10 5ext2文件系统 ext2文件系统是最经典的文件系统 是一个可扩展的功能较强的文件系统 ext2文件系统中的文件信息都保存在数据块中 对同一个ext2文件系统而言 所有数据块的大小都是一样的 例如4096字节 但是 不同的ext2文件系统中数据块的大小可以不同 ext2文件系统将逻辑块划分成块组 每个块组重复保存着一些有关整个文件系统的关键信息及实际文件和目录的数据块 引导块 块组0 块组1 块组n 超级块 组描述符 数据块位图 索引节点位图 索引节点表 数据块 系统引导块总是介质上的第一个数据块 只有根文件系统才有引导程序放在这里 其余一般文件系统都不使用引导块 超级块中包含有文件系统本身的大小和形式的基本信息 系统管理员可以利用这些信息使用和维护文件系统 每个块组都有一个超级块 10 5 2ext2文件系统主要的磁盘数据结构 1 磁盘超级块ext2 super block超级块中包含有文件系统本身的大小和形式的基本信息 系统管理员可以利用这些信息使用和维护文件系统 每个块组都一个超级块 一般情况下 当安装文件系统时 系统只读取数据块组0中的超级块 将其放入内存 直至该文件系统被卸载 超级块中包含以下内容 块数 用于安装时确认是ext2文件系统的超级块 修订级别 这是文件系统的主版本号和次版本号 安装计数和最大安装数 系统用来决定文件系统是否应该全面地进行检查 块组号码 包含此超级块的数据块组的号码 数据块大小 文件系统创建后数据块的大小就固定了 一般为1024 2048或4096个字节 每组数据块的个数 即块组中数据块的个数 文件系统创建后它就固定了 空闲块 文件系统中空闲块的个数 空闲索引节点 文件系统中空闲索引节点的数目 第一个索引节点 文件系统中第一个索引节点的号码 在ext2根文件系统中 第一个索引节点是根目录 的入口 2 块组描述符 BlockGroupDescriptors 每个块组有描述它的数据结构 即块组描述结构 其中包含以下信息 1 数据块位示图 这一项表示数据块位示图所占的数据块数 块位示图反映出数据块组中数据块的分配情况 在分配或释放数据块时要使用块位示图 2 索引节点位示图 这一项表示索引节点位示图所占的数据块数 索引节点位示图反映出数据块组中索引节点分配的情况 在创建或删除文件时要使用索引节点位示图 3 索引节点表 数据块组中索引节点表所占的数据块数 系统中的每一个文件都对应一个索引节点 每个索引节点都由一个数据结构来描述 4 空闲块数 空闲索引节点数和已用目录数 3 块位图和索引节点位图 两个块分别记录本组内各个数据块的使用情况和索引节点表的使用情况 数据块位示图中一位代表一个数据块 1表示使用 0表示空闲 索引节点位示图中一位代表一个索引节点 1表示该块忙 0表示空闲 4 磁盘索引节点ext2 inode 索引节点又被称为I节点 每个文件都有惟一一个索引节点 每个数据块组中的索引节点都保存在索引节点表中 可对文件进行控制和管理 每个磁盘索引节点占128个字节 则一个长4096字节的块可存放32个i节点项 磁盘索引节点包括文件长度 文件位置 所有者 存取权限 创建时间 上次访问时间等主要内容 索引节点有盘索引节点 如ext2 inode 和内存索引节点 如inode 两种形式 盘索引节点存放在磁盘的索引节点表中 内存索引节点存放在系统专门开设的索引节点区中 内存索引节点除了具有盘索引节点的主要信息外 还增添了反映该文件动态状态的项目 例如 共享访问计数 i count 表示在某一时刻该文件被打开以后进行访问的次数 10 5 3ext2的内存数据结构 内存有内存索引节点和内存超级块内核挂装文件系统时 读取磁盘超级块部分内容 填充到内存超级块中 直到该文件系统被卸载 10 5 4数据块寻址 逻辑块与物理块之前的关系多重索引结构 又称多级索引结构 在这种结构中采用了间接索引方式 即由最初索引项中得到某一盘块号 该块中存放的信息是另一组盘块号 而后者每一块中又可存放下一组盘块号 或者是文件本身信息 这样间接几级 通常为1 3级 最末尾的盘块中存放的信息一定是文件内容 0 2 1 4 3 5 6 8 7 14 13 12 11 9 10 文件信息 文件信息 二级数组 文件信息 文件信息 二级数组 二级数组 三级数组 三级数组 文件信息 文件信息 三级数组 四级数组 文件信息 一个块4096字节 每个块号4个字节 则一个块存放4096 4 1024个 引导块 块组0 块组1 块组n 磁盘超级块 磁盘索引节点 内存超级块
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025南京市合同终止WU
- 电焊机电缆安全培训考试题
- 船员安全规程培训考试试题
- 机器人竞赛对抗赛初赛试题及参考答案
- 2025工程咨询合同备案详细规定及注意事项
- 2025合作协议样书(合作合同)
- 化工安全警示标志考试题
- 2025年钟村街社区卫生服务中心公共卫生数据收集及录入信息化服务合同
- 2025房屋租赁合同个人版
- 2025餐饮劳务派遣合同
- 《旅游政策与法律法规》课件-项目一 任务1-4知识点10-关于以标准化促进餐饮节约反对餐饮浪费
- 《中国诗词大会》必背经典古诗词100首
- 第5课《用发展的观点看问题》第1框《世界是永恒发展的》-【中职专用】《哲学与人生》同步课堂课件
- 垃圾渗滤液处理调试方案
- 加利福尼亚批判性思维技能测试后测试卷班附有答案
- 武汉龙泉社区规划方案
- 2024年罗非鱼行业分析报告及未来发展趋势
- 钢丝绳吊装时最大允许吊装重物对应表
- XX医院DRG绩效分配方案
- GB 14866-2023眼面防护具通用技术规范
- 百鸟朝凤中国经典神话故事中文绘本故事演示课件两篇
评论
0/150
提交评论