日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語(yǔ)言/工具UNIX xv6內(nèi)核源碼深入剖析

UNIX xv6內(nèi)核源碼深入剖析

UNIX xv6內(nèi)核源碼深入剖析

定 價(jià):¥99.00

作 者: 高聯(lián)雄
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302614630 出版時(shí)間: 2022-11-01 包裝: 平裝-膠訂
開本: 16開 頁(yè)數(shù): 字?jǐn)?shù):  

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

  本書對(duì)UNIX xv6的源碼進(jìn)行了深入剖析和詳細(xì)注解,同時(shí)配合大量實(shí)例與圖表,對(duì)每個(gè)模塊先提煉關(guān)鍵數(shù)據(jù)結(jié)構(gòu)和核心方法,再結(jié)合源碼分析其工作機(jī)制,讓讀者明白其原理及具體實(shí)現(xiàn),以求理論和實(shí)踐能力同步提升,為深入理解操作系統(tǒng)原理乃至進(jìn)一步研究學(xué)習(xí)Linux和Android等類UNIX系統(tǒng)內(nèi)核打下堅(jiān)實(shí)基礎(chǔ)。 本書第1章對(duì)xv6進(jìn)行概述;第2章介紹xv6操作系統(tǒng)結(jié)構(gòu);第3章介紹xv6開發(fā)、測(cè)試和運(yùn)行的軟件環(huán)境;第4章簡(jiǎn)要介紹x86計(jì)算機(jī)組成原理;第5章介紹x86的實(shí)模式與保護(hù)模式;第6章深入分析xv6的啟動(dòng);第7~10章介紹xv6的虛擬空間管理、中斷與系統(tǒng)調(diào)用、鎖以及進(jìn)程管理,第11、12章介紹xv6的文件系統(tǒng);第13章介紹exec()函數(shù)、管道與字符串的實(shí)現(xiàn);第14章介紹xv6的多處理器支持;第15章介紹字符設(shè)備驅(qū)動(dòng);第16章介紹用戶進(jìn)程的初始化、API和Shell的實(shí)現(xiàn)。 本書適合操作系統(tǒng)初、中級(jí)學(xué)習(xí)者,系統(tǒng)程序員,嵌入式系統(tǒng)開發(fā)者以及對(duì)UNIX和Linux等類UNIX內(nèi)核感興趣的讀者。

作者簡(jiǎn)介

  高聯(lián)雄,北京郵電大學(xué)博士,昆明學(xué)院副教授、碩導(dǎo),主要研究領(lǐng)域?yàn)樾盘?hào)與信息處理。先后主持和參與了華為鴻蒙操作系統(tǒng)實(shí)驗(yàn)等省部級(jí)以上教學(xué)和科研項(xiàng)目10余項(xiàng),參與的研究工作還獲得了省部級(jí)科技進(jìn)步獎(jiǎng);潛心操作系統(tǒng)教學(xué)二十余年,從UNIX、MINIX、Linux到xv6,每一個(gè)重要的操作系統(tǒng)均深入內(nèi)核研讀源碼并應(yīng)用于教學(xué)之中;鑒于xv6的簡(jiǎn)潔優(yōu)美,耗費(fèi)兩年游刃其間,寫成《UNIX xv6內(nèi)核源碼深入剖析》一書。

圖書目錄

