操作系統(tǒng)原理、設計與應用

出版時間:2010-6  出版社:清華大學出版社  作者:斯圖爾特  頁數(shù):457  
Tag標簽:無  

前言

在20年前,當我在研究生院時,就已萌生了寫這本書的想法。1986年夏天,在David Cohen博士的指導下,一群學生在一起進行高級操作系統(tǒng)的學習討論。開始時,我們想要編寫操作系統(tǒng),但很快我們的重點發(fā)生了轉(zhuǎn)移,最后決定編寫操作系統(tǒng)的教科書。正如事情經(jīng)常發(fā)生的情況一樣,我們幾乎沒有實現(xiàn)我們的初衷。然而,通過這種方式,我們對關(guān)于如何組織操作系統(tǒng)的教材進行了許多富有成果的討論,通過擴展,也找到了如何進行操作系統(tǒng)教學的方法。這些想法與多年講授操作系統(tǒng)課程的實踐相結(jié)合,使我看到,講授操作系統(tǒng)有幾種不同的做法。同時也使我認識到現(xiàn)有的課本都沒有真正提供這種靈活性,使教師可以根據(jù)自己的需求來講授操作系統(tǒng)這門課程。編寫本書的動機就是為每位教師提供這種靈活性。組織本書主要包括七個主題,首先介紹操作系統(tǒng)的重要歷史、結(jié)構(gòu)和組織、系統(tǒng)調(diào)用和引導。在此之后,較深入地分析了操作系統(tǒng)的主要功能:進程、存儲、I/O設備和文件系統(tǒng)。最后兩個主題是安全性和分布式系統(tǒng)。首先介紹的五個主題依次在前四章中進行介紹,每一章都從多個視角分析相關(guān)的主題。第l章依次介紹了與資源管理相關(guān)的基本原理。在這些章中,我介紹了相關(guān)的問題以及為了解決這些問題所使用的一些標準技術(shù)。在某些情況下,著重基本原理的章節(jié)也包括相關(guān)問題的討論。例如,在第5章中的互斥和死鎖主題是與進程管理一起進行討論的,因為這兩個主題都與進程問通信相關(guān)。第2章依次概括性地介紹了操作系統(tǒng)的歷史和目前的操作系統(tǒng)。9個操作系統(tǒng)的示例集合主要包括:CISS、Multics、RT-11、第6版LINIX、4.3BSD、VMS、WindowsNT、FinyOS和Xen。之所以重點研究這些操作系統(tǒng),主要著眼點在于要以高層次的方式來研究這些操作系統(tǒng)的開發(fā)者如何將提供的標準技術(shù)轉(zhuǎn)化為實踐。在第3章和第4章的每個小節(jié)中,更深層次地研究實現(xiàn)的細節(jié)。在第3章中選取了Inferno中的部分代碼進行討論,在第4章中選取了Linux中的部分代碼進行討論。但是,在第21章和第22章中,并沒有采用前面的這種模式。這兩章分別討論了安全性和分布式系統(tǒng)。因為這兩個主題的每一個主題都可以寫成一本書,所以必須選擇性地討論這兩個主題。這兩章只介紹了一些有代表性的技術(shù)。在第2l章中,也討論了更受限的示例集來說明如何應用安全技術(shù)。在附錄A中介紹了如何創(chuàng)建宿主Infer-110的內(nèi)核鏡像。為了完成修改Inferno內(nèi)核這樣的任務,創(chuàng)建鏡像就是解決方案的一部分。以這種方式創(chuàng)建的內(nèi)核鏡像可以像應用程序一樣運行在現(xiàn)有的主機操作系統(tǒng)之上。附錄B教給用戶如何創(chuàng)建本地的Inferno內(nèi)核。特別是提供了用于x86PC上創(chuàng)建啟動盤鏡像的必要步驟。這個鏡像可以寫入到軟盤或者用于創(chuàng)建啟動CD-ROM。

內(nèi)容概要

