注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)存儲技術原理分析:基于Linux 2.6內(nèi)核源代碼

存儲技術原理分析:基于Linux 2.6內(nèi)核源代碼

存儲技術原理分析:基于Linux 2.6內(nèi)核源代碼

定 價:¥118.00

作 者: 敖青云 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: LINUX

ISBN: 9787121144325 出版時間: 2011-09-01 包裝: 平裝
開本: 大16開 頁數(shù): 768 字數(shù):  

內(nèi)容簡介

  《存儲技術原理分析:基于Linux 2.6內(nèi)核源代碼》通過對Linux 2.6內(nèi)核源代碼的分析,詳細討論存儲技術的內(nèi)在實現(xiàn)原理。分為三條主線:解釋PCI設備、SCSI設備以及塊設備的發(fā)現(xiàn)過程;跟蹤存儲I/O路徑,即用戶對文件的讀/寫請求怎么通過中間各個層次,最終到達磁盤介質(zhì);此外,還簡要介紹主機適配器、塊設備驅動以及文件系統(tǒng)等編程框架。書中將設計一些主要的場景,跟蹤實現(xiàn)的各個層次,對其中的主要函數(shù)進行代碼級的講解。在分析每個模塊時,會給出整體框架、主要數(shù)據(jù)結構之間的關系,并列出各個域的詳細含義。采用這種方式,我們希望讀者能對存儲相關概念(如RAID、快照等)的內(nèi)在實現(xiàn)有具體的了解,也試圖幫助讀者理解Linux內(nèi)核設計和開發(fā)的一些思想,為進一步分析其他模塊(如進程管理、內(nèi)存管理等)起借鑒作用。讀者對象:《存儲技術原理分析:基于Linux 2.6內(nèi)核源代碼》適合作為高校計算機相關專業(yè)本科生和研究生學習操作系統(tǒng)的輔助和實踐教材,也適合作為Linux愛好者學習內(nèi)核的參考書籍。同時,它也是存儲從業(yè)工程師深入理解存儲架構,以及軟件開發(fā)工程師掌握軟件架構的有效工具。

作者簡介

  敖青云,博士,2001年畢業(yè)于上海交通大學計算機科學及工程系。畢業(yè)后一直從事存儲及相關產(chǎn)品的研發(fā)工作,主要研究方向為開源技術、操作系統(tǒng)、存儲及虛擬機技術等?,F(xiàn)居上海。

圖書目錄

