展开全部

主编推荐语

本书通过理论与实践相结合的方式,深入浅出地介绍了文件系统的概念、原理和具体实现。

内容简介

本书涵盖本地文件系统、网络文件系统、分布式文件系统和对象存储等内容,可以说涵盖了数据持久化文件系统的主要领域。为了使读者更加深入地理解文件系统的原理,本书不仅介绍了文件系统的原理和关键技术,还结合开源项目介绍了文件系统的实现细节。最后,本书介绍了在互联网领域广泛使用的对象存储、承载海量访问请求的原理及可存储海量数据的架构。

希望读者通过阅读本书对文件系统有全面、深入的认识。本书既可以作为文件系统及其他存储系统开发人员的指导用书,也可以作为软件架构师、程序员和Linux运维人员的参考用书。

目录

  • 版权信息
  • 内容简介
  • 推荐序
  • 前言
  • 第1章 从文件系统是什么说起
  • 1.1 什么是文件系统
  • 1.1.1 普通用户角度的文件系统
  • 1.1.2 操作系统层面的文件系统
  • 1.1.3 文件系统的基本原理
  • 1.2 常见文件系统及分类
  • 1.2.1 本地文件系统
  • 1.2.2 伪文件系统
  • 1.2.3 网络文件系统
  • 1.2.4 集群文件系统
  • 1.2.5 分布式文件系统
  • 第2章 知其然——如何使用文件系统
  • 2.1 巧妇之炊——准备开发环境
  • 2.2 文件内容的访问——读/写文件
  • 2.2.1 文件系统的API
  • 2.2.2 文件访问的一般流程
  • 2.2.3 文件内容的读/写实例
  • 2.2.4 关于API函数的进一步解释
  • 2.3 如何遍历目录中的文件
  • 2.4 格式化文件系统与挂载
  • 2.5 文件系统与权限管理
  • 2.5.1 Linux权限管理简介
  • 2.5.2 设置文件的RWX权限
  • 2.5.3 设置文件的ACL权限
  • 2.6 文件系统的锁机制
  • 2.6.1 文件锁的分类与模式
  • 2.6.2 Linux文件锁的使用
  • 2.7 文件系统的扩展属性
  • 2.8 文件的零拷贝
  • 2.8.1 零拷贝的基本原理
  • 2.8.2 零拷贝的系统API
  • 第3章 知其所以然——本地文件系统原理及核心技术
  • 3.1 Linux文件系统整体架构简介
  • 3.1.1 从VFS到具体文件系统
  • 3.1.2 关键处理流程举例
  • 3.2 本地文件系统的关键技术与特性
  • 3.2.1 磁盘空间布局(Layout)
  • 3.2.2 文件的数据管理
  • 3.2.3 缓存技术
  • 3.2.4 快照与克隆技术
  • 3.2.5 日志技术
  • 3.2.6 权限管理
  • 3.2.7 配额管理
  • 3.2.8 文件锁的原理
  • 3.2.9 扩展属性与ADS
  • 3.2.10 其他技术简介
  • 3.3 常见本地文件系统简介
  • 3.3.1 ExtX文件系统
  • 3.3.2 XFS文件系统
  • 3.3.3 ZFS文件系统
  • 3.3.4 Btrfs文件系统
  • 3.3.5 FAT文件系统
  • 3.3.6 NTFS文件系统
  • 第4章 从理论到实战——Ext2文件系统代码详解
  • 4.1 本地文件系统的分析方法与工具
  • 4.1.1 基于文件构建文件系统
  • 4.1.2 了解函数调用流程的利器
  • 4.2 从Ext2文件系统磁盘布局说起
  • 4.2.1 Ext2文件系统整体布局概述
  • 4.2.2 超级块(SuperBlock)
  • 4.2.3 块组描述符(Block Group Descriptor)
  • 4.2.4 块位图(Block Bitmap)
  • 4.2.5 inode位图(inode Bitmap)
  • 4.2.6 inode与inode表
  • 4.3 Ext2文件系统的根目录与目录数据布局
  • 4.4 Ext2文件系统的挂载
  • 4.5 如何创建一个文件
  • 4.5.1 创建普通文件
  • 4.5.2 创建软硬链接
  • 4.5.3 创建目录
  • 4.6 Ext2文件系统删除文件的流程
  • 4.7 Ext2文件系统中文件的数据管理与写数据流程
  • 4.7.1 Ext2文件系统中的文件数据是如何管理的
  • 4.7.2 从VFS到Ext2文件系统的写流程
  • 4.7.3 不同写模式的流程分析
  • 4.7.4 缓存数据刷写及流程
  • 4.8 读数据的流程分析
  • 4.8.1 缓存命中场景
  • 4.8.2 非缓存命中场景
  • 4.8.3 数据预读逻辑
  • 4.9 如何分配磁盘空间
  • 4.9.1 计算存储路径
  • 4.9.2 获取存储路径
  • 4.9.3 分配磁盘空间
  • 4.10 Ext2文件系统的扩展属性
  • 4.10.1 Ext2文件系统扩展属性是怎么在磁盘存储的
  • 4.10.2 设置扩展属性的VFS流程
  • 4.10.3 Ext2文件系统扩展属性接口实现
  • 4.11 权限管理代码解析
  • 4.11.1 ACL的设置与获取
  • 4.11.2 ACL权限检查
  • 4.12 文件锁代码解析
  • 4.12.1 flock()函数的内核实现
  • 4.12.2 fcntl()函数的内核实现
  • 第5章 基于网络共享的网络文件系统
  • 5.1 什么是网络文件系统
  • 5.2 网络文件系统与本地文件系统的异同
  • 5.3 常见的网络文件系统简析
  • 5.3.1 NFS文件系统
  • 5.3.2 SMB协议与CIFS协议
  • 5.4 网络文件系统关键技术
  • 5.4.1 远程过程调用(RPC协议)
  • 5.4.2 客户端与服务端的语言——文件系统协议
  • 5.4.3 文件锁的网络实现
  • 5.5 准备学习环境与工具
  • 5.5.1 搭建一个NFS服务
  • 5.5.2 学习网络文件系统的利器
  • 5.6 网络文件系统实例
  • 5.6.1 NFS文件系统架构及流程简析
  • 5.6.2 RPC协议简析
  • 5.6.3 NFS协议简析
  • 5.6.4 NFS协议的具体实现
  • 5.7 NFS服务端及实例解析
  • 5.7.1 NFSD
  • 5.7.2 NFS-Ganesha
  • 第6章 提供横向扩展的分布式文件系统
  • 6.1 什么是分布式文件系统
  • 6.2 分布式文件系统与网络文件系统的异同
  • 6.3 常见分布式文件系统
  • 6.3.1 GFS
  • 6.3.2 CephFS
  • 6.3.3 GlusterFS
  • 6.4 分布式文件系统的横向扩展架构
  • 6.4.1 中心架构
  • 6.4.2 对等架构
  • 6.5 分布式文件系统的关键技术
  • 6.5.1 分布式数据布局
  • 6.5.2 分布式数据可靠性(Reliability)
  • 6.5.3 分布式数据一致性(Consistency)
  • 6.5.4 设备故障与容错(Fault Tolerance)
  • 6.6 分布式文件系统实例之CephFS
  • 6.6.1 搭建一个CephFS分布式文件系统
  • 6.6.2 CephFS分布式文件系统架构简析
  • 6.6.3 CephFS客户端架构
  • 6.6.4 CephFS集群端架构
  • 6.6.5 CephFS数据组织简析
  • 6.6.6 CephFS文件创建流程解析
  • 6.6.7 CephFS写数据流程解析
  • 6.7 分布式系统实例之GlusterFS
  • 6.7.1 GlusterFS的安装与使用
  • 6.7.2 GlusterFS整体架构简析
  • 6.7.3 转换器与转换器树
  • 6.7.4 GlusterFS数据分布与可靠性
  • 6.7.5 GlusterFS客户端架构与I/O流程
  • 6.7.6 GlusterFS服务端架构与I/O流程
  • 第7章 百花争艳——文件系统的其他形态
  • 7.1 用户态文件系统框架
  • 7.1.1 Linux中的用户态文件系统框架Fuse
  • 7.1.2 Windows中的用户态文件系统框架Dokany
  • 7.2 对象存储与常见实现简析
  • 7.2.1 从文件系统到对象存储
  • 7.2.2 S3对象存储简析
  • 7.2.3 Haystack对象存储简析
  • 参考文献
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    5.0

    本书通过理论与实践相结合的方式,深入浅出地介绍了文件系统的概念、原理和具体实现。本书涵盖本地文件系统、网络文件系统、分布式文件系统和对象存储等内容,可以说涵盖了数据持久化文件系统的主要领域。为了使读者更加深入地理解文件系统的原理,本书不仅介绍了文件系统的原理和关键技术,还结合开源项目介绍了文件系统的实现细节。

      转发
      评论

    出版方

    电子工业出版社

    电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。