UNIX操作系統(tǒng)設(shè)計(jì)

出版時(shí)間:2012-3  出版社:機(jī)械工業(yè)出版社  作者:(美) Maurice J. Bach  譯者:陳葆鈺,王旭,柳純錄,馮雪山  
Tag標(biāo)簽:無  

內(nèi)容概要

本書作者M(jìn)aurice J.Bach多年來在AT&T公司貝爾實(shí)驗(yàn)室工作,對(duì)UNIX系統(tǒng)的設(shè)計(jì)思想有深刻了解,又有講授UNIX系統(tǒng)的豐富經(jīng)驗(yàn)。
本書是Linux之父Linux Torvalds曾捧讀的經(jīng)典著作。在本書中,作者描述了構(gòu)成UNIX操作系統(tǒng)基礎(chǔ)的內(nèi)部算法與結(jié)構(gòu),以及它們與程序接口之間的聯(lián)系。本書雖然以UNIX系統(tǒng)V為背景,但是介紹的算法、數(shù)據(jù)結(jié)構(gòu)卻并沒有專門針對(duì)任何一種特定的內(nèi)核,所以直到今日,本書仍然是世界上許多大學(xué)操作系統(tǒng)課程的必讀或推薦教材。讀者如果想學(xué)習(xí)UNIX,本書依然是最好的選擇之一。
本書內(nèi)容包括
?UNIX內(nèi)核體系結(jié)構(gòu)
?磁盤高速緩沖機(jī)制
?文件系統(tǒng)內(nèi)部數(shù)據(jù)結(jié)構(gòu)與算法
?控制進(jìn)程上下文的系統(tǒng)調(diào)用與進(jìn)程調(diào)度
?存儲(chǔ)管理,包括對(duì)換和請(qǐng)求調(diào)頁系統(tǒng)
?通用驅(qū)動(dòng)程序接口,包括磁盤驅(qū)動(dòng)程序和終端驅(qū)動(dòng)程序
?進(jìn)程間通信與網(wǎng)絡(luò),包括系統(tǒng)V消息、共享存儲(chǔ)和信號(hào)量
?緊密耦合的多處理機(jī)UNIX系統(tǒng)和松散耦合的分布式UNIX系統(tǒng)

書籍目錄

