出版時(shí)間:2010-6 出版社:清華大學(xué)出版社 作者:斯圖爾特 頁(yè)數(shù):457
Tag標(biāo)簽:無(wú)
前言
在20年前,當(dāng)我在研究生院時(shí),就已萌生了寫這本書的想法。1986年夏天,在David Cohen博士的指導(dǎo)下,一群學(xué)生在一起進(jìn)行高級(jí)操作系統(tǒng)的學(xué)習(xí)討論。開始時(shí),我們想要編寫操作系統(tǒng),但很快我們的重點(diǎn)發(fā)生了轉(zhuǎn)移,最后決定編寫操作系統(tǒng)的教科書。正如事情經(jīng)常發(fā)生的情況一樣,我們幾乎沒有實(shí)現(xiàn)我們的初衷。然而,通過這種方式,我們對(duì)關(guān)于如何組織操作系統(tǒng)的教材進(jìn)行了許多富有成果的討論,通過擴(kuò)展,也找到了如何進(jìn)行操作系統(tǒng)教學(xué)的方法。這些想法與多年講授操作系統(tǒng)課程的實(shí)踐相結(jié)合,使我看到,講授操作系統(tǒng)有幾種不同的做法。同時(shí)也使我認(rèn)識(shí)到現(xiàn)有的課本都沒有真正提供這種靈活性,使教師可以根據(jù)自己的需求來(lái)講授操作系統(tǒng)這門課程。編寫本書的動(dòng)機(jī)就是為每位教師提供這種靈活性。組織本書主要包括七個(gè)主題,首先介紹操作系統(tǒng)的重要?dú)v史、結(jié)構(gòu)和組織、系統(tǒng)調(diào)用和引導(dǎo)。在此之后,較深入地分析了操作系統(tǒng)的主要功能:進(jìn)程、存儲(chǔ)、I/O設(shè)備和文件系統(tǒng)。最后兩個(gè)主題是安全性和分布式系統(tǒng)。首先介紹的五個(gè)主題依次在前四章中進(jìn)行介紹,每一章都從多個(gè)視角分析相關(guān)的主題。第l章依次介紹了與資源管理相關(guān)的基本原理。在這些章中,我介紹了相關(guān)的問題以及為了解決這些問題所使用的一些標(biāo)準(zhǔn)技術(shù)。在某些情況下,著重基本原理的章節(jié)也包括相關(guān)問題的討論。例如,在第5章中的互斥和死鎖主題是與進(jìn)程管理一起進(jìn)行討論的,因?yàn)檫@兩個(gè)主題都與進(jìn)程問通信相關(guān)。第2章依次概括性地介紹了操作系統(tǒng)的歷史和目前的操作系統(tǒng)。9個(gè)操作系統(tǒng)的示例集合主要包括:CISS、Multics、RT-11、第6版LINIX、4.3BSD、VMS、WindowsNT、FinyOS和Xen。之所以重點(diǎn)研究這些操作系統(tǒng),主要著眼點(diǎn)在于要以高層次的方式來(lái)研究這些操作系統(tǒng)的開發(fā)者如何將提供的標(biāo)準(zhǔn)技術(shù)轉(zhuǎn)化為實(shí)踐。在第3章和第4章的每個(gè)小節(jié)中,更深層次地研究實(shí)現(xiàn)的細(xì)節(jié)。在第3章中選取了Inferno中的部分代碼進(jìn)行討論,在第4章中選取了Linux中的部分代碼進(jìn)行討論。但是,在第21章和第22章中,并沒有采用前面的這種模式。這兩章分別討論了安全性和分布式系統(tǒng)。因?yàn)檫@兩個(gè)主題的每一個(gè)主題都可以寫成一本書,所以必須選擇性地討論這兩個(gè)主題。這兩章只介紹了一些有代表性的技術(shù)。在第2l章中,也討論了更受限的示例集來(lái)說明如何應(yīng)用安全技術(shù)。在附錄A中介紹了如何創(chuàng)建宿主Infer-110的內(nèi)核鏡像。為了完成修改Inferno內(nèi)核這樣的任務(wù),創(chuàng)建鏡像就是解決方案的一部分。以這種方式創(chuàng)建的內(nèi)核鏡像可以像應(yīng)用程序一樣運(yùn)行在現(xiàn)有的主機(jī)操作系統(tǒng)之上。附錄B教給用戶如何創(chuàng)建本地的Inferno內(nèi)核。特別是提供了用于x86PC上創(chuàng)建啟動(dòng)盤鏡像的必要步驟。這個(gè)鏡像可以寫入到軟盤或者用于創(chuàng)建啟動(dòng)CD-ROM。
內(nèi)容概要
本書的內(nèi)容主要包括7個(gè)主題:操作系統(tǒng)簡(jiǎn)介、進(jìn)程、存儲(chǔ)器、I/O設(shè)備、文件系統(tǒng)、操作系統(tǒng)安全和分布式操作系統(tǒng)。每一部分都從多個(gè)視角分析了主題的基本原理、應(yīng)用分析、詳細(xì)設(shè)計(jì),以及Inferno和Linux的實(shí)現(xiàn)。在詳細(xì)討論Inferno和Linux的這些章節(jié)中,主要側(cè)重與內(nèi)核中相對(duì)較小的一部分,這些部分用于說明在原理章節(jié)中涉及的技術(shù)與原理。書中介紹的每個(gè)函數(shù)都分成了小段,然后以更詳細(xì)的方式描述這些小段。這樣就能詳細(xì)地學(xué)習(xí)獨(dú)特內(nèi)核的一些關(guān)鍵內(nèi)容。本書除了基本的原理之外,還重點(diǎn)介紹了9個(gè)操作系統(tǒng)CTSS、Multics、RT-11、第6版UNIX、4.3BSD、VMS、Windows NT、TinyOS和Xen。這些示例操作系統(tǒng),作為主線貫穿整本書。通過重點(diǎn)研究這些操作系統(tǒng)示例,從高層次的方式來(lái)研究操作系統(tǒng)的開發(fā)者如何將標(biāo)準(zhǔn)技術(shù)轉(zhuǎn)化為實(shí)踐。從而在實(shí)踐的基礎(chǔ)上再次提升理論。使理論和實(shí)踐再次相互印證。 另外值得強(qiáng)調(diào)的是這本書的適用性,它為需要深入研究Linux或者Inferno內(nèi)部結(jié)構(gòu)的專業(yè)人員提供了大量的、翔實(shí)的、來(lái)自真實(shí)世界的代碼,也為初學(xué)者提供了從淺入深、循序漸進(jìn)學(xué)習(xí)操作系統(tǒng)原理的豐富實(shí)例。本書既可以用于普通操作系統(tǒng)的學(xué)習(xí),也可以作為高級(jí)操作系統(tǒng)的教材。同時(shí)這本書每章之后都有印證所學(xué)內(nèi)容的大量、有趣的練習(xí)。要求學(xué)生自己動(dòng)手來(lái)建立自己的Inferno和Linux。
作者簡(jiǎn)介
作者:(美國(guó))斯圖爾特(Brian L.Stuart) 譯者:葛秀慧 田浩 劉展威 等
書籍目錄
第1章 操作系統(tǒng)簡(jiǎn)介 第2章 操作系統(tǒng)示例 第3章 Inferno的結(jié)構(gòu)與初始化 第4章 Linux的結(jié)構(gòu)與初始化 第5章 進(jìn)程管理原理 第6章 進(jìn)程管理示例 第7章 Inferno中的進(jìn)程管理 第8章 Linux中的進(jìn)程管理 第9章 存儲(chǔ)管理原理 第10章 存儲(chǔ)管理示例 第11章 Inferno中的存儲(chǔ)管理第12章 Linux中的存儲(chǔ)管理 第13章 I/O設(shè)備管理原理 第14章 I/O設(shè)備管理示例 第15章 Inferno中的I/O設(shè)備 第16章 Linux中的I/O設(shè)備 第17章 文件系統(tǒng)原理 第18章 文件系統(tǒng)示例 第19章 Inferno中的文件系統(tǒng) 第20章 Linux中的文件系統(tǒng) 第21章 操作系統(tǒng)安全原理 第22章 分布式系統(tǒng)原理 附錄A 編譯宿主Inferno 附錄B 編譯本地Inferno
章節(jié)摘錄
插圖:在很多情況下,我們會(huì)發(fā)現(xiàn)自己正在復(fù)制大量的內(nèi)存。UNIX的f-0rk(1系統(tǒng)調(diào)用就是這種復(fù)制的一個(gè)很好的例子,當(dāng)它創(chuàng)建子進(jìn)程時(shí),子進(jìn)程就是父進(jìn)程的副本。最新的系統(tǒng)實(shí)現(xiàn)這種復(fù)制都使用一種稱為寫時(shí)復(fù)制(copyonwrite)技術(shù)。它不是制作父進(jìn)程內(nèi)存空間的第二個(gè)副本,而是成立內(nèi)存管理單元來(lái)將子進(jìn)程的虛擬存儲(chǔ)空間映射到與父進(jìn)程相同的物理內(nèi)存。但是,對(duì)于父進(jìn)程和子進(jìn)程,我們都將所有內(nèi)存標(biāo)記為只讀。因此,任何來(lái)自父進(jìn)程或子進(jìn)程的寫都會(huì)引發(fā)來(lái)自MMD的寫保護(hù)錯(cuò)誤。對(duì)于頁(yè)或段,當(dāng)我們得到讀/寫這樣的中斷時(shí),我們會(huì)制作新副本并將新副本映射到子進(jìn)程的內(nèi)存空間。兩個(gè)副本都被標(biāo)記為讀/寫,并且指令使用中斷繼續(xù)。凈效應(yīng)是,我們只復(fù)制了那些最終被寫入的頁(yè)。9.6.7 性能問題內(nèi)存空間大于物理內(nèi)存的錯(cuò)覺并不是免費(fèi)的。如果我們選擇分配和替換策略不當(dāng),系統(tǒng)的性能會(huì)受到很大影響。此外,許多過渡分配技術(shù)都有潛在的陷阱,這些陷阱也可以影響性能。本節(jié)介紹在實(shí)現(xiàn)這些技術(shù)時(shí),我們面臨的一些更基本的問題。
編輯推薦
《操作系統(tǒng)原理、設(shè)計(jì)與應(yīng)用》是世界著名計(jì)算機(jī)教材精選。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
操作系統(tǒng)原理、設(shè)計(jì)與應(yīng)用 PDF格式下載