出版時(shí)間:2012-3-15 出版社:機(jī)械工業(yè)出版社華章公司 作者:鄒恒明 頁數(shù):448
Tag標(biāo)簽:無
前言
In Pursuit of Absolute Simplicity求于至簡,歸于永恒當(dāng)你在電腦上玩游戲、與朋友聊天或編寫一個(gè)程序并加載運(yùn)行的時(shí)候,你有沒有一種像在觀看魔術(shù)的感覺?編寫好的程序能夠編譯運(yùn)行,計(jì)算出結(jié)果,并顯示或打印出來。你有沒有覺得它很神秘? 如果想揭開這層神秘的面紗,你就得學(xué)習(xí)操作系統(tǒng)。因?yàn)椴僮飨到y(tǒng)是掌控計(jì)算機(jī)運(yùn)行的系統(tǒng),在學(xué)習(xí)它的過程中,讀者能夠了解程序在計(jì)算機(jī)上運(yùn)行的全景,或者說我們所認(rèn)為的全景(見圖1)。之所以這么說,是因?yàn)榫_了解程序圖1風(fēng)靡世界的游戲《第二生命》在計(jì)算機(jī)上運(yùn)行的全景是極其困難的(有人認(rèn)為這根本就是不可能的)。當(dāng)然,這里的程序指的是有一定規(guī)模的程序,而不是那種只有幾行代碼的小程序(trivial program)。從某種程度上說,沒有人敢肯定自己清楚計(jì)算機(jī)在任意時(shí)刻所處的狀態(tài)。例如,在多流水線計(jì)算機(jī)上,如果發(fā)生中斷或異常, 我們根本就得不到一個(gè)精準(zhǔn)的狀態(tài)。唯一能做的就是推倒重來。計(jì)算機(jī)的心智人有心智嗎?我想所有人都會(huì)回答:有!人的心智就是人的靈氣。這是每一個(gè)人的生命之氣。就是這個(gè)靈氣賦予了人豐富的思維、感受和行動(dòng)能力(當(dāng)然,也有人認(rèn)為這是肉體進(jìn)化的結(jié)果,不過這不是本書要討論的問題)。那么計(jì)算機(jī)有心智嗎?這不是一個(gè)詭秘或者搞笑的問題。人們通常認(rèn)為能夠運(yùn)動(dòng)的生命都是有靈氣的,既然計(jì)算機(jī)能夠完成一些人腦才能夠完成的理性任務(wù),它當(dāng)然也有心智!而這個(gè)心智就是操作系統(tǒng)(見圖2)。因?yàn)椴僮飨到y(tǒng)賦予了計(jì)算機(jī)活力。雖然讀者有可能尚不明白操作系統(tǒng)是怎么一回事兒,但也許知道若沒有操作系統(tǒng),現(xiàn)代計(jì)算機(jī)是運(yùn)轉(zhuǎn)不起來的(這里需排除遠(yuǎn)古時(shí)代的古老計(jì)算機(jī))。操作系統(tǒng)作為計(jì)算機(jī)賴以運(yùn)轉(zhuǎn)的控制中心,稱其為計(jì)算機(jī)的心智可謂恰如其分。圖2計(jì)算機(jī)的心智就是操作系統(tǒng)眾所周知,理解或看透一個(gè)人的心智是很困難的,所謂畫虎畫皮難畫骨,知人知面難知心。依此類推,既然操作系統(tǒng)是計(jì)算機(jī)的心智,恐怕理解起來也是困難重重的了。而這正是許多人在學(xué)習(xí)和研究操作系統(tǒng)時(shí)的共同感受。操作系統(tǒng)的奧秘記得小時(shí)候常常念過的一首詩是這樣的:從小時(shí)候就開始數(shù)了。數(shù)到懂事、數(shù)到成熟,還沒有數(shù)清。天上的星星為什么數(shù)不清呢?像記憶和幻想,永遠(yuǎn)背負(fù)著固執(zhí)的謎……對于許多大學(xué)計(jì)算機(jī)及相關(guān)專業(yè)的同學(xué)來說,操作系統(tǒng)就像天上的星星(見圖3),隱藏著一個(gè)固執(zhí)的謎,永遠(yuǎn)學(xué)不清楚。不過,操作系統(tǒng)真的學(xué)不清楚嗎?不是的。學(xué)不清楚是因?yàn)闆]有看到其背后的奧秘。這個(gè)奧秘不是所有的人都知道的。即使是研究操作系統(tǒng)的人也不一定意識(shí)到它,更別提計(jì)算機(jī)初學(xué)者了。
內(nèi)容概要
操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的核心系統(tǒng)軟件,負(fù)責(zé)控制和管理整個(gè)系統(tǒng),使之協(xié)調(diào)工作。本書對操作系統(tǒng)的核心內(nèi)容進(jìn)行了全面分析,包括操作系統(tǒng)的發(fā)展歷史和基本概念、進(jìn)程與線程、內(nèi)存管理、文件系統(tǒng)、輸入與輸出、多核環(huán)境下的進(jìn)程調(diào)度和操作系統(tǒng)設(shè)計(jì)。本書用大量生活實(shí)例,生動(dòng)地解釋了操作系統(tǒng)中的主要難點(diǎn)和模糊點(diǎn):鎖的實(shí)現(xiàn)、同步機(jī)制的發(fā)展軸線、純粹分段到段頁式的演變、多核環(huán)境下的進(jìn)程同步與調(diào)度和操作系統(tǒng)設(shè)計(jì)等內(nèi)容。本書重點(diǎn)突出、邏輯清晰、內(nèi)容連貫,便于學(xué)生順利掌握操作系統(tǒng)的核心內(nèi)容。
本書層次豐富、涵蓋操作系統(tǒng)的所有核心內(nèi)容,適合作為國內(nèi)高校計(jì)算機(jī)及相關(guān)專業(yè)本科生操作系統(tǒng)課程的教材,也是了解計(jì)算機(jī)操作系統(tǒng)原理不可多得的參考書。
作者簡介
鄒恒明,美國密歇根大學(xué)博士。曾任職美國IBM、國家數(shù)據(jù)公司、朗訊、EMC公司8年多。在IBM和EMC分別從事AIX操作系統(tǒng)和Engenity存儲(chǔ)操作系統(tǒng)的研發(fā),其中包括911中挽摩根斯坦利公司于既倒的、美國唯一的“英雄軟件”SRDF。2007年在中國金融期貨交易系統(tǒng)(股指期貨)專家測評(píng)中擔(dān)任軟件測評(píng)組長。2004年以來在上海交大研究、執(zhí)教操作系統(tǒng)和算法設(shè)計(jì)等14門課程多年。
書籍目錄
前言
第一篇 基礎(chǔ)原理篇
第1章 操作系統(tǒng)導(dǎo)論
引子:智者的挑戰(zhàn)
1.1 人造與神造
1.2 程序是如何運(yùn)行的
1.3 什么是操作系統(tǒng)
1.4 魔術(shù)與管理
1.5 用戶程序與操作系統(tǒng)
1.6 操作系統(tǒng)的范疇
1.7 為什么學(xué)習(xí)操作系統(tǒng)
思考題
第2章操 作系統(tǒng)歷史
引子:不能承受之真
2.1 第一階段:狀態(tài)機(jī)操作系統(tǒng)(1940年以前)
2.2 第二階段:單一操作員單一控制端操作系統(tǒng)(20世紀(jì)40年代)
2.3 第三階段:批處理操作系統(tǒng)(20世紀(jì)50年代)
2.4 第四代:多道批處理操作系統(tǒng)(20世紀(jì)60年代)
2.5 第五代之一:分時(shí)操作系統(tǒng)(20世紀(jì)70年代)
2.6 第五代之二:實(shí)時(shí)操作系統(tǒng)
2.7 第六代:現(xiàn)代操作系統(tǒng)(1980年以后)
2.8 操作系統(tǒng)的演變過程
2.9 操作系統(tǒng)的未來發(fā)展趨勢
2.10 討論:操作系統(tǒng)虛擬化和虛擬化的操作系統(tǒng)
思考題
第3章 操作系統(tǒng)基本概念
引子:軟件師的尷尬
3.1 計(jì)算機(jī)硬件基本知識(shí)
3.2 抽象
3.3 內(nèi)核態(tài)和用戶態(tài)
3.4 操作系統(tǒng)結(jié)構(gòu)
3.5 進(jìn)程、內(nèi)存和文件
3.6 系統(tǒng)調(diào)用
3.7 殼
思考題
第二篇 進(jìn)程原理篇
第4章 進(jìn)程
引子:牛頓的困惑
4.1 進(jìn)程概論
4.2 進(jìn)程模型
4.3 多道編程的好處
4.4 進(jìn)程的產(chǎn)生與消失
4.5 進(jìn)程的層次結(jié)構(gòu)
4.6 進(jìn)程的狀態(tài)
4.7 進(jìn)程與地址空間
4.8 進(jìn)程管理
4.9 進(jìn)程的缺陷
思考題
第5章 進(jìn)程調(diào)度
引子:恐怖分子的調(diào)度
5.1 進(jìn)程調(diào)度的定義
5.2 進(jìn)程調(diào)度的目標(biāo)
5.3 先來先服務(wù)調(diào)度算法
5.4 時(shí)間片輪轉(zhuǎn)算法
5.5 短任務(wù)優(yōu)先算法
5.6 優(yōu)先級(jí)調(diào)度算法
5.7 混合調(diào)度算法
5.8 其他調(diào)度算法
5.9 實(shí)時(shí)調(diào)度算法
5.10 進(jìn)程調(diào)度的過程
5.11 高級(jí)議題:調(diào)度異常之優(yōu)先級(jí)倒掛
思考題
第6章 進(jìn)程通信
引子:孤獨(dú)爆破手的自白
6.1 為什么要通信
6.2 進(jìn)程對白:管道、記名管道、套接字
6.3 進(jìn)程電報(bào):信號(hào)
6.4 進(jìn)程旗語:信號(hào)量
6.5 進(jìn)程擁抱:共享內(nèi)存
6.6 信件發(fā)送:消息隊(duì)列
6.7 其他通信機(jī)制
思考題
第三篇 線程原理篇
第7章 線程
引子:亞歷山大的分身術(shù)
7.1 進(jìn)程的分身術(shù)——線程
7.2 線程管理
7.3 線程模型的實(shí)現(xiàn)
7.4 現(xiàn)代操作系統(tǒng)的線程實(shí)現(xiàn)模型
7.5 多線程的關(guān)系
7.6 討論:從用戶態(tài)進(jìn)入內(nèi)核態(tài)
7.7 討論:線程的困惑——確定性與非確定性
思考題
第8章 線程同步
引子:滑鐵盧的同步
8.1 為什么要同步
8.2 線程同步的目的
8.3 鎖的進(jìn)化:金魚生存
8.4 睡覺與叫醒:生產(chǎn)者與消費(fèi)者問題
8.5 信號(hào)量
8.6 鎖、睡覺與叫醒、信號(hào)量
8.7 管程
8.8 消息傳遞
8.9 柵欄
思考題
第9章 死鎖應(yīng)對之哲學(xué)原理
引子:迷霧籠罩的加拿大
9.1 為什么會(huì)發(fā)生死鎖
9.2 死鎖的描述
9.3 死鎖的4個(gè)必要條件
9.4 哲學(xué)家就餐問題
9.5 死鎖的應(yīng)對
9.6 消除死鎖的必要條件
9.7 銀行家算法:冒險(xiǎn)的代價(jià)
9.8 哲學(xué)家就餐問題之解
9.9 討論:死鎖的思考——綜合治理
9.10 討論:死鎖、活鎖與饑餓
思考題
第10章 鎖的實(shí)現(xiàn)
引子:高登繩結(jié)
10.1 以中斷啟用與禁止來實(shí)現(xiàn)鎖
10.2 以測試與設(shè)置指令來實(shí)現(xiàn)鎖
10.3 以非繁忙等待、中斷啟用與禁止來實(shí)現(xiàn)鎖
10.4 以最少繁忙等待、測試與設(shè)置來實(shí)現(xiàn)鎖
10.5 中斷禁止、測試與設(shè)置
思考題
第四篇 內(nèi)存原理篇
第11章 基本內(nèi)存管理
引子:讓別人無路可走
11.1 內(nèi)存管理的環(huán)境
11.2 內(nèi)存管理的目標(biāo)
11.3 虛擬內(nèi)存的概念
11.4 操作系統(tǒng)在內(nèi)存中的位置
11.5 單道編程的內(nèi)存管理
11.6 多道編程的內(nèi)存管理
11.7 閑置空間管理
思考題
第12章 頁式內(nèi)存管理
引子:虛擬概念的變現(xiàn)
12.1 基址極限管理模式的問題
12.2 分頁內(nèi)存管理
12.3 分頁系統(tǒng)的優(yōu)缺點(diǎn)
12.4 翻譯速度
12.5 缺頁中斷處理
12.6 鎖住頁面
12.7 頁面尺寸
12.8 內(nèi)存抖動(dòng)
思考題
第13章 頁面更換算法
引子:黑洞理論的替換
13.1 頁面需要更換
13.2 頁面更換的目標(biāo)
13.3 隨機(jī)更換算法
13.4 先進(jìn)先出算法
13.5 第二次機(jī)會(huì)算法
13.6 時(shí)鐘算法
13.7 最優(yōu)更換算法
13.8 NRU算法
13.9 LRU算法
13.10 工作集算法
13.11 工作集時(shí)鐘算法
13.12 頁面替換策略
思考題
第14章 段式內(nèi)存管理
引子:否定之否定
14.1 分頁系統(tǒng)的缺點(diǎn)
14.2 分段管理系統(tǒng)
14.3 分段的優(yōu)缺點(diǎn)
14.4 段頁式內(nèi)存管理
14.5 段號(hào)是否占用尋址字位
14.6 討論:否定之否定的嵌套——純粹分段與邏輯分段、分頁與段頁
思考題
第五篇 文件原理篇
第15章 磁盤操作
引子:EMC——從不可能到可能
15.1 磁盤組織與管理
15.2 磁盤的結(jié)構(gòu)
15.3 盤面的結(jié)構(gòu)
15.4 磁盤驅(qū)動(dòng)器的訪問速度
15.5 操作系統(tǒng)界面
15.6 磁盤調(diào)度算法
15.7 討論:固態(tài)盤
15.8 討論:智能磁盤系統(tǒng)
思考題
第16章 文件系統(tǒng)
引子:掩飾的極致
16.1 為什么需要文件系統(tǒng)
16.2 文件系統(tǒng)
16.3 文件系統(tǒng)的目標(biāo)
16.4 文件的基本知識(shí)
16.5 從用戶角度看文件系統(tǒng)
16.6 地址獨(dú)立的實(shí)現(xiàn)機(jī)制:文件夾
16.7 文件系統(tǒng)調(diào)用
16.8 內(nèi)存映射的文件訪問
思考題
第17 章文件系統(tǒng)實(shí)現(xiàn)
引子:成功中的失敗
17.1 文件系統(tǒng)的布局
17.2 文件的實(shí)現(xiàn)
17.3 目錄實(shí)現(xiàn):地址獨(dú)立的實(shí)現(xiàn)
17.4 閑置空間管理
思考題
第18章 文件系統(tǒng)性能
引子:從不可能到可能
18.1 文件授權(quán)管理
18.2 主動(dòng)控制:訪問控制表
18.3 能力表
18.4 訪問控制的實(shí)施
18.5 其他文件安全措施
18.6 文件系統(tǒng)性能
18.7 文件系統(tǒng)效率性能
18.8 文件系統(tǒng)設(shè)計(jì)分析:日志結(jié)構(gòu)的文件系統(tǒng)
18.9 海量數(shù)據(jù)文件系統(tǒng)
思考題
第六篇 I/O原理篇
第19章 輸入輸出
引子:約翰遜的輸出——從沒有到爆發(fā)
19.1 輸入輸出
19.2 輸入輸出的目的
19.3 輸入輸出硬件
19.4 I/O軟件
19.5 I/O軟件分層
思考題
第七篇 多核原理篇
第20章 多核結(jié)構(gòu)與內(nèi)存
引子:不能承受之熱
20.1 以量取勝
20.2 多核基本概念
20.3 多核的內(nèi)存結(jié)構(gòu)
20.4 對稱多處理器計(jì)算機(jī)的啟動(dòng)過程
20.5 多處理器之間的通信
20.6 SMP緩存一致性
20.7 多處理器、超線程和多核的比較
思考題
第21章 多核環(huán)境下的進(jìn)程同步與調(diào)度
引子:“多核”帝國的隕落
21.1 多核環(huán)境下操作系統(tǒng)的修正
21.2 多核環(huán)境下的進(jìn)程同步與調(diào)度
21.3 多核進(jìn)程同步
21.4 硬件原子操作
21.5 總線鎖
21.6 多核環(huán)境下的軟件同步原語
21.7 旋鎖
21.8 其他同步原語
21.9 多核環(huán)境下的進(jìn)程調(diào)度
21.10 多核環(huán)境下的能耗管理
21.11 討論:多核系統(tǒng)的性能
思考題
第八篇 操作系統(tǒng)設(shè)計(jì)篇
第22章 操作系統(tǒng)設(shè)計(jì)之哲學(xué)原理
引子:殘缺心智的勝利
22.1 操作系統(tǒng)設(shè)計(jì)的追求
22.2 操作系統(tǒng)設(shè)計(jì)的第1條哲學(xué)原理:層次架構(gòu)
22.3 操作系統(tǒng)設(shè)計(jì)的第2條哲學(xué)原理:沒有對錯(cuò)
22.4 操作系統(tǒng)設(shè)計(jì)的第3條哲學(xué)原理:懶人哲學(xué)
22.5 操作系統(tǒng)設(shè)計(jì)的第4條哲學(xué)原理:讓困于人
22.6 操作系統(tǒng)設(shè)計(jì)的第5條哲學(xué)原理:留有余地
22.7 操作系統(tǒng)設(shè)計(jì)的第6條哲學(xué)原理:子虛烏有——海市蜃樓之美
22.8 操作系統(tǒng)設(shè)計(jì)的第7條哲學(xué)原理:時(shí)空轉(zhuǎn)換——滄海桑田之變
22.9 操作系統(tǒng)設(shè)計(jì)的第8條哲學(xué)原理:策機(jī)分離與權(quán)利分離
22.10 操作系統(tǒng)設(shè)計(jì)的第9條哲學(xué)原理:簡單為美——求于至簡,歸于永恒
22.11 操作系統(tǒng)設(shè)計(jì)的第10條哲學(xué)原理:適可而止
思考題
結(jié)語:失望與希望
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁:插圖:12.第2個(gè)版本的衛(wèi)生間共享重做第10題的衛(wèi)生間共享問題。這次把優(yōu)先級(jí)賦予當(dāng)前使用衛(wèi)生間的性別。例如,如果衛(wèi)生間里面已經(jīng)有女士在使用,新來的女士即可以直接進(jìn)去,即使有男士在衛(wèi)生間外面等待。13.第3個(gè)版本的衛(wèi)生間共享重做第10題。這次需要保證公平,并防止饑餓:如果女士在衛(wèi)生間,則只要沒有男士等待在外面,新來的女士皆可以進(jìn)入衛(wèi)生間。如果有男士等待,則新來的女士就不能進(jìn)去,而必須等待在男士后面。當(dāng)衛(wèi)生間里的最后一位女士離開時(shí),等待的男士可全部進(jìn)入。14.讀者寫者問題中國航信的航空訂票數(shù)據(jù)庫系統(tǒng)是中國國內(nèi)所有航空公司的共享數(shù)據(jù)庫系統(tǒng)。所有的旅行社訂票均使用該系統(tǒng)進(jìn)行查詢、預(yù)訂和出票。由于旅行社數(shù)量眾多,在任意一個(gè)時(shí)間都可能有多個(gè)進(jìn)程對該數(shù)據(jù)庫進(jìn)行操作。所有讀寫數(shù)據(jù)庫的進(jìn)程分為讀者和寫者:讀者讀數(shù)據(jù)庫而已,寫者則對數(shù)據(jù)庫進(jìn)行更新。為保持?jǐn)?shù)據(jù)一致性,該數(shù)據(jù)庫的訪問需滿足如下限制:a)多個(gè)讀者可以同時(shí)對數(shù)據(jù)庫進(jìn)行(讀)操作。b)如果有一個(gè)寫者進(jìn)程在對數(shù)據(jù)庫進(jìn)行(寫)操作,則其他進(jìn)程都不能對數(shù)據(jù)庫進(jìn)行操作。請寫出讀者和寫者的偽代碼程序。
編輯推薦
《操作系統(tǒng)之哲學(xué)原理(第2版)》編輯推薦:《操作系統(tǒng)之哲學(xué)原理》自第1版出版以來,受到了讀者廣泛關(guān)注與好評(píng)!第2版以最新發(fā)展為內(nèi)容、以融會(huì)貫通為著眼、以邏輯演繹為主線、以生活實(shí)例為解說,將生活哲學(xué)與操作系統(tǒng)發(fā)展的來龍去脈進(jìn)行了完美的結(jié)合,并融匯了最新的知識(shí)點(diǎn)。帶給讀者更豐富的內(nèi)容和更深刻的思考。所見的暫時(shí)的,所不見的是永遠(yuǎn)的。《計(jì)算機(jī)的心智操作系統(tǒng)之哲學(xué)原理(第2版)》從生活哲學(xué)的視角對操作系統(tǒng)進(jìn)行了獨(dú)到的闡述。從人類自然的行為規(guī)范推演到操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),以一條邏輯軸線將整個(gè)操作系統(tǒng)的各種原理精彩呈現(xiàn)到讀者面前?!队?jì)算機(jī)的心智操作系統(tǒng)之哲學(xué)原理(第2版)》以操作系統(tǒng)的最新發(fā)展為內(nèi)容、以融會(huì)貫通為著眼點(diǎn)、以邏輯演繹為主線、以生活實(shí)例為解說,融匯了許多新的知識(shí)點(diǎn),如鎖的實(shí)現(xiàn)、虛擬內(nèi)存的四大抽象、多核環(huán)境下的進(jìn)程與內(nèi)存管理、操作系統(tǒng)設(shè)計(jì)的哲學(xué)原理等?!队?jì)算機(jī)的心智操作系統(tǒng)之哲學(xué)原理(第2版)》在論述上保持章節(jié)獨(dú)立,同時(shí)打破條塊分割和模塊離散,對操作系統(tǒng)進(jìn)行了有趣、新穎、獨(dú)特、深刻的闡述。例如:《計(jì)算機(jī)的心智操作系統(tǒng)之哲學(xué)原理(第2版)》以程序是如何運(yùn)行為主線,貫穿介紹操作系統(tǒng)的所有功能;進(jìn)程部分提出了處理器調(diào)度是操作系統(tǒng)實(shí)現(xiàn)進(jìn)程抽象的根本手段;線程部分闡述了同步機(jī)制的發(fā)展軸線:內(nèi)存管理部分提出了虛擬內(nèi)存所實(shí)現(xiàn)的四大抽象;文件部分提出了文件管理和內(nèi)存管理的一脈相承關(guān)系等?!队?jì)算機(jī)的心智操作系統(tǒng)之哲學(xué)原理(第2版)》特點(diǎn):抽象提升(從哲學(xué)原理上闡述操作系統(tǒng)的各種原理與設(shè)計(jì))。聯(lián)系生活(通過普通人熟知的生活實(shí)例來分析操作系統(tǒng))。模塊整合(將操作系統(tǒng)的各個(gè)模塊通過舉例聯(lián)結(jié)起來)。邏輯貫通(將操作系統(tǒng)的各種機(jī)制以一條邏輯軸線的發(fā)展依次講解)。系統(tǒng)關(guān)聯(lián)(將涉及的其他學(xué)科知識(shí)點(diǎn)如體系結(jié)構(gòu)和編譯器等嵌入進(jìn)來)《計(jì)算機(jī)的心智操作系統(tǒng)之哲學(xué)原理(第2版)》綜合上述特點(diǎn),達(dá)到了內(nèi)容上更加新穎、系統(tǒng)上更加完整、邏輯上更加連貫、解說上更加清楚和層次上更加豐富的效果。形而上著謂之道,形而下著謂之器。——《易經(jīng)》
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載