本書的內(nèi)容主要包括7個主題:操作系統(tǒng)簡介、進程、存儲器、I/O設備、文件系統(tǒng)、操作系統(tǒng)安全和分布式操作系統(tǒng)。每一部分都從多個視角分析了主題的基本原理、應用分析、詳細設計,以及Inferno和Linux的實現(xiàn)。在詳細討論Inferno和Linux的這些章節(jié)中,主要側(cè)重與內(nèi)核中相對較小的一部分,這些部分用于說明在原理章節(jié)中涉及的技術(shù)與原理。書中介紹的每個函數(shù)都分成了小段,然后以更詳細的方式描述這些小段。這樣就能詳細地學習獨特內(nèi)核的一些關(guān)鍵內(nèi)容。本書除了基本的原理之外,還重點介紹了9個操作系統(tǒng)CTSS、Multics、RT-11、第6版UNIX、4.3BSD、VMS、Windows NT、TinyOS和Xen。這些示例操作系統(tǒng),作為主線貫穿整本書。通過重點研究這些操作系統(tǒng)示例,從高層次的方式來研究操作系統(tǒng)的開發(fā)者如何將標準技術(shù)轉(zhuǎn)化為實踐。從而在實踐的基礎上再次提升理論。使理論和實踐再次相互印證。  另外值得強調(diào)的是這本書的適用性,它為需要深入研究Linux或者Inferno內(nèi)部結(jié)構(gòu)的專業(yè)人員提供了大量的、翔實的、來自真實世界的代碼,也為初學者提供了從淺入深、循序漸進學習操作系統(tǒng)原理的豐富實例。本書既可以用于普通操作系統(tǒng)的學習,也可以作為高級操作系統(tǒng)的教材。同時這本書每章之后都有印證所學內(nèi)容的大量、有趣的練習。要求學生自己動手來建立自己的Inferno和Linux。

作者簡介

作者:(美國)斯圖爾特(Brian L.Stuart) 譯者:葛秀慧 田浩 劉展威 等

書籍目錄

第1章  操作系統(tǒng)簡介	第2章  操作系統(tǒng)示例	第3章  Inferno的結(jié)構(gòu)與初始化	第4章  Linux的結(jié)構(gòu)與初始化	第5章  進程管理原理	第6章  進程管理示例	第7章  Inferno中的進程管理	第8章  Linux中的進程管理	第9章  存儲管理原理	第10章  存儲管理示例	第11章  Inferno中的存儲管理第12章  Linux中的存儲管理	第13章  I/O設備管理原理	第14章  I/O設備管理示例	第15章  Inferno中的I/O設備	第16章  Linux中的I/O設備	第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é)摘錄

插圖:在很多情況下,我們會發(fā)現(xiàn)自己正在復制大量的內(nèi)存。UNIX的f-0rk(1系統(tǒng)調(diào)用就是這種復制的一個很好的例子,當它創(chuàng)建子進程時,子進程就是父進程的副本。最新的系統(tǒng)實現(xiàn)這種復制都使用一種稱為寫時復制(copyonwrite)技術(shù)。它不是制作父進程內(nèi)存空間的第二個副本,而是成立內(nèi)存管理單元來將子進程的虛擬存儲空間映射到與父進程相同的物理內(nèi)存。但是,對于父進程和子進程,我們都將所有內(nèi)存標記為只讀。因此,任何來自父進程或子進程的寫都會引發(fā)來自MMD的寫保護錯誤。對于頁或段,當我們得到讀/寫這樣的中斷時,我們會制作新副本并將新副本映射到子進程的內(nèi)存空間。兩個副本都被標記為讀/寫,并且指令使用中斷繼續(xù)。凈效應是,我們只復制了那些最終被寫入的頁。9.6.7 性能問題內(nèi)存空間大于物理內(nèi)存的錯覺并不是免費的。如果我們選擇分配和替換策略不當,系統(tǒng)的性能會受到很大影響。此外,許多過渡分配技術(shù)都有潛在的陷阱,這些陷阱也可以影響性能。本節(jié)介紹在實現(xiàn)這些技術(shù)時,我們面臨的一些更基本的問題。

編輯推薦

《操作系統(tǒng)原理、設計與應用》是世界著名計算機教材精選。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    操作系統(tǒng)原理、設計與應用 PDF格式下載


用戶評論 (總計2條)

 
 

  •   這是一本國外教科書,內(nèi)容較深,適合教師和研究生閱讀
  •   沒看呢不知道內(nèi)容怎么樣
 

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

京ICP備13047387號-7