注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)Unix內核源碼剖析

Unix內核源碼剖析

Unix內核源碼剖析

定 價:¥79.00

作 者: (日)青柳隆宏 著,殷中翔 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 操作系統(tǒng) 計算機與互聯(lián)網(wǎng)

ISBN: 9787115345219 出版時間: 2014-03-01 包裝: 平裝
開本: 16開 頁數(shù): 368 字數(shù):  

內容簡介

  為什么要閱讀內核源代碼● 對計算機系統(tǒng)的全貌有更深入的了解● 對學到的算法和思路舉一反三● 加深對操作系統(tǒng)的理解● 提升自身的技術水平為什么選擇UNIX V6?● 代碼行數(shù)約為1 萬行● 有充實的資料可參考● 網(wǎng)羅了操作系統(tǒng)的基本功能● 簡化的設計● 便于讀者對系統(tǒng)有完整的了解● 有模擬器可供參考《Unix內核源碼剖析》是一本Unix內核源代碼的閱讀指南。作者結合UNIX V6已公開的相關文檔,對其內核源碼進行詳細剖析,旨在讓讀者更深入地理解進程、中斷、塊I/O系統(tǒng)、文件系統(tǒng)、字符I/O系統(tǒng)、啟動系統(tǒng)等操作系統(tǒng)的基本原理。《Unix內核源碼剖析》適合操作系統(tǒng)的初中級學習者閱讀,特別適合通過大學課程和其他入門書對操作系統(tǒng)有所了解,但是對具體細節(jié)缺乏深入理解的讀者,以及那些對操作系統(tǒng)的具體實現(xiàn)有興趣的讀者。

作者簡介

  青柳隆宏,日本資深程序員,現(xiàn)在硅谷從事計算機處理芯片的設計工作。曾設計了超級計算機“京”的L1緩存,該計算機在2011年排名世界Top 500超級計算機的第1位,也是人類歷史上第一臺計算能力跨越1億億次每秒的計算系統(tǒng)。譯者簡介:殷中翔,日本國立九州大學系統(tǒng)信息專業(yè)碩士學位。具有十余年軟件開發(fā)經(jīng)驗,現(xiàn)主要從事企業(yè)Web系統(tǒng)服務器端的開發(fā)及維護工作。

圖書目錄


