《現代操作系統》是對傳統的和現代的操作系統(OS)作了較為全面的介紹。《軟件工程課程群高等學校規劃教材:現代操作系統》共分十七章:第1章為操作系統引論,介紹了OS的發展、傳統的和現代的OS特征和功能。第2-4章深入地闡述了進程(線程)管理、進程同步、處理機調度和死鎖;第5、6章對連續和離散存儲器管理方式及虛擬存儲器進行了介紹;第7章是自下而上地對I/O系統的各個層次,作了較系統地闡述;第8、9章介紹了文件系統和磁盤存儲器管理;第10章對用戶接口,以及接口的實現方法做了介紹;從第11章開始到第15章,其內容都是與現代OS直接相關的。這幾章的內容分別介紹多處理機OS、網絡OS、多媒體OS和操作系統結構設計及系統安全性。第16、17章,介紹了一個OS實例Linux。
《現代操作系統》可作為計算機硬件、軟件、計算機應用和計算機通信等專業的本科生教材,也可作為研究生教材,以及從事計算機及通信工作的相關科技人員的參考。
第1章 操作系統引論
第2章 進程的描述與控制
第3章 進程的同步與通信
第4章 處理機調度與死鎖
第5章 存儲器管理
第6章 虛擬存儲器
第7章 輸入/輸出系統
第8章 文件管理
第9章 磁盤存儲器管理
第10章 操作系統接口
第11章 多處理機操作系統
第12章 網絡操作系統
第13章 多媒體操作系統
第14章 OS結構設計
第15章 保護和安全
第16章 Linux的進程控制子系統及存儲管理
第17章 Linux系統的文件管理和設備管理
參考文獻
第1章 操作系統引論
操作系統(OS,Operating System)是配置在計算機硬件上的第一層軟件,是對硬件系統的首次擴充。其主要作用是管理好這些設備,提高它們的利用率和系統的吞吐量,并為用戶和應用程序提供一個簡單的接口,便于用戶使用。OS是現代計算機系統中最基本和最重要的系統軟件,而其他的軟件,如編譯程序、數據庫管理系統等系統軟件,以及大量的應用軟件,都直接依賴丁-操作系統的支持,取得它所提供的服務。事實上0S已成為現代計算機系統、多處理機系統、計算機網絡中都必須配置的系統軟件。
1.1操作系統的目標和作用
操作系統的目標與應用環境有關。例如,在查詢系統中所用的OS,希望能提供好的人機交互性;對于應用于工業控制、武器控制,以及多媒體環境下的0S,要求其具有實時性;而對于微機上配置的OS,則更看重的是其使用的方便性。
1.操作系統的目標
在計算機系統上配置操作系統,其主要目標是:
(1)方便性。一個未配置OS的計算機系統是極難使用的。用戶如果想直接在計算機硬件(裸機)上運行自己所編寫的程序,就必須用機器語言書寫程序。但如果在計算機硬件上配置了0S,用戶便可以使用編譯命令,將用戶采用高級語言書寫的程序翻譯成機器代碼,或者直接通過0S所提供的各種命令,操縱計算機系統,極大地方便了用戶,使計算機變得易學易用。
(2)有效性。有效性所包含的第一層含意是提高系統資源的利用率。在早期未配置0S的計算機系統中,諸如處理機、I/O設備等都經常處于空閑狀態,各種資源無法得到充分利用,所以在當時,提高系統資源利用率是推動0S發展最主要的動力。有效性的另一層含意是,提高系統的吞吐量。OS可以通過合理地組織計算機的工作流程,加速程序的運行,縮短程序的運行周期,從而提高了系統的吞吐量。
方便性和有效性是設計0S時最重要的兩個目標。在過去很長的一段時間內,由于計算機系統非常昂貴,有效性顯得特別重要。然而,近十多年來,隨著硬件越來越便宜,在設計配置在微機上的0S時,似乎更加重視如何提高用戶使用計算機的方便性。因此,在微機操作系統中,都配置了深受用戶歡迎的圖形用戶界面,并為程序員提供了大量的系統調用,方便了用戶對計算機的使用和編程。
(3)可擴充性。為適應計算機硬件、體系結構,以及應用發展的要求,OS必須具有很好的可擴充性。可擴充性的好壞,與0S的結構有著十分緊密的聯系,由此推動了0s結構的不斷發展。從早期的無結構發展成模塊化結構,進而又發展成層次化結構,近年來OS已廣泛采用了微內核結構,該結構能方便地增添新的功能和模塊,以及對原有的功能和模塊進行修改,具有良好的可擴充性。
(4)開放性。隨著計算機應用的日益普及,計算機硬件和軟件的兼容性問題,便提到議事口程上來了。世界各國相應地制定了一系列的軟、硬件標準,使得不同廠家按照標準生產的軟、硬件,都能在本國范圍內很好地相互兼容。這無疑給用戶帶來了極大的方便,也給產品的推廣、用鋪平了道路。后來,又相繼頒布了許多國際性的軟、硬件標準,進一步提高了軟、硬件的開放性。