譯者序
前言
第1章  系統(tǒng)概貌
1.1  歷史
1.2  系統(tǒng)結(jié)構(gòu)
1.3  用戶看法
1.3.1  文件系統(tǒng)
1.3.2  處理環(huán)境
1.3.3  構(gòu)件原語
1.4  操作系統(tǒng)服務(wù)
1.5  關(guān)于硬件的假設(shè)
1.5.1  中斷與例外
1.5.2  處理機(jī)執(zhí)行級(jí)
1.5.3  存儲(chǔ)管理
1.6  本章小結(jié)
第2章  內(nèi)核導(dǎo)言
2.1  UNIX操作系統(tǒng)的體系結(jié)構(gòu)
2.2  系統(tǒng)概念介紹
2.2.1  文件子系統(tǒng)概貌
2.2.2  進(jìn)程
2.3  內(nèi)核數(shù)據(jù)結(jié)構(gòu)
2.4  系統(tǒng)管理
2.5  本章小結(jié)
2.6  習(xí)題
第3章  數(shù)據(jù)緩沖區(qū)高速緩沖
3.1  緩沖頭部
3.2  緩沖池的結(jié)構(gòu)
3.3  緩沖區(qū)的檢索
3.4  讀磁盤塊與寫磁盤塊
3.5  高速緩沖的優(yōu)點(diǎn)與缺點(diǎn)
3.6  本章小結(jié)
3.7  習(xí)題
第4章  文件的內(nèi)部表示
4.1  索引節(jié)點(diǎn)
4.1.1  定義
4.1.2  對(duì)索引節(jié)點(diǎn)的存取
4.1.3  釋放索引節(jié)點(diǎn)
4.2  正規(guī)文件的結(jié)構(gòu)
4.3  目錄
4.4  路徑名到索引節(jié)點(diǎn)的轉(zhuǎn)換
4.5  超級(jí)塊
4.6  為新文件分配索引節(jié)點(diǎn)
4.7  磁盤塊的分配
4.8  其他文件類型
4.9  本章小結(jié)
4.10  習(xí)題
第5章  文件系統(tǒng)的系統(tǒng)調(diào)用
5.1  系統(tǒng)調(diào)用open
5.2  系統(tǒng)調(diào)用read
5.3  系統(tǒng)調(diào)用write
5.4  文件和記錄的上鎖
5.5  文件的輸入/輸出位置的調(diào)整—lseek
5.6  系統(tǒng)調(diào)用close
5.7  文件的建立
5.8  特殊文件的建立
5.9  改變目錄及根
5.10  改變所有者及許可權(quán)方式
5.11  系統(tǒng)調(diào)用stat和fstat
5.12  管道
5.12.1  系統(tǒng)調(diào)用pipe
5.12.2  有名管道的打開
5.12.3  管道的讀和寫
5.12.4  管道的關(guān)閉
5.12.5  例
5.13  系統(tǒng)調(diào)用dup
5.14  文件系統(tǒng)的安裝和拆卸
5.14.1  在文件路徑名中跨越安裝點(diǎn)
5.14.2  文件系統(tǒng)的拆卸
5.15  系統(tǒng)調(diào)用link
5.16  系統(tǒng)調(diào)用unlink
5.16.1  文件系統(tǒng)的一致性
5.16.2  競爭條件
5.17  文件系統(tǒng)的抽象
5.18  文件系統(tǒng)維護(hù)
5.19  本章小結(jié)
5.20  習(xí)題
第6章  進(jìn)程結(jié)構(gòu)
6.1  進(jìn)程的狀態(tài)和狀態(tài)的轉(zhuǎn)換
6.2  系統(tǒng)存儲(chǔ)方案
6.2.1  區(qū)
6.2.2  頁和頁表
6.2.3  內(nèi)核的安排
6.2.4  u區(qū)
6.3  進(jìn)程的上下文
6.4  進(jìn)程上下文的保存
6.4.1  中斷和例外
6.4.2  系統(tǒng)調(diào)用的接口
6.4.3  上下文切換
6.4.4  為廢棄返回(abortive return)而保存上下文
6.4.5  在系統(tǒng)和用戶地址空間之間拷貝數(shù)據(jù)
6.5  進(jìn)程地址空間的管理
6.5.1  區(qū)的上鎖和解鎖
6.5.2  區(qū)的分配
6.5.3  區(qū)附接到進(jìn)程
6.5.4  區(qū)大小的改變
6.5.5  區(qū)的裝入
6.5.6  區(qū)的釋放
6.5.7  區(qū)與進(jìn)程的斷接
6.5.8  區(qū)的復(fù)制
6.6  睡眠
6.6.1  睡眠事件及地址
6.6.2  算法sleep和wakeup
6.7  本章小結(jié)
6.8  習(xí)題
第7章  進(jìn)程控制
7.1  進(jìn)程的創(chuàng)建
7.2  軟中斷信號(hào)
7.2.1  軟中斷信號(hào)的處理
7.2.2  進(jìn)程組
7.2.3 從進(jìn)程發(fā)送軟中斷信號(hào)
7.3  進(jìn)程的終止
7.4  等待進(jìn)程的終止
7.5  對(duì)其他程序的引用
7.6  進(jìn)程的用戶標(biāo)識(shí)號(hào)
7.7  改變進(jìn)程的大小
7.8  shell程序
7.9  系統(tǒng)自舉和進(jìn)程init
7.10  本章小結(jié)
7.11  習(xí)題
第8章  進(jìn)程調(diào)度和時(shí)間
8.1  進(jìn)程調(diào)度
8.1.1  算法
8.1.2  調(diào)度參數(shù)
8.1.3  進(jìn)程調(diào)度的例子
8.1.4  進(jìn)程優(yōu)先權(quán)的控制
8.1.5  公平共享調(diào)度
8.1.6  實(shí)時(shí)處理
8.2  有關(guān)時(shí)間的系統(tǒng)調(diào)用
8.3  時(shí)鐘
8.3.1  重新啟動(dòng)時(shí)鐘
8.3.2  系統(tǒng)的內(nèi)部定時(shí)
8.3.3  直方圖分析
8.3.4  記帳和統(tǒng)計(jì)
8.3.5 計(jì)時(shí)
8.4  本章小結(jié)
第9章  存儲(chǔ)管理策略
9.1  對(duì)換
9.1.1  對(duì)換空間的分配
9.1.2  進(jìn)程的換出
9.1.3  進(jìn)程的換入
9.2  請(qǐng)求調(diào)頁
9.2.1  請(qǐng)求調(diào)頁的數(shù)據(jù)結(jié)構(gòu)
9.2.2  偷頁進(jìn)程
9.2.3  頁面錯(cuò)
9.2.4  在簡單硬件支持下的請(qǐng)示調(diào)頁系統(tǒng)
9.3  對(duì)換和請(qǐng)示調(diào)頁的混合系統(tǒng)
9.4  本章小結(jié)
9.5  習(xí)題
第10章  輸入/輸出子系統(tǒng)
10.1  驅(qū)動(dòng)程序接口
10.1.1  系統(tǒng)配置
10.1.2  系統(tǒng)調(diào)用與驅(qū)動(dòng)程序接口
10.1.3  中斷處理程序
10.2  磁盤驅(qū)動(dòng)程序
10.3  終端驅(qū)動(dòng)程序
10.3.1  字符表clist
10.3.2  標(biāo)準(zhǔn)方式下的終端驅(qū)動(dòng)程序
10.3.3  原始方式下的終端驅(qū)動(dòng)程序
10.3.4  終端擰詢
10.3.5  建立控制終端
10.3.6  間接終端驅(qū)動(dòng)程序
10.3.7  注冊(cè)到系統(tǒng)
10.4  流
10.4.1  流的詳細(xì)的示例
10.4.2  對(duì)流的分析
10.5  本章小結(jié)
10.6  習(xí)題
第11章進(jìn)程間通信
11.1  進(jìn)程跟蹤
11.2  系統(tǒng)V IPC
11.2.1  消息
11.2.2  共享存儲(chǔ)區(qū)
11.2.3  信號(hào)量
11.2.4  總的評(píng)價(jià)
11.3  網(wǎng)絡(luò)通信
11.4  套接字
11.5  本章小結(jié)
11.6  習(xí)題
第12章  多處理機(jī)系統(tǒng)
12.1  多處理機(jī)系統(tǒng)的問題
12.2  主從處理機(jī)解決方法
12.3  信號(hào)量解決方法
12.3.1  信號(hào)量定義
12.3.2  信號(hào)量實(shí)現(xiàn)
12.3.3  幾個(gè)算法
12.4  Tunis系統(tǒng)
12.5  性能局限性
12.6  習(xí)題
第13章  分布式UNIX系統(tǒng)
13.1  衛(wèi)星處理機(jī)系統(tǒng)
13.2  紐卡斯?fàn)栠B接
13.3  透明型分布式文件系統(tǒng)
13.4  無存根進(jìn)程的透明分布式模型
13.5  本章小結(jié)
13.6  習(xí)題
附錄A  系統(tǒng)調(diào)用
參考文獻(xiàn)
索引

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    UNIX操作系統(tǒng)設(shè)計(jì) PDF格式下載


