万本电子书0元读

万本电子书0元读

顶部广告

文件系统技术内幕:大数据时代海量数据存储之道电子书

?文件系统是大数据、AI、自动驾驶及物联网数据存储的基石,文件系统与数据存储紧密相关,在大数据时代,要掌握AI、云计算、自动驾驶、物联网等前沿知识,至少要了解文件系统背后的原理。本书是相关前沿领域的从业人员、专业程序员、架构师值得学习和收藏的文件系统宝典。

售       价:¥

纸质售价:¥76.50购买纸书

266人正在读 | 0人评论 6.3

作       者:张书宁

出  版  社:电子工业出版社

出版时间:2022-01-01

字       数:15.2万

所属分类: 科技 > 计算机/网络 > 多媒体/数据通信

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
《文件系统技术内幕:大数据时代海量数据存储之道》通过理论与实践相结合的方式,深浅出地介绍了文件系统的概念、原理和具体实现。本书涵盖本地文件系统、网络文件系统、分布式文件系统和对象存储等内容,可以说涵盖了数据持久化文件系统的主要领域。为了使读者更加深地理解文件系统的原理,本书不仅介绍了文件系统的原理和关键技术,还结合源项目介绍了文件系统的实现细节。后,本书介绍了在互联网领域广泛使用的对象存储、承载海量访问请求的原理及可存储海量数据的架构。希望读者通过阅读本书对文件系统有全面、深的认识。 《文件系统技术内幕:大数据时代海量数据存储之道》既可以作为文件系统及其他存储系统发人员的指导用书,也可以作为软件架构师、程序员和 Linux 运维人员的参考用书。<br/>【推荐语】<br/>?文件系统是大数据、AI、自动驾驶及物联网数据存储的基石,文件系统与数据存储紧密相关,在大数据时代,要掌握AI、云计算、自动驾驶、物联网等前沿知识,至少要了解文件系统背后的原理。本书是相关前沿领域的从业人员、专业程序员、架构师值得学习和收藏的文件系统宝典。<br/>【作者】<br/>张书宁 戴尔科技(Dell Technologies)首席软件发工程师,负责公司核心存储产品Unity和PowerStore的研发工作。 先后就职于华为、甲骨文(Oracle)、戴尔科技等世界五百强公司,曾负责分布式存储产品FusionStorage及中端企业级存储产品Unity和PowerStore等的系统设计和发工作,深耕存储领域十几载。<br/>
目录展开

前折页

内容简介

推荐序

前言

第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对象存储简析

参考文献

后折页

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部