第一部分 存儲技術
第1章 存儲技術概論
1.1 存儲系統(tǒng)元素
1.1.1 磁盤驅動器
1.1.2 存儲設備
1.1.3 服務器部件
1.1.4 存儲軟件
1.2 存儲相關技術
1.2.1 備份技術
1.2.2 快照技術
1.2.3 連續(xù)數(shù)據(jù)保護技術
1.2.4 RAID技術
1.2.5 “多路徑”技術
1.2.6 虛擬化技術
1.3 網(wǎng)絡存儲結構
1.3.1 直接連接存儲
1.3.2 網(wǎng)絡連接存儲
1.3.3 存儲區(qū)域網(wǎng)絡
1.4 存儲I/O通道
1.4.1 存儲I/O物理通道
1.4.2 存儲I/O邏輯通道
1.4.3 虛擬機I/O邏輯通道
1.5 存儲應用舉例
1.5.1 同時提供文件服務和塊服務
1.5.2 按需擴容、隨需取用延緩企業(yè)投資
1.5.3 計算與存儲分離便于故障恢復和系統(tǒng)升級
1.5.4 為高可用性集群提供共享存儲
1.5.5 利用快照技術恢復被病毒破壞的數(shù)據(jù)
1.5.6 基于文件的數(shù)據(jù)備份和遠程鏡像方案
1.5.7 利用PXE和iSCSI實現(xiàn)遠程引導和映像恢復
1.5.8 虛擬機故障的檢測及遷移
第二部分 設備
第2章 Linux驅動模型
2.1 概述
2.2 引用計數(shù)
2.3 內(nèi)核對象及集合
2.3.1 創(chuàng)建或初始化內(nèi)核對象
2.3.2 將內(nèi)核對象添加到sysfs文件系統(tǒng)
2.3.3 創(chuàng)建、初始化、添加內(nèi)核對象集
2.3.4 發(fā)送內(nèi)核對象變化事件到用戶空間
2.4 sysfs文件系統(tǒng)
2.4.1 構建內(nèi)核對象、對象屬性和對象關系的內(nèi)部樹
2.4.2 對sysfs文件的讀/寫轉換為對屬性的show和store操作
2.4.3 為具體內(nèi)核對象定義屬性的規(guī)范流程
2.5 kobject編程模式
2.6 驅動模型對象
2.6.1 總線類型
2.6.2 設備
2.6.3 驅動
2.6.4 類
2.6.5 接口
2.7 驅動模型編程模式
第3章 PCI子系統(tǒng)
3.1 概述
3.2 PCI子系統(tǒng)對象
3.2.1 pci_bus:PCI總線
3.2.2 pci_dev:PCI設備
3.3 PCI核心初始化
3.4 配置訪問方法
3.4.1 機制#1方式
3.4.2 PCIBIOS方式
3.4.3 配置訪問接口
3.5 PCI總線掃描
3.5.1 PCI總線編號范例
3.5.2 PCI總線掃描流程
3.6 PCI中斷路由
3.6.1 中斷路由初始化
3.6.2 查找中斷路由表
3.6.3 查找中斷路由驅動
3.6.4 分配ISA IRQ號
3.7 PCI資源分配
3.7.1 PCI資源分配范例
3.7.2 PCI資源分配流程
3.8 PCI設備驅動編程模式
3.8.1 定義PCI驅動結構
3.8.2 定義支持設備ID列表
3.8.3 實現(xiàn)probe回調(diào)方法
3.8.4 實現(xiàn)remove回調(diào)方法
3.8.5 實現(xiàn)其他回調(diào)方法
3.8.6 注冊與注銷PCI驅動
第4章 SCSI子系統(tǒng)
4.1 概述
4.2 SCSI子系統(tǒng)對象
4.2.1 scsi_host_template:SCSI主機適配器模板
4.2.2 Scsi_Host:SCSI主機適配器
4.2.3 scsi_target:SCSI目標節(jié)點
4.2.4 scsi_device:SCSI邏輯設備
4.2.5 scsi_cmnd:SCSI命令
4.3 SCSI子系統(tǒng)初始化
4.4 添加適配器到系統(tǒng)
4.5 SCSI設備探測
4.5.1 探測流程入口
4.5.2 探測邏輯單元
4.5.3 添加SCSI設備
4.6 SCSI磁盤驅動
4.6.1 同步執(zhí)行部分
4.6.2 異步執(zhí)行部分
4.6.3 重新校驗磁盤
4.6.4 讓磁盤轉起來
4.7 SCSI命令執(zhí)行
4.8 SCSI錯誤恢復
4.8.1 命令進入錯誤恢復
4.8.2 錯誤恢復線程執(zhí)行
4.8.3 發(fā)送錯誤恢復命令
4.9 SCSI低層驅動編程模式
4.9.1 定義主機適配器模板
4.9.2 完善探測回調(diào)處理邏輯
4.9.3 實現(xiàn)queuecommand回調(diào)函數(shù)
4.9.4 實現(xiàn)中斷處理函數(shù)
4.9.5 實現(xiàn)其他回調(diào)函數(shù)
4.9.6 模塊加載和卸載
第三部分 存儲I/O
第5章 塊I/O子系統(tǒng)
5.1 概述
5.2 塊I/O子系統(tǒng)對象
5.2.1 gendisk:通用磁盤
5.2.2 hd_struct:分區(qū)
5.2.3 block_device:塊設備
5.2.4 request_queue:請求隊列
5.2.5 request:塊設備驅動層請求
5.2.6 bio:通用塊層請求
5.3 添加磁盤到系統(tǒng)
5.3.1 分配通用磁盤描述符
5.3.2 添加到sysfs文件系統(tǒng)
5.3.3 獲取磁盤塊設備描述符
5.3.4 打開磁盤塊設備描述符
5.3.5 重新掃描磁盤分區(qū)
5.3.6 設備號映射機制
5.4 請求處理過程
5.4.1 上層向塊I/O子系統(tǒng)提交請求
5.4.2 構造、排序或合并請求
5.4.3 SCSI策略例程逐個處理請求
5.4.4 為請求構造SCSI命令
5.4.5 為SCSI命令準備聚散列表
5.4.6 派發(fā)SCSI命令到低層驅動
5.5 I/O調(diào)度算法
5.5.1 為請求隊列建立關聯(lián)的I/O調(diào)度隊列
5.5.2 判斷bio是否可以被合并到request
5.5.3 將請求添加到I/O調(diào)度隊列或請求隊列
5.5.4 從I/O調(diào)度隊列派發(fā)請求到請求隊列
5.6 請求處理完成
5.6.1 低層驅動調(diào)用完成回調(diào)函數(shù)
5.6.2 引發(fā)塊I/O子系統(tǒng)的軟中斷
5.6.3 調(diào)用請求隊列的軟中斷回調(diào)
5.6.4 調(diào)用上層的完成回調(diào)函數(shù)
5.7 屏障I/O處理
5.7.1 屏障I/O接口
5.7.2 添加屏障請求
5.7.3 處理屏障請求
5.7.4 完成屏障請求
5.8 完整性保護
5.8.1 數(shù)據(jù)完整性對象
5.8.2 為塊設備注冊完整性能力
5.8.3 為bio準備完整性元數(shù)據(jù)
5.8.4 校驗完整性元數(shù)據(jù)
5.8.5 修正bio基準標簽
5.9 磁盤類設備驅動編程模式
5.9.1 定義磁盤類設備私有數(shù)據(jù)結構
5.9.2 定義和實現(xiàn)塊設備操作表
5.9.3 分配和初始化磁盤類設備相關結構
5.9.4 為磁盤類設備準備請求隊列并添加通用磁盤到系統(tǒng)
第6章 Multi-Disk(MD)模塊
6.1 概述
6.2 RAID模塊對象
6.2.1 mddev_t:RAID設備
6.2.2 mdk_rdev_t:成員磁盤
6.2.3 mdk_personality:MD個性
6.3 MD模塊初始化
6.4 MD設備創(chuàng)建
6.4.1 從用戶空間打開MD設備
6.4.2 用戶空間發(fā)送ioctl創(chuàng)建MD
6.4.3 自動檢測和運行RAID
6.5 MD設備請求執(zhí)行
6.6 MD個性化編程模式
6.6.1 定義私有數(shù)據(jù)結構
6.6.2 聲明個性化結構
6.6.3 實現(xiàn)個性化方法
6.6.4 實現(xiàn)模塊加載和卸載方法
6.7 RAID0模塊
6.7.1 為RAID0設備構造條帶區(qū)域
6.7.2 查找包含給定偏移的條帶區(qū)域
6.7.3 映射到成員設備及其扇區(qū)偏移
6.8 RAID5模塊
6.8.1 RAID5模塊對象
6.8.2 請求執(zhí)行過程
6.8.3 同步和恢復過程
第7章 Device Mapper模塊
7.1 概述
7.2 Device Mapper對象
7.2.1 dm_table:映射表結構
7.2.2 dm_target:映射目標結構
7.2.3 mapped_device:映射設備結構
7.2.4 dm_dev:低層設備結構
7.2.5 target_type:映射目標類型
7.3 Device Mapper模塊初始化
7.4 映射設備的創(chuàng)建
7.4.1 分配映射設備描述符
7.4.2 加載映射表
7.4.3 恢復映射設備
7.5 映射設備的請求執(zhí)行
7.5.1 添加到延遲鏈表
7.5.2 分割與處理bio
7.6 內(nèi)核復制線程
7.6.1 準備復制任務
7.6.2 任務處理流程
7.7 Device Mapper目標類型編程模式
7.7.1 定義私有數(shù)據(jù)結構
7.7.2 聲明目標類型結構
7.7.3 實現(xiàn)目標類型方法
7.7.4 實現(xiàn)模塊加載和卸載方法
7.8 條帶映射模塊
7.8.1 構造函數(shù)
7.8.2 析構函數(shù)
7.8.3 映射函數(shù)
7.8.4 end_io函數(shù)
7.9 快照映射模塊
7.9.1 快照映射對象
7.9.2 快照源構造
7.9.3 快照構造
7.9.4 快照源讀/寫
7.9.5 快照讀/寫
7.9.6 例外倉庫
第8章 文件系統(tǒng)
8.1 概述
8.2 文件系統(tǒng)對象
8.2.1 file_system_type:文件系統(tǒng)類型
8.2.2 super_block:VFS超級塊
8.2.3 inode:VFS索引節(jié)點
8.2.4 dentry:VFS目錄項
8.2.5 vfsmount:文件系統(tǒng)裝載
8.3 裝載文件系統(tǒng)
8.3.1 mount系統(tǒng)調(diào)用的處理流程
8.3.2 構建子文件系統(tǒng)裝載實例
8.3.3 關聯(lián)文件系統(tǒng)的超級塊實例
8.3.4 調(diào)用回調(diào)函數(shù)填充超級塊
8.3.5 裝載到全局文件系統(tǒng)樹
8.4 路徑查找
8.4.1 路徑查找入口
8.4.2 逐個分量解析
8.4.3 解析單個分量
8.4.4 上溯通過裝載點
8.4.5 下溯通過裝載點
8.4.6 處理符號鏈接
8.5 打開文件
8.5.1 open系統(tǒng)調(diào)用的處理流程
8.5.2 解析路徑最后一個分量
8.5.3 填充文件描述符的內(nèi)容
8.6 讀文件
8.6.1 read系統(tǒng)調(diào)用的處理流程
8.6.2 基于緩沖頁面構造I/O請求
8.6.3 直接針對頁面構造I/O請求
8.6.4 從文件塊編號推導磁盤塊編號
8.7 寫文件
8.7.1 write系統(tǒng)調(diào)用的處理流程
8.7.2 通知為緩沖寫請求作準備
8.7.3 通知數(shù)據(jù)已復制到緩沖區(qū)
8.8 沖刷文件
8.8.1 BDI相關對象
8.8.2 注冊后備設備信息
8.8.3 forker線程執(zhí)行流程
8.8.4 flusher線程執(zhí)行流程
8.8.5 同步相關系統(tǒng)調(diào)用
8.9 塊設備文件
8.9.1 塊設備的主inode和次inode
8.9.2 對塊設備文件的操作轉換為對塊設備的操作
8.9.3 對塊設備文件的讀/寫作用于塊設備之上
8.10 文件系統(tǒng)編程模式
主要參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號