第I部分
什么是UNIX V6  
第1章 UNIX V6的全貌  
1.1  什么是UNIX  V6  
1.2  UNIX的歷史
1.3  UNIX  V6內核  
1.4  構成UNIX V6運行環(huán)境的硬件  
PDP-11  
1.5  代碼  
1.6  手冊  
1.7  小結  
第II部分
進程  
第2章 進程  
2.1  進程的概要  
什么是進程  
進程的并行執(zhí)行  
進程的執(zhí)行狀態(tài)  
用戶模式和內核模式  
交換處理
2.2  proc結構體和user結構體  
proc結構體  
user結構體  
2.3  為進程分配的內存  
代碼段  
數(shù)據(jù)段  
虛擬地址空間  
變換地址  
2.4  小結  
第3章 進程的管理I  
3.1  進程的生命周期  
3.2  創(chuàng)建進程  
進程的復制  
父進程和子進程  
系統(tǒng)調用fork  
newproc()  
panic()  
3.3  切換執(zhí)行進程  
中斷執(zhí)行進程  
進程的執(zhí)行狀態(tài)  
選擇執(zhí)行進程的算法  
上下文切換  
系統(tǒng)調用wait  
sleep()  
swtch()  
swtch()  的返回位置  
setpri()  
wakeup()  
setrun()  
3.4  執(zhí)行程序  
程序執(zhí)行文件的格式  
系統(tǒng)調用exec  
estabur()  
sureg()  
expand()  
3.5  進程的終止  
系統(tǒng)調用exit  
系統(tǒng)調用wait  
3.6  數(shù)據(jù)區(qū)域的擴展  
系統(tǒng)調用break  
3.7  管理內存和交換空間  
map結構體  
獲取未使用區(qū)域  
釋放區(qū)域  
3.8  小結  
第4章 交換處理  
4.1  什么是交換處理  
代碼段和數(shù)據(jù)段  
sched()  
xswap()  
4.2  共享代碼段的處理  
xalloc()  
xfree()  
xccdec()  
4.3  小結  
第III  部分
中斷  
第5章 中斷與陷入  
5.1  什么是中斷與陷入  
什么是中斷  
什么是陷入  
5.2  優(yōu)先級與向量(Vector)  
中斷優(yōu)先級和處理器優(yōu)先級  
中斷和陷入向量  
5.3  中斷和陷入的處理流程  
發(fā)生中斷或陷入  
執(zhí)行call和trap  
5.4  時鐘中斷處理函數(shù)  
時鐘設備的規(guī)格  
時鐘中斷處理函數(shù)的內容  
clock()  
5.5  陷入處理函數(shù)  
trap()  
grow()  
5.6  系統(tǒng)調用的處理流程  
傳遞參數(shù)的方法  
sysent結構體  
trap()  
5.7  小結  
第6章 信號  
6.1  什么是信號  
信號的發(fā)送方法  
確認接收信號  
信號的種類  
ssig()  
kill()  
signal()  
psignal()  
issig()  
psig()  
core()  
在系統(tǒng)調用處理中處理信號  
6.2  跟蹤功能  
什么是跟蹤  
ipc結構體  
跟蹤的處理流程  
stop()  
ptrace()  
procxmt()  
wait()  
6.3  小結  
第IV  部分
塊I/O  系統(tǒng)  
第7章 塊設備子系統(tǒng)  
7.1  設備的基礎  
設備的種類  
設備驅動  
類別和設備編號  
特殊文件  
7.2  塊設備子系統(tǒng)  
緩沖區(qū)  
b-list和av-list  
RAW  輸入輸出  
7.3  緩沖區(qū)的初始化  
binit()  
clrbuf()  
7.4  緩沖區(qū)的獲取和釋放  
getblk()  
notavail()  
brelse()  
7.5  讀取  
讀取的種類  
bread()  
iowait()  
iodone()  
geterror()  
breada()  
incore()  
7.6  寫入  
寫入的種類  
bwrite()  
bawrite()  
bdwrite()  
bflush()  
7.7  RAW輸入輸出  
physio()  
swap()  
7.8  小結  
第8章 塊設備驅動  
8.1  什么是塊設備驅動  
塊設備驅動表  
設備處理隊列  
處理流程  
8.2  RK-11磁盤驅動  
RK11-D  
特殊文件  
設定bdevsw[]  
中斷處理函數(shù)  
RK11-D  的寄存器  
rkstrategy()  
rkstart()  
rkaddr()  
devstart()  
rkintr()  
RAW  輸入輸出  
8.3  小結  
第V  部分
文件系統(tǒng)  
第9章 文件系統(tǒng)  
9.1  什么是文件系統(tǒng)  
inode  
樹狀結構的命名空間  
掛載  
訪問權限  
根磁盤  
9.2  塊設備的區(qū)域  
用于啟動的區(qū)域  
超級塊  
inode區(qū)域  
存儲區(qū)域  
9.3  掛載  
mount結構體  
系統(tǒng)調用mount  
getmdev()  
系統(tǒng)調用umount  
9.4  inode的獲取和釋放  
inode[]  
iget()  
iput()  
iupdat()  
9.5  inode與存儲區(qū)域的對應關系  
bmap()  
itrunc()  
9.6  分配塊設備中的塊  
ialloc()  
ifree()  
alloc()  
free()  
getfs()  
badblock()  
9.7  將路徑變?yōu)閕node  
目錄的內容  
namei()  
access()  
9.8  初始化與同步  
iinit()  
update()  
9.9  小結  
第10章 文件處理  
10.1  用戶程序對文件的處理  
10.2  3  個結構體  
標準輸入輸出  
10.3  文件的生成和打開處理  
系統(tǒng)調用creat  
maknode()  
wdir()  
系統(tǒng)調用open  
open1()  
falloc()  
ufalloc()  
openi()  
10.4  文件的讀取和寫入  
系統(tǒng)調用read、write  
rdwr()  
readi()  
writei()  
iomove()  
getf()  
10.5  指定文件的讀寫位置  
系統(tǒng)調用seek  
10.6  關閉文件  
系統(tǒng)調用close  
closef()  
closei()  
10.7  目錄的生成  
系統(tǒng)調用mknod  
10.8  文件的鏈接  
系統(tǒng)調用link  
suser()  
10.9  刪除文件  
系統(tǒng)調用unlink  
10.10  小結  
第11章 管道  
11.1  什么是管道  
使用管道的優(yōu)點  
11.2  開始管道通信  
系統(tǒng)調用pipe  
11.3  收發(fā)數(shù)據(jù)  
writep()  
readp()  
plock()  
prele()  
11.4  結束管道通信  
closef()  
11.5  建立管道通信的流程  
建立父子進程間的通信  
系統(tǒng)調用dup  
11.6  小結  
第VI  部分
字符I/O  系統(tǒng)  
第12章 字符設備  
12.1  字符設備驅動  
字符設備緩沖區(qū)  
對緩沖區(qū)的操作  
初始化緩沖區(qū)池  
12.2  LP11設備驅動  
什么是LP11  
LP11設備驅動的功能  
lpopen()  
lpwrite()  
lpcanon()  
lpoutput()  
lpstart()  
lpint()  
lpclose()  
12.3  小結  
第13章 電傳終端  
13.1  什么是電傳終端  
電傳終端的接口  
特殊文件  
tty  結構體  
maptab[]  
partab[]  
KL11/DL11  
KL11/DL11設備驅動的規(guī)格  
KL11/DL11設備驅動函數(shù)  
13.2  終端的開啟和關閉  
klopen()  
klclose()  
wflushtty()  
flushtty()  
13.3  終端的設定  
gtty()  
stty()  
sgtty()  
klsgtty()  
ttystty()  
13.4  從終端輸入文字  
klrint()  
ttyinput()  
13.5  讀取輸入的數(shù)據(jù)  
klread()  
ttread()  
canon()  
13.6  向終端輸出數(shù)據(jù)  
klwrite()  
ttwrite()  
ttyoutput()  
ttstart()  
ttrstrt()  
klxint()  
13.7  小結  
第VII  部分
啟動系統(tǒng)  
第14章 啟動系統(tǒng)  
14.1  啟動的流程  
start  
main()  
/etc/init  
14.2  小結  
附 錄  參考資料等  
A.1 參考文獻、網(wǎng)站  
A.2 pre  K&R  C  
后記  
索引

本目錄推薦

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