第1章  xv6概述
1.1  xv6的前身UNIX
1.1.1  UNIX發(fā)展簡(jiǎn)史
1.1.2  UNIX家族
1.2  xv6的誕生
1.3  xv6的源碼與文檔
第2章  xv6操作系統(tǒng)結(jié)構(gòu)
2.1  xv6體系結(jié)構(gòu)
2.1.1  硬件與內(nèi)核
2.1.2  界面
2.1.3  內(nèi)核態(tài)與用戶態(tài)
2.2  進(jìn)程管理
2.3  虛擬內(nèi)存、文件與I/O設(shè)備驅(qū)動(dòng)
2.4  系統(tǒng)調(diào)用、API與內(nèi)核函數(shù)
2.4.1  系統(tǒng)調(diào)用
2.4.2  API
2.4.3  內(nèi)核函數(shù)
第3章  xv6的軟件環(huán)境
3.1  xv6的C語(yǔ)言技巧
3.1.1  static
3.1.2  inline
3.1.3  函數(shù)指針
3.1.4  函數(shù)指針示例
3.1.5  雙重指針
3.2  AT&T匯編與內(nèi)聯(lián)匯編
3.2.1  AT&T匯編
3.2.2  GCC內(nèi)聯(lián)匯編
3.3  函數(shù)調(diào)用與堆棧
3.3.1  棧幀、寄存器慣例與調(diào)用約定
3.3.2  棧幀示例1
3.3.3  棧幀示例2
3.3.4  匯編語(yǔ)言中調(diào)用C語(yǔ)言函數(shù)
3.3.5  C語(yǔ)言函數(shù)調(diào)用匯編語(yǔ)言函數(shù)
3.4  xv6編譯、調(diào)試與鏈接
3.4.1  gcc命令
3.4.2  make命令
3.4.3  xv6的Makefile文件
3.4.4  gdb命令
3.4.5  ELF文件結(jié)構(gòu)
3.4.6  使用ld命令鏈接xv6
3.5  Bochs與QEMU模擬器
3.5.1  Bochs模擬器
3.5.2  Bochs模擬器的配置
3.5.3  QEMU模擬器選項(xiàng)及內(nèi)核調(diào)試
第4章  x86計(jì)算機(jī)組成原理
4.1  計(jì)算機(jī)系統(tǒng)
4.2  計(jì)算機(jī)硬件系統(tǒng)
4.2.1  硬件組成
4.2.2  總線
4.3  CPU
4.3.1  Cache與指令部件
4.3.2  MMU與BIU
4.3.3  寄存器組
4.4  內(nèi)存
4.5  中斷系統(tǒng)
4.5.1  中斷
4.5.2  中斷控制器與中斷處理程序
4.6  I/O端口與外設(shè)
4.6.1  I/O端口與端口尋址
4.6.2  控制器與I/O設(shè)備
第5章  x86實(shí)模式與保護(hù)模式
5.1  x86的地址與工作模式
5.1.1  地址的概念
5.1.2  16位實(shí)模式
5.1.3  32位保護(hù)模式
5.2  A20地址線
5.3  保護(hù)模式與段寄存器
5.3.1  分段機(jī)制
5.3.2  邏輯地址轉(zhuǎn)換為線性地址
5.3.3  段選擇符
5.3.4  段寄存器
5.3.5  xv6的段選擇符和段寄存器的設(shè)定
5.4  描述符
5.4.1  描述符格式
5.4.2  非系統(tǒng)描述符
5.4.3  系統(tǒng)描述符
5.4.4  xv6中的描述符
5.5  描述符表、TSS與特權(quán)等級(jí)保護(hù)
5.5.1  描述符表
5.5.2  TSS與任務(wù)切換
5.5.3  系統(tǒng)地址寄存器
5.5.4  段的特權(quán)等級(jí)保護(hù)
5.6  xv6的段管理
5.6.1  實(shí)模式下的段
5.6.2  保護(hù)模式引導(dǎo)階段的GDT
5.6.3  內(nèi)核的GDT
5.6.4  IDT
5.6.5  TSS與TR
5.7  保護(hù)模式分頁(yè)機(jī)制
5.7.1  控制寄存器
5.7.2  分頁(yè)機(jī)制
5.7.3  CR3、頁(yè)目錄項(xiàng)與頁(yè)表項(xiàng)的格式
5.7.4  虛擬地址與物理地址的轉(zhuǎn)換
5.8  xv6的地址空間
第6章  xv6的啟動(dòng)
6.1  概述
6.1.1  引導(dǎo)扇區(qū)與啟動(dòng)流程
6.1.2  啟動(dòng)過(guò)程的地址空間設(shè)置
6.1.3  啟動(dòng)過(guò)程的堆棧
6.2  BP的引導(dǎo)
6.2.1  BP從實(shí)模式進(jìn)入保護(hù)模式
6.2.2  進(jìn)入32位模式
6.2.3  調(diào)用bootmain()函數(shù)
6.2.4  BP加載內(nèi)核映像文件
6.3  BP進(jìn)入內(nèi)核
6.3.1  內(nèi)核入口地址
6.3.2  內(nèi)核的進(jìn)入
6.4  BP的初始化
6.4.1  運(yùn)行主函數(shù)
6.4.2  啟動(dòng)AP
6.5  AP的進(jìn)入與初始化
6.5.1  AP的進(jìn)入
6.5.2  AP的初始化
第7章  虛擬空間管理
7.1  虛擬地址空間布局與映射
7.1.1  虛擬地址空間及布局
7.1.2  內(nèi)核空間映射
7.1.3  內(nèi)核的幾個(gè)特殊地址
7.2  空間初始化、分配與釋放
7.2.1  空閑幀管理
7.2.2  內(nèi)核頁(yè)面分配
7.2.3  內(nèi)存初始化
7.2.4  空間釋放
7.3  內(nèi)核虛擬空間管理
7.3.1  內(nèi)核虛擬空間分配、構(gòu)建與切換
7.3.2  頁(yè)面映射與頁(yè)表查找
7.4  用戶空間管理
7.4.1  初始進(jìn)程的用戶空間
7.4.2  用戶空間加載
7.4.3  用戶空間復(fù)制
7.4.4  用戶空間切換
7.4.5  用戶空間分配與釋放
第8章  中斷與系統(tǒng)調(diào)用
8.1  xv6中斷處理
8.1.1  IDT初始化
8.1.2  xv6中斷號(hào)
8.1.3  中斷向量數(shù)組與中斷向量
8.1.4  中斷響應(yīng)與中斷返回
8.1.5  中斷處理程序
8.2  系統(tǒng)調(diào)用
8.2.1  系統(tǒng)調(diào)用函數(shù)
8.2.2  系統(tǒng)調(diào)用函數(shù)的實(shí)現(xiàn)
8.2.3  系統(tǒng)調(diào)用分派
8.2.4  函數(shù)指針數(shù)組與系統(tǒng)函數(shù)
8.2.5  提取調(diào)用參數(shù)
8.2.6  系統(tǒng)調(diào)用示例
8.3  驅(qū)動(dòng)程序
8.4  中斷與系統(tǒng)調(diào)用及內(nèi)核堆棧
8.4.1  中斷與系統(tǒng)調(diào)用處理過(guò)程
8.4.2  中斷的內(nèi)核堆棧
第9章  鎖
9.1  自旋鎖
9.1.1  自旋鎖的概念
9.1.2  自旋鎖的實(shí)現(xiàn)
9.2  睡眠鎖
9.2.1  睡眠鎖的概念
9.2.2  睡眠鎖的實(shí)現(xiàn)
9.3  內(nèi)核的死鎖
第10章  進(jìn)程管理
10.1  進(jìn)程的基本概念
10.1.1  進(jìn)程的概念
10.1.2  進(jìn)程的狀態(tài)與生命周期
10.1.3  進(jìn)程的上下文
10.1.4  處理器結(jié)構(gòu)體、當(dāng)前處理器與當(dāng)前進(jìn)程
10.2  進(jìn)程的切換
10.2.1  上下文切換原理
10.2.2  切換函數(shù)的定義
10.2.3  切換函數(shù)的實(shí)現(xiàn)
10.2.4  切換函數(shù)的詳細(xì)解釋
10.2.5  上下文切換與陷阱幀
10.3  進(jìn)程調(diào)度與進(jìn)程表
10.3.1  進(jìn)程的調(diào)度
10.3.2  進(jìn)程表
10.4  進(jìn)程的生成、退出與等待
10.4.1  進(jìn)程的生成、退出與等待示例
10.4.2  創(chuàng)建子進(jìn)程
10.4.3  進(jìn)程退出與等待
10.5  進(jìn)程的睡眠與喚醒
10.5.1  條件同步
10.5.2  空等問(wèn)題
10.5.3  喚醒丟失問(wèn)題
10.5.4  睡眠與喚醒函數(shù)的實(shí)現(xiàn)
10.6  進(jìn)程讓出與殺死進(jìn)程
10.7  系統(tǒng)的初始進(jìn)程
10.7.1  初始進(jìn)程的建立
10.7.2  切換入初始進(jìn)程
第11章  文件系統(tǒng)
11.1  概述
11.1.1  文件系統(tǒng)的功能
11.1.2  文件系統(tǒng)的分層
11.1.3  磁盤布局
11.2  磁盤層
11.2.1  磁盤初始化
11.2.2  磁盤中斷處理
11.2.3  磁盤讀寫
11.3  塊緩存層
11.3.1  緩沖塊結(jié)構(gòu)體
11.3.2  塊緩存及其初始化
11.3.3  緩沖塊讀取
11.3.4  緩沖塊寫入與釋放
11.3.5  緩沖塊的使用
11.4  日志層
11.4.1  事務(wù)與日志
11.4.2  日志
11.4.3  日志的靜態(tài)函數(shù)
11.4.4  日志的對(duì)外接口
11.4.5  事務(wù)的操作與實(shí)現(xiàn)
11.5  磁盤塊管理
11.6  i節(jié)點(diǎn)
11.6.1  磁盤i節(jié)點(diǎn)
11.6.2  i節(jié)點(diǎn)及其鎖
11.6.3  icache初始化與i節(jié)點(diǎn)更新
11.6.4  i節(jié)點(diǎn)的分配、獲取、復(fù)制與釋放
11.6.5  i節(jié)點(diǎn)的映射、截?cái)?、狀態(tài)與讀寫
11.7  目錄層
11.7.1  目錄項(xiàng)
11.7.2  目錄項(xiàng)查找
11.7.3  目錄項(xiàng)鏈接
11.7.4  通過(guò)路徑查找i節(jié)點(diǎn)
第12章  文件描述符與系統(tǒng)調(diào)用
12.1  文件描述符層
12.1.1  文件結(jié)構(gòu)體
12.1.2  文件表及其初始化
12.1.3  文件分配、文件指針復(fù)制與關(guān)閉
12.1.4  文件狀態(tài)與文件讀寫
12.2  系統(tǒng)調(diào)用層
12.2.1  文件系統(tǒng)調(diào)用
12.2.2  鏈接與刪除鏈接
12.2.3  文件創(chuàng)建
12.2.4  文件打開
12.2.5  文件讀寫
12.2.6  管道
12.2.7  載入執(zhí)行
第13章  exec()函數(shù)、管道與字符串
13.1  exec()函數(shù)
13.1.1  內(nèi)核函數(shù)exec()
13.1.2  系統(tǒng)調(diào)用函數(shù)exec()
13.2  管道
13.2.1  管道結(jié)構(gòu)體
13.2.2  管道的分配、關(guān)閉與讀寫
13.2.3  管道系統(tǒng)調(diào)用函數(shù)
13.3  字符串
第14章  多處理器
14.1  多處理器系統(tǒng)架構(gòu)
14.2  多處理器配置的數(shù)據(jù)結(jié)構(gòu)
14.2.1  多處理器環(huán)境與內(nèi)存布局
14.2.2  mp結(jié)構(gòu)體
14.2.3  MP配置表頭
14.2.4  MP配置表表項(xiàng)
14.3  LAPIC
14.3.1  LAPIC的結(jié)構(gòu)
14.3.2  LAPIC的寄存器
14.3.3  LAPIC ID與版本
14.3.4  ICR與AP啟動(dòng)
14.3.5  LAPIC計(jì)時(shí)器
14.3.6  偽中斷
14.3.7  LVT與ICR
14.3.8  EOI與TPR
14.3.9  LAPIC可接收的中斷源
14.4  I/O APIC
14.4.1  I/O APIC寄存器
14.4.2  I/O APIC寄存器訪問(wèn)
14.4.3  I/O APIC初始化與中斷打開
第15章  字符設(shè)備驅(qū)動(dòng)
15.1  鍵盤
15.1.1  鍵盤端口
15.1.2  掃描碼
15.1.3  中斷處理與驅(qū)動(dòng)
15.2  控制臺(tái)
15.2.1  控制臺(tái)與文件讀寫
15.2.2  控制臺(tái)輸入
15.2.3  控制臺(tái)輸出
15.2.4  標(biāo)準(zhǔn)文件初始化
15.3  控制臺(tái)輸出示例
15.4  串口通信
15.4.1  UART硬件
15.4.2  UART端口
15.4.3  UART初始化
15.4.4  UART輸入輸出與中斷處理
第16章  初始進(jìn)程、API與Shell
16.1  初始進(jìn)程
16.1.1  載入初始用戶程序
16.1.2  初始用戶程序init
16.2  API
16.2.1  API的定義和實(shí)現(xiàn)
16.2.2  接口函數(shù)使用示例
16.3  Shell
16.3.1  Shell概述
16.3.2  程序sh的主要功能
16.4  命令結(jié)構(gòu)體及其構(gòu)造與運(yùn)行
16.4.1  命令
16.4.2  載入執(zhí)行命令
16.4.3  重定向命令
16.4.4  管道命令
16.4.5  并列命令
16.4.6  后臺(tái)命令
16.5  輸入字符串的解析
16.5.1  命令解析
16.5.2  行解析
16.5.3  管道命令解析
16.5.4  重定向命令解析
16.5.5  塊解析函數(shù)
16.5.6  載入執(zhí)行命令解析
16.5.7  提取操作符
參考文獻(xiàn)
附錄A  縮略語(yǔ)與術(shù)語(yǔ)
 
 
 

本目錄推薦

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