用戶評(píng)論 (總計(jì)12條)

 
 

  •     這本書很老,但是不可錯(cuò)過——至少現(xiàn)在2013年還沒有過時(shí)。它向讀者展示了UNIX最開始的設(shè)計(jì)和實(shí)現(xiàn),今天的各種*nix,包括但不限于各種BSD,Solaris以及Linux的結(jié)構(gòu)都源自這里。另外,對(duì)于學(xué)習(xí)OS設(shè)計(jì)的同學(xué)來說,了解UNIX這樣一個(gè)流行了幾十年的OS的最初設(shè)計(jì),或許能夠得到一些啟發(fā)。
  •     要是沒有上過os課的人看這個(gè)中譯本估計(jì)要累死。
      翻譯科技作品其實(shí)要考慮讀者閱讀習(xí)慣,最好是一目十行就算不能看懂,但最起碼要能一眼看明白主謂賓,要能快速曉得你是要說一個(gè)什么現(xiàn)象,然后哪一段文字在描述其內(nèi)在機(jī)理,這樣才能快速獲取知識(shí),最起碼能搭一個(gè)知識(shí)體系的架構(gòu)。英語由于有各種從句,而且從句標(biāo)識(shí)詞很明確,所以邏輯很容易快速搞清,此外主動(dòng)被動(dòng),插入語皆是如此。中文就不同,你如果完全按照原文翻,又不細(xì)究“的”,“了”,“過”,“被”這些詞的用法(甚至應(yīng)當(dāng)保持一致性用法),遇上再對(duì)專有名詞缺乏一致性描述,那讀者就死定了,必須要想看小說一樣,瞪大眼睛,一個(gè)字都不能缺失的精讀才能把握其意思。樓上人說看書不浮躁固然行,但你一個(gè)專業(yè)的人員,要讀多少書啊,這不是文學(xué)著作,字里行間甚至一個(gè)詞都能折射作者刻畫的內(nèi)心漣漪,我們需要的是快速構(gòu)建知識(shí)體系。甚至,你可以花時(shí)間讀完了再回味,再重新實(shí)驗(yàn)書中原理,但絕非花時(shí)間斟酌其字面意思。
      這本書的中譯,我手頭的是00年4月版,就是我說的后者這般翻譯。試看圖6-8,什么叫第1層的保存的寄存器上下文,中文都不通,如果按高考語文改錯(cuò)標(biāo)準(zhǔn)看。ok,要細(xì)讀不是?前頁描述其為“其中每個(gè)棧中有保存的前一層寄存器上下文以及當(dāng)內(nèi)核在該層執(zhí)行時(shí)的核心棧?!?/li>
  •     Bach的巨著,precisely 我的口味,樸實(shí)厚重務(wù)實(shí)。適合學(xué)完c,知道OS是什么的人讀,也適合內(nèi)核高手。
      不過不知道國內(nèi)神馬套路,這么好的書沒個(gè)好的版本。前年開學(xué)那天去中關(guān)村圖書大廈那邊跑個(gè)遍,才在角落里找到僅有的兩本影印版,而且那印刷的質(zhì)量,。。機(jī)械工業(yè)出版社的。但是讀了幾張之后,就完全忘了這歪歪的字體,沉浸在它簡潔直接的內(nèi)容中了。
      關(guān)于中文版么,還是覺得英文功底要好點(diǎn)才好,看看咱的人寫書的態(tài)度,還能對(duì)翻譯的態(tài)度有期望么。。。即使態(tài)度有了,功底有了,但是翻譯過的總是有那么點(diǎn)。。。不說別的,就書名design翻譯成“設(shè)計(jì)”我個(gè)人就覺得不合適,傳不了那神,還容易讓初學(xué)者嚇著。
      
      還有就是K & R的 The C Programming Language ,這兩本書目前是我心目中位置最高的兩本基礎(chǔ)書了。希望有一天國內(nèi)的大師也能安靜下來為我們菜鳥寫出一些經(jīng)典來,更希望出版機(jī)構(gòu)能有專業(yè)的編輯幫助有功底的大師們寫出reader-friendly的書來,真缺啊。
      
      
  •     多說無益,請(qǐng)看實(shí)例:
      本書章節(jié) 1.5
      中譯本:即使用戶對(duì)操作系統(tǒng)有顯示的沒提出什么服務(wù)請(qǐng)求
      英文版:Even if the user makes no explicit request for operating system services
      
      書中還有不少類似的翻譯,上例比較極端。
      建議還是盡量去讀英文版的吧。看中文版,或許需要讀者有相當(dāng)?shù)挠?jì)算機(jī)知識(shí),才有足夠的辯別能力。
  •   沒你說的那么不堪,很好的一本書
  •   英文版毋庸置疑,一翻譯就不行了。
    第一章小結(jié):“系統(tǒng)調(diào)用使得進(jìn)程能做要是沒有系統(tǒng)調(diào)用就做不成的事”,這個(gè)咋這么別扭呢?明顯是趕著翻譯完嘛。實(shí)在是看不下去了,去china-pub上搜了搜居然有人說1,2,3,4章翻譯的不錯(cuò)?!
    有志于做計(jì)算機(jī)研究的人士還是加強(qiáng)自己的英文閱讀水平吧。這個(gè)世界就是不靠譜的人做靠譜的事,簡直就是悲劇阿。
  •   經(jīng)典翻譯后就變垃圾了。
  •   翻譯得太垃圾,一班傻比
  •   感覺不是翻譯的問題,是沒有耐心下來讀的問題。樓主說的那段話,我在04年10月第1版第7次印刷P12找到的原話是“即使用戶對(duì)操作系統(tǒng)沒有顯示的提出什么服務(wù)請(qǐng)求”,感覺很好理解。@snail提出的那段話,感覺中文也不是很難理解。
  •   要是沒有上過os課的人看這個(gè)中譯本估計(jì)要累死。
    翻譯科技作品其實(shí)要考慮讀者閱讀習(xí)慣,最好是一目十行就算不能看懂,但最起碼要能一眼看明白主謂賓,要能快速曉得你是要說一個(gè)什么現(xiàn)象,然后哪一段文字在描述其內(nèi)在機(jī)理,這樣才能快速獲取知識(shí),最起碼能搭一個(gè)知識(shí)體系的架構(gòu)。英語由于有各種從句,而且從句標(biāo)識(shí)詞很明確,所以邏輯很容易快速搞清,此外主動(dòng)被動(dòng),插入語皆是如此。中文就不同,你如果完全按照原文翻,又不細(xì)究“的”,“了”,“過”,“被”這些詞的用法(甚至應(yīng)當(dāng)保持一致性用法),遇上再對(duì)專有名詞缺乏一致性描述,那讀者就死定了,必須要想看小說一樣,瞪大眼睛,一個(gè)字都不能缺失的精讀才能把握其意思。樓上人說看書不浮躁固然行,但你一個(gè)專業(yè)的人員,要讀多少書啊,這不是文學(xué)著作,字里行間甚至一個(gè)詞都能折射作者刻畫的內(nèi)心漣漪,我們需要的是快速構(gòu)建知識(shí)體系。甚至,你可以花時(shí)間讀完了再回味,再重新實(shí)驗(yàn)書中原理,但絕非花時(shí)間斟酌其字面意思。
    這本書的中譯,我手頭的是00年4月版,就是我說的后者這般翻譯。試看圖6-8,什么叫第1層的保存的寄存器上下文,中文都不通,如果按高考語文改錯(cuò)標(biāo)準(zhǔn)看。ok,要細(xì)讀不是?前頁描述其為“其中每個(gè)棧中有保存的前一層寄存器上下文以及當(dāng)內(nèi)核在該層執(zhí)行時(shí)的核心棧?!?/li>
  •   這個(gè)的問題不是趕著翻譯完,而是說法有點(diǎn)別扭。這書第一版中文版是1989年出的。
    1989年版里面那句話是“即使用戶對(duì)操作系統(tǒng)沒提出什么明確的服務(wù)請(qǐng)求”。我覺得這個(gè)和2000年版里面的都沒問題,能看明白
  •   經(jīng)典的東西多是作者花了畢生的時(shí)間做的自我思想體系的總結(jié),其思考和醞釀的時(shí)間往往遠(yuǎn)長于內(nèi)地一些人氏用于翻譯的時(shí)間,若不是想走馬觀花般的了解其內(nèi)容,多花些時(shí)間看看本源,我覺得這是一件有益的事情。爭議多源于不同的目的,有些人只是為了能快速的了解其大概,有些則會(huì)時(shí)不時(shí)翻開細(xì)細(xì)品位句中珠璣。對(duì)于立志此行的人氏,既然術(shù)有本源為何舍本而求末呢?
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7