zoukankan      html  css  js  c++  java
  • 读书笔记深入linux内核架构Chapter9

    Ext文件系统族

    l  简介

    ²  文件系统要考虑的几个问题:碎片、空间利用率、维护内容一致性。

     

    Ext2文件系统

    l  结构概况

    ²  块组(Block Group):块组是Ext2的核心要素。

    ²  文件系统是由大量块组在硬盘上相继排布。如图。

    一个块组

     

    硬盘如下

     

     

    ²  启动扇区是硬盘上的一个区域(一般是第一个扇区),加电后BIOS自动加载并执行其中的内容。

     

    ²  inode间接索引数据块:灵活应对大小文件。

    ²  ext2试图将同一个文件的块维持在同一个块组中。

    ²  ext2在分配块的时候采用预分配的方式。

    ²  创建文件系统:用户空间工具mke2fs,将分区的空间划分为管理信息和有用数据两部分,创建简单的目录结构(用来存放坏块的lost+found目录)。

     

    l  VFS与文件系统实现有3个结构(包含一些函数指针的结构体)建立:

    ²  file_operations:操作文件的内容

    ²  inode_operations:元数据的操作

    ²  address_space_operations:一般地址空间的操作

     

    l  文件系统的操作

    ²  装载和卸载

    ²  读取并产生数据块和间接块:找到数据块、请求新块、块分配、

    ²  创建和删除inode

     

     

    Ext3文件系统

    l  增加了日志功能:事务日志带来了开销。

    l  ext3有三种日志方式(用来tradeoff):回写模式、顺序模式、日志模式。

    l  事务是什么样的:

    ²  日志记录:最小单位,表示某个块的更新

    ²  句柄:例如write请求涉及到6个块,则这6个日志记录属于同一个句柄。

    ²  事务:几个句柄的集合。

    ²  三者关系如图:

  • 相关阅读:
    动态代理方案性能对比(转载)
    Java类的初始化
    第78天:jQuery事件总结(一)
    第77天:jQuery事件绑定触发
    第76天:jQuery中的宽高
    第75天:jQuery中DOM操作
    第74天:jQuery实现图片导航效果
    第73天:jQuery基本动画总结
    第72天:jQuery实现下拉菜单
    第71天:jQuery基本选择器(二)
  • 原文地址:https://www.cnblogs.com/apprentice89/p/2870440.html
Copyright © 2011-2022 走看看