出版時(shí)間:2011-6 出版社:清華大學(xué)出版社 作者:何炎祥 等編著
Tag標(biāo)簽:無(wú)
前言
FOREWORD操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最關(guān)鍵的系統(tǒng)軟件,計(jì)算機(jī)系統(tǒng)愈復(fù)雜,操作系統(tǒng)的作用和地位就愈重要?! ”緯Y(jié)合現(xiàn)在操作系統(tǒng)的設(shè)計(jì)并考慮操作系統(tǒng)的發(fā)展方向,著重討論操作系統(tǒng)設(shè)計(jì)的基本概念、基本原理和典型技術(shù)。全書共分12章,下面介紹各章內(nèi)容組成?! 〉?章簡(jiǎn)要介紹操作系統(tǒng)的基本概念、功能、發(fā)展歷史以及主要成就等。 第2章介紹了進(jìn)程的概念,以及操作系統(tǒng)對(duì)進(jìn)程進(jìn)行控制和管理時(shí)采用的數(shù)據(jù)結(jié)構(gòu),還討論了與進(jìn)程相關(guān)的線程等內(nèi)容?! 〉?章介紹了在單一系統(tǒng)中并行處理的關(guān)鍵技術(shù)--互斥和同步機(jī)制?! 〉?章描述了死鎖的性質(zhì),并討論了解決死鎖問(wèn)題的一些方法?! 〉?章討論了多種內(nèi)存管理方法,并討論了用于支撐虛擬內(nèi)存所需的硬件結(jié)構(gòu)和操作系統(tǒng)用來(lái)管理虛擬內(nèi)存的軟件方法?! 〉?章分析了各種不同的進(jìn)程調(diào)度方法,包括實(shí)時(shí)調(diào)度策略等方面的內(nèi)容。 第7章論述了操作系統(tǒng)對(duì)輸入/輸出設(shè)備的控制和管理,尤其是對(duì)系統(tǒng)性能影響較大的磁盤I/O的調(diào)度和控制。 第8章對(duì)文件的組織、存儲(chǔ)、使用和保護(hù)等方面的內(nèi)容進(jìn)行了講解。 第9章和第10章描述了分布式操作系統(tǒng)的一些關(guān)鍵設(shè)計(jì)領(lǐng)域,包括Client/Server結(jié)構(gòu),用于消息傳遞和遠(yuǎn)程過(guò)程調(diào)用的分布式通信機(jī)制、分布式進(jìn)程遷移、中間件以及解決分布式互斥和死鎖問(wèn)題的原理與技術(shù)?! 〉?1章簡(jiǎn)要討論了保證操作系統(tǒng)安全性的相關(guān)理論和方法?! 〉?2章以小型操作系統(tǒng)MINIX為例,用解釋性的方式介紹了MINIX設(shè)計(jì)和實(shí)現(xiàn)的具體過(guò)程,以期達(dá)到理論聯(lián)系實(shí)際,學(xué)以致用,突出實(shí)踐性的目的?! ”緯珊窝紫椤⒗铒w、李寧共同編寫,何炎祥統(tǒng)編了全書。在編寫過(guò)程中得到了武漢大學(xué)計(jì)算機(jī)學(xué)院領(lǐng)導(dǎo)和同事們的熱情幫助,清華大學(xué)出版社為本書的出版給予了大力支持,文中還參考、引用了國(guó)內(nèi)外一些專家學(xué)者的論著和研究工作,以及一些公司的產(chǎn)品介紹,在此一并表示誠(chéng)摯的感謝。 隨著操作系統(tǒng)技術(shù)的發(fā)展,本書在前一版的基礎(chǔ)上,對(duì)部分內(nèi)容進(jìn)行了修訂和改編,以適應(yīng)教學(xué)需要?! ∠抻谒剑瑫绣e(cuò)誤難免,敬請(qǐng)讀者不吝賜教?! 【幷摺 ?011年2月
內(nèi)容概要
本書著重討論操作系統(tǒng)設(shè)計(jì)的基本概念、基本原理和典型技術(shù),講述構(gòu)造操作系統(tǒng)過(guò)程中可能面臨的種種問(wèn)題及其解決辦法;介紹操作系統(tǒng)設(shè)計(jì)中的一些非常重要的進(jìn)展,包括線程、實(shí)時(shí)系統(tǒng)、多處理器調(diào)度、進(jìn)程遷移、分布式計(jì)算模式、分布式進(jìn)程管理、中間件技術(shù)、微核技術(shù)、操作系統(tǒng)的安全性等。為了幫助讀者更好地理解操作系統(tǒng)的概念、原理和方法,更好地將理論與實(shí)際設(shè)計(jì)相結(jié)合,筆者選擇了目前具有代表性、典型性的操作系統(tǒng)Windows
NT、UNIX、Linux作為實(shí)例貫穿全書,并專門介紹了一個(gè)小型操作系統(tǒng)--MINIX的設(shè)計(jì)與實(shí)現(xiàn)。目的是盡可能清晰、全面地向讀者展現(xiàn)較新的操作系統(tǒng)的設(shè)計(jì)原理與基本實(shí)現(xiàn)技術(shù),以便讀者深入了解現(xiàn)在操作系統(tǒng)的全貌,為今后進(jìn)行大型軟件研制與系統(tǒng)開(kāi)發(fā)打下堅(jiān)實(shí)基礎(chǔ)。
本書可供大專院校計(jì)算機(jī)專業(yè)及相關(guān)專業(yè)的師生作為教材,也可供在計(jì)算機(jī)軟件企業(yè)和IT行業(yè)工作的科技工作者與管理者學(xué)習(xí)和參考。
作者簡(jiǎn)介
何炎祥,博士、教授、博十牛導(dǎo)師,同家教學(xué)名師,享受國(guó)務(wù)院政府特殊津貼。武漢大學(xué)計(jì)算機(jī)學(xué)院院長(zhǎng)。美國(guó)0regorl大學(xué)計(jì)算機(jī)及信息科學(xué)系碩士,武漢大學(xué)計(jì)算機(jī)科學(xué)系博士。主要研究方向?yàn)榉植疾⑿刑幚?、可信軟件、軟件工程等。主持和主要承?dān)包括863高技術(shù)計(jì)劃項(xiàng)目、國(guó)家自然科學(xué)基金重大研究計(jì)劃項(xiàng)目、國(guó)家自然科學(xué)基金面上項(xiàng)目、省市科技攻關(guān)項(xiàng)目等40余項(xiàng),發(fā)表論文200多篇,出版學(xué)術(shù)著作和教材15種。獲包括湖北省科技進(jìn)步一等獎(jiǎng)在內(nèi)的省部級(jí)科技成果和教學(xué)成果獎(jiǎng)多項(xiàng)。主持“編譯原理”國(guó)家精品課程。國(guó)家自然科學(xué)基金委、國(guó)家科學(xué)技術(shù)獎(jiǎng)、教育部科學(xué)技術(shù)獎(jiǎng)評(píng)審專家,兼任教育部科技委信息學(xué)部委員,全國(guó)高校計(jì)算機(jī)教育研究會(huì)副理事長(zhǎng),中國(guó)計(jì)算機(jī)學(xué)會(huì)教育專委會(huì)副主任,清華大學(xué)出版社“高等學(xué)校計(jì)算機(jī)教育規(guī)劃教材”編委會(huì)主任,湖北省計(jì)算機(jī)學(xué)會(huì)副理事長(zhǎng),湖北省軟件行業(yè)協(xié)會(huì)副理事長(zhǎng),《計(jì)算機(jī)研究與發(fā)展》、《計(jì)算機(jī)科學(xué)與探索》、《Intelligeilt Control and Automation》等雜志編委,《中國(guó)科學(xué)》、《軟件學(xué)報(bào)》、《計(jì)算機(jī)學(xué)報(bào)》等審稿人,中山大學(xué)、華中師范大學(xué)、廣東外語(yǔ)外貿(mào)大學(xué)等高校兼職教授,國(guó)家重點(diǎn)基礎(chǔ)研究發(fā)展規(guī)劃(973)項(xiàng)目“下一代互聯(lián)網(wǎng)信息存儲(chǔ)的組織模式與核心技術(shù)研究”和“面向復(fù)雜應(yīng)用環(huán)境的數(shù)據(jù)存儲(chǔ)系統(tǒng)理論與技術(shù)基礎(chǔ)研究”項(xiàng)目專家組專家。多個(gè)國(guó)際學(xué)術(shù)會(huì)議的大會(huì)合作主席、程序委員會(huì)合作主席、委員等。
書籍目錄
第1章 操作系統(tǒng)概論
1.1 操作系統(tǒng)的作用
1.1.1 硬件系統(tǒng)和應(yīng)用程序間的界面
1.1.2 資源管理者
1.1.3 推動(dòng)操作系統(tǒng)發(fā)展的因素
1.2 操作系統(tǒng)的演變
1.2.1 串行處理系統(tǒng)
1.2.2 簡(jiǎn)單批處理系統(tǒng)
1.2.3 多道程序批處理系統(tǒng)
1.2.4 分時(shí)系統(tǒng)
1.2.5 實(shí)時(shí)系統(tǒng)
1.2.6 網(wǎng)絡(luò)操作系統(tǒng)
1.2.7 分布式操作系統(tǒng)
1.2.8 嵌入式操作系統(tǒng)
1.3 操作系統(tǒng)的主要成就
1.3.1 進(jìn)程
1.3.2 存儲(chǔ)器管理
1.3.3 信息保護(hù)和安全性
1.3.4 調(diào)度和資源管理
1.3.5 系統(tǒng)結(jié)構(gòu)
1.4 操作系統(tǒng)舉例
1.4.1 Windows NT
1.4.2 UNIX System V
1.5 操作系統(tǒng)的主要研究課題
小結(jié)
習(xí)題
第2章 進(jìn)程描述與控制
2.1 進(jìn)程狀態(tài)
2.1.1 進(jìn)程產(chǎn)生和終止
2.1.2 進(jìn)程狀態(tài)模型
2.1.3 進(jìn)程掛起
2.2 進(jìn)程描述
2.2.1 操作系統(tǒng)控制結(jié)構(gòu)
2.2.2 進(jìn)程控制結(jié)構(gòu)
2.2.3 進(jìn)程屬性
2.3 進(jìn)程控制
2.3.1 執(zhí)行模式
2.3.2 進(jìn)程創(chuàng)建
2.3.3 進(jìn)程切換
2.3.4 上下文切換
2.3.5 操作系統(tǒng)的運(yùn)行
2.3.6 微核
2.4 線程和SMP
2.4.1 線程及其管理
2.4.2 多線程的實(shí)現(xiàn)
2.4.3 進(jìn)程與線程的關(guān)系
2.4.4 SMP
2.5 系統(tǒng)舉例
2.5.1 UNIX System V
2.5.2 Windows NT
2.5.3 Linux
小結(jié)
習(xí)題
第3章 并發(fā)控制--互斥與同步
第4章 死鎖處理
第5章 內(nèi)存管理
第6章 處理機(jī)調(diào)度
第7章 I/O設(shè)備管理
第8章 文件管理
第9章 分布計(jì)算
第10章 分布式進(jìn)程管理
第11章 操作系統(tǒng)的安全性
第12章 一個(gè)小型操作系統(tǒng)的實(shí)現(xiàn)
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁(yè):插圖:系統(tǒng)程序設(shè)計(jì)員用于開(kāi)發(fā)早期的多道程序和多用戶系統(tǒng)的原則是中斷。任何作業(yè)在遇到規(guī)定的事件(如I/O)時(shí)就會(huì)被掛起,處理器保存某些內(nèi)容(例如,程序計(jì)數(shù)器和其他寄存器),然后轉(zhuǎn)到中斷處理程序,中斷處理程序?qū)⒋_定中斷、處理中斷,然后繼續(xù)執(zhí)行用戶被中斷的作業(yè)和其他一些作業(yè)。設(shè)計(jì)系統(tǒng)軟件以協(xié)調(diào)各種組件間的運(yùn)作是很困難的。在同一時(shí)刻有許多任務(wù),而每個(gè)任務(wù)又包括大量必須依次執(zhí)行的步驟,因此,對(duì)所有事件的可能的組合順序進(jìn)行分析是不可能的。由于系統(tǒng)缺乏協(xié)作的方法,常會(huì)產(chǎn)生一些錯(cuò)誤。這些錯(cuò)誤很難診斷,因?yàn)楸仨殞⑺鼈兣c應(yīng)用程序的出錯(cuò)及硬件出錯(cuò)區(qū)分開(kāi)。即使發(fā)現(xiàn)了錯(cuò)誤,也很難確定原因,因?yàn)槌霈F(xiàn)錯(cuò)誤的精確環(huán)境是很難再現(xiàn)的。通常,有4種原因會(huì)導(dǎo)致這樣的錯(cuò)誤:①不合適的同步。一個(gè)進(jìn)程常常因等待某事件發(fā)生而必須掛起。例如,一個(gè)程序執(zhí)行初始化I/O讀操作后,必須等待,直到緩沖區(qū)中有所需的數(shù)據(jù)。不合適的信號(hào)機(jī)制可能會(huì)導(dǎo)致信號(hào)丟失或收到多個(gè)信號(hào)。②失敗的互斥。有些情況下,不止一個(gè)用戶或程序企圖同時(shí)使用共享資源。例如,在一個(gè)航空訂票系統(tǒng)中,兩個(gè)用戶可能分別試圖讀取數(shù)據(jù)庫(kù),如果有空余座位,就訂下座位并更新數(shù)據(jù)庫(kù)。如果訪問(wèn)沒(méi)有得到控制,就可能出現(xiàn)錯(cuò)誤。必須有一種互斥機(jī)制,即在同一時(shí)刻只允許一個(gè)進(jìn)程對(duì)數(shù)據(jù)區(qū)域進(jìn)行更新。這種互斥的實(shí)現(xiàn)很難在所有可能的事件順序下被證明是正確的。③非確定的程序操作。一個(gè)特定程序的運(yùn)行結(jié)果通常是由該程序的輸人決定而不依賴于一個(gè)共享系統(tǒng)中其他程序的運(yùn)行。但是,如果多個(gè)程序共享存儲(chǔ)器并都被處理器調(diào)入內(nèi)存,就有可能修改共享存儲(chǔ)器區(qū),從而互相干擾。這樣,各程序的調(diào)度次序就會(huì)影響其他程序的輸出結(jié)果。④死鎖。在某些情況下,可能有兩個(gè)或多個(gè)程序都在互相等待彼此占用的資源。例如,兩個(gè)程序可能都需要兩個(gè)I/O設(shè)備,但每個(gè)程序都控制了其中一個(gè)設(shè)備而等待另一個(gè)程序釋放另一個(gè)設(shè)備。解決這些問(wèn)題所必需的基本條件是,要有一個(gè)系統(tǒng)的方法去監(jiān)視和控制處理器中運(yùn)行的程序。進(jìn)程的概念提供了這個(gè)基本條件。進(jìn)程由以下3部分組成:①一個(gè)可執(zhí)行的程序;②該程序所需的相關(guān)數(shù)據(jù)(變量、工作空間、緩沖區(qū)等);③該程序的執(zhí)行上下文(context)。其中,最后一項(xiàng)是必不可少的。操作系統(tǒng)中所有用來(lái)管理進(jìn)程和處理器執(zhí)行進(jìn)程的信息都包括在執(zhí)行上下文中。這個(gè)上下文包括寄存器的內(nèi)容、進(jìn)程的優(yōu)先級(jí)以及進(jìn)程是否等待I/0事件的完成等信息。根據(jù)上述分析,結(jié)合各種觀點(diǎn),我們可以把“進(jìn)程”定義為:可并發(fā)執(zhí)行的程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行過(guò)程。圖1.10顯示了進(jìn)程可能實(shí)現(xiàn)的一種方法。兩個(gè)進(jìn)程A和B存在于內(nèi)存中。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載