注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)存儲(chǔ)技術(shù)原理分析:基于Linux 2.6內(nèi)核源代碼

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

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

定 價(jià):¥118.00

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

ISBN: 9787121144325 出版時(shí)間: 2011-09-01 包裝: 平裝
開(kāi)本: 大16開(kāi) 頁(yè)數(shù): 768 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

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

本目錄推薦

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