版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章操作系統(tǒng)概論
1.1操作系統(tǒng)概念
1.2操作系統(tǒng)的形成和發(fā)展
1.3操作系統(tǒng)的分類
1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.5Linux操作系統(tǒng)簡介
1.1操作系統(tǒng)概念1.1.1操作系統(tǒng)的地位和作用
1.1.2操作系統(tǒng)的定義
1.1.3操作系統(tǒng)的功能
1.1.4操作系統(tǒng)的特性
1.1.5操作系統(tǒng)的性能
1.1.1操作系統(tǒng)的地位和作用1.地位
計算機系統(tǒng)由硬件和軟件組成操作系統(tǒng)在硬件基礎(chǔ)上的第一層軟件是其他軟件和硬件之間的接口OS操作系統(tǒng)和軟硬件的層次關(guān)系圖
OS操作系統(tǒng)設(shè)計者系統(tǒng)軟件設(shè)計者應(yīng)用軟件設(shè)計者1.1.1操作系統(tǒng)的地位和作用2.作用從一般用戶的觀點
從資源管理觀點
OS可把操作系統(tǒng)看作是用戶與計算機硬件系統(tǒng)之間的接口
可把操作系統(tǒng)視為計算機系統(tǒng)資源的管理者。
1.1.1操作系統(tǒng)的地位和作用3.操作系統(tǒng)的設(shè)計目標
方便性
有效性可擴充性
開放性
OS
操作系統(tǒng)為用戶提供良好的、一致的用戶接口,用戶按需要輸入命令,操作系統(tǒng)按命令去控制程序的執(zhí)行;用戶也可以在程序中調(diào)用操作系統(tǒng)的功能模塊完成相應(yīng)服務(wù),而不必了解硬件的物理特性。
有效地管理和分配硬件、軟件資源,合理地組織計算機的工作流程,提高系統(tǒng)工作效率。
為滿足計算機硬件與體系結(jié)構(gòu)的發(fā)展以及應(yīng)用不斷擴大的要求,操作系統(tǒng)應(yīng)能方便地擴展新的功能。
開放性指的是產(chǎn)品和技術(shù)之間相互連接和協(xié)作的能力。無論是硬件還是軟件范籌,開放性接口都已作為一種明確的或?qū)嶋H的行業(yè)標準廣泛應(yīng)用在公開發(fā)行的文檔中。
1.1操作系統(tǒng)概念1.1.1操作系統(tǒng)的地位和作用
1.1.2操作系統(tǒng)的定義
1.1.3操作系統(tǒng)的功能
1.1.4操作系統(tǒng)的特性
1.1.5操作系統(tǒng)的性能
1.1.2操作系統(tǒng)的定義
操作系統(tǒng)是一組用于控制和管理計算機系統(tǒng)中的所有資源的程序集合,其任務(wù)是合理地組織計算機的工作流程,有效地組織諸資源協(xié)調(diào)一致地工作以完成各種任務(wù),從而達到充分發(fā)揮資源效率、方便用戶使用計算機之目的。
OS1.1操作系統(tǒng)概念1.1.1操作系統(tǒng)的地位和作用
1.1.2操作系統(tǒng)的定義
1.1.3操作系統(tǒng)的功能
1.1.4操作系統(tǒng)的特性
1.1.5操作系統(tǒng)的性能
1.1.3操作系統(tǒng)的功能
操作系統(tǒng)是計算機系統(tǒng)的資源管理者。在計算機系統(tǒng)中,能分配給用戶使用的各種硬件和軟件設(shè)施總稱為資源。資源包括兩大類:硬件資源和信息資源。硬件資源:處理器、存儲器、I/O設(shè)備等;信息資源:程序和數(shù)據(jù)等。
資源管理的目的實現(xiàn)資源共享提高資源利用率1.1.3操作系統(tǒng)的功能(續(xù))
從資源管理和面向用戶的角度看,操作系統(tǒng)的功能主要包括:處理機管理存儲管理設(shè)備管理文件管理網(wǎng)絡(luò)管理用戶接口1.1.3操作系統(tǒng)的功能(續(xù))1.處理機管理
完成處理機資源的分配調(diào)度等功能(處理機調(diào)度的單位可為進程或線程)對處理器的管理和調(diào)度最終歸結(jié)為對進程和線程的管理和調(diào)度,包括:(1)進程控制和管理;(2)進程同步和互斥;(3)進程通信;(4)進程死鎖;(5)線程控制和管理;(6)處理器調(diào)度,又分高級調(diào)度,中級調(diào)度和低級調(diào)度。1.1.3操作系統(tǒng)的功能(續(xù))2.存儲管理
存儲管理的主要任務(wù)是管理存儲器資源,為多道程序運行提供有力的支撐,便于用戶使用存儲資源,提高存儲空間的利用率。存儲管理的主要功能包括:(1)存儲分配。存儲管理將根據(jù)用戶程序的需要分配給它存儲器資源,當然程序運行結(jié)束撤離時,還需回收存儲資源。(2)存儲共享。存儲管理能讓存儲器中的多個用戶程序?qū)崿F(xiàn)存儲資源的共享,以提高存儲器的利用率。(3)地址轉(zhuǎn)換與存儲保護。存儲管理負責把用戶的邏輯地址轉(zhuǎn)換成物理地址,同時要保證各個用戶程序相互隔離起來互不干擾,保護系統(tǒng)和用戶程序存放在存儲器中的信息不被破壞。(4)存儲擴充。存儲管理還應(yīng)該能從邏輯上來擴充內(nèi)存儲器,把內(nèi)存和外存混合起來使用,為用戶提供一個比內(nèi)存實際容量大得多的邏輯編程空間,1.1.3操作系統(tǒng)的功能(續(xù))3.設(shè)備管理
設(shè)備管理的主要任務(wù)是管理各類外圍設(shè)備,完成用戶提出的I/O請求,提高I/O設(shè)備的利用率,以及提供每種設(shè)備的設(shè)備驅(qū)動程序和中斷處理程序,為用戶隱蔽硬件細節(jié),提供方便簡單的設(shè)備使用方法。
設(shè)備管理的主要功能包括:(1)提供I/O設(shè)備的控制與處理。(2)提供緩沖區(qū)的管理。(3)提供設(shè)備獨立性。(4)外圍設(shè)備的分配和去配。(5)實現(xiàn)共享型I/O設(shè)備的驅(qū)動調(diào)度。(6)實現(xiàn)虛擬設(shè)備。1.1.3操作系統(tǒng)的功能(續(xù))4.文件管理
文件管理是對系統(tǒng)中信息資源的管理,信息資源包括:程序和數(shù)據(jù)。
文件管理的主要任務(wù)是對用戶文件和系統(tǒng)文件進行有效管理,實現(xiàn)按名存??;實現(xiàn)文件的共享、保護和保密,保證文件的安全性;并提供給用戶一整套能方便使用文件的操作和命令。
文件管理的主要功能包括:(1)提供文件邏輯組織方法;(2)提供文件物理組織方法;(3)提供文件存取方法;(4)提供文件使用方法;(5)實現(xiàn)文件的目錄管理;(6)實現(xiàn)文件的共享和存取控制;(7)實現(xiàn)文件的存儲空間管理。
1.1.3操作系統(tǒng)的功能(續(xù))5.網(wǎng)絡(luò)管理
網(wǎng)絡(luò)管理的主要功能包括:(1)網(wǎng)上資源管理功能。計算機網(wǎng)絡(luò)的主要目的之一是共享資源,網(wǎng)絡(luò)操作系統(tǒng)應(yīng)實現(xiàn)網(wǎng)上資源的共享,管理用戶對資源的訪問,保證信息資源的安全性和完整性。(2)數(shù)據(jù)通信管理功能。計算機聯(lián)網(wǎng)后,結(jié)點之間可以互相傳送數(shù)據(jù),按照通信協(xié)議的規(guī)定,完成網(wǎng)絡(luò)上計算機之間的信息傳送。(3)網(wǎng)絡(luò)管理功能。包括:故障管理、安全管理、性能管理、配置管理等。1.1.3操作系統(tǒng)的功能(續(xù))6.用戶接口
為了使用戶能靈活、方便地使用計算機和系統(tǒng)功能,操作系統(tǒng)還提供了一組使用其功能的手段稱用戶接口.
包括兩大類:程序接口和操作接口。用戶通過這些接口能方便地調(diào)用操作系統(tǒng)功能,有效地組織作業(yè)及其工作和處理流程,并使整個系統(tǒng)能高效地運行。
1.1操作系統(tǒng)概念1.1.1操作系統(tǒng)的地位和作用
1.1.2操作系統(tǒng)的定義
1.1.3操作系統(tǒng)的功能
1.1.4操作系統(tǒng)的特性
1.1.5操作系統(tǒng)的性能
1.1.4操作系統(tǒng)的特性在計算機系統(tǒng)中同時存在多個程序。宏觀上:這些程序是同時在執(zhí)行的微觀上:任何時刻只有一個程序在執(zhí)行即微觀上這些程序在CPU上輪流執(zhí)行并行(parallelism):(與并發(fā)相似,但多指硬件支持)1.并發(fā)性并發(fā)性是指兩個或兩事件或活動在同一時間間隔內(nèi)發(fā)生。
并發(fā)執(zhí)行的好處是能夠使CPU與外設(shè)同時并行執(zhí)行,提高了資源的利用率。弊端在于并發(fā)必然導(dǎo)致共享資源的矛盾,同時還帶來諸如多道程序執(zhí)行過程的中斷,同一程序在不同硬件上的調(diào)度轉(zhuǎn)換,同一CPU上不同程序的現(xiàn)場切換、存儲保護以及合作進程如何同步等問題。1.1.4操作系統(tǒng)的特性共享有兩種形式:一是順序共享一種競爭性共享
2.共享性
共享指計算機系統(tǒng)中的資源可被多個并發(fā)執(zhí)行的用戶程序和系統(tǒng)程序共同使用。
共享性和并發(fā)性是操作系統(tǒng)兩個最基本的特性,它們互為依存。一方面,資源的共享是因為程序的并發(fā)執(zhí)行而引起的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,自然也就不存在資源共享問題。另一方面,若系統(tǒng)不能對資源共享實施有效管理,必然會影響到程序的并發(fā)執(zhí)行,甚至程序無法并發(fā)執(zhí)行,操作系統(tǒng)也就失去了并發(fā)性。
1.1.4操作系統(tǒng)的特性不確定性也稱異步性。
在多道程序并發(fā)執(zhí)行的環(huán)境中,各程序之間存在著直接或間接的聯(lián)系,程序的推進速度會受到運行環(huán)境的影響。3.不確定性
系統(tǒng)事件(運行、I/O等)的發(fā)生是具有隨機性和不確定性。
操作系統(tǒng)的不確定性是并發(fā)與共享的必然結(jié)果。為了實現(xiàn)并發(fā)與共享,操作系統(tǒng)必須有能力隨時響應(yīng)和正確處理各種隨機事件。它不是事先規(guī)定各種事件何時發(fā)生,而是事先安排好對各種可能事件的處理,不管這些事件何時、以何種次序以及何種組合方式發(fā)生,這就是操作系統(tǒng)的不確定性。
1.1.4操作系統(tǒng)的特性
虛擬是指物理上沒有提供,但是邏輯上卻具備的功能。在用戶看來好像是物理上原來就具有的功能一樣。采用虛擬技術(shù)的目的是為了提高資源利用率和為用戶提供易于使用、方便高效的操作環(huán)境。
虛擬性體現(xiàn)在如下兩個方面:操作系統(tǒng)虛擬機對系統(tǒng)硬件和軟件資源的虛擬機制(如虛擬處理機、虛擬內(nèi)存、虛擬設(shè)備、虛擬文件系統(tǒng))。
4.虛擬性
虛擬性是指操作系統(tǒng)中的一種管理技術(shù),它是把物理上的一個實體變成邏輯上的多個對應(yīng)物,或把物理上的多個實體變成邏輯上的一個對應(yīng)物的技術(shù)。操作系統(tǒng)的并發(fā)性、共享性、不確定性、虛擬性四個特征不是相互獨立的,具有密切的關(guān)系:并發(fā)和共享是操作系統(tǒng)的兩個最基本的特征,它們又是互為存在的條件。虛擬技術(shù)為共享提供了更好的條件,而并發(fā)與共享是導(dǎo)致不確定性的根本原因。
1.1操作系統(tǒng)概念1.1.1操作系統(tǒng)的地位和作用
1.1.2操作系統(tǒng)的定義
1.1.3操作系統(tǒng)的功能
1.1.4操作系統(tǒng)的特性
1.1.5操作系統(tǒng)的性能
1.1.5操作系統(tǒng)的性能
操作系統(tǒng)的性能如何,直接影響計算機系統(tǒng)的總體性能。操作系統(tǒng)要能有效地使用系統(tǒng)資源,盡可能快地響應(yīng)用戶請求,方便用戶使用計算機。
幾個方面來評價操作系統(tǒng)的性能。系統(tǒng)效率系統(tǒng)可靠性與安全性系統(tǒng)可維護性易用性可擴充性開放性操作系統(tǒng)的效率主要體現(xiàn)在:資源的利用率要高,內(nèi)存利用率高,外部設(shè)備利用均衡;對用戶的周轉(zhuǎn)時間要短,吞吐量要大,響應(yīng)時間要盡量短。
操作系統(tǒng)是整個計算機系統(tǒng)的所有硬件與軟件資源的管理者,它的可靠性與安全性,直接影響著整個計算機系統(tǒng)的運行可靠性與安全性。
在軟件的生命期中,其維護成本已占軟件成本的70%。操作系統(tǒng)是否具有較好的維護性是決定操作系統(tǒng)生命周期長短的重要因素。系統(tǒng)提供的各種服務(wù)能方便用戶使用,人們對易用性要求越來越重視,它涉及計算機系統(tǒng)使用的簡單性、可操作性、可攜帶性等。
操作系統(tǒng)的功能應(yīng)該不斷被加強、改進和完善。在引進新的系統(tǒng)組件時不應(yīng)干擾現(xiàn)有的服務(wù)能力,從而能夠適應(yīng)不斷發(fā)展的應(yīng)用需求。
為了能夠集成不同廠家生產(chǎn)的計算機及設(shè)備,且能正確有效地協(xié)同工作,支持應(yīng)用程序的可移植性和互操作性,要求操作系統(tǒng)具有開放性。第一章操作系統(tǒng)概論
1.1操作系統(tǒng)概念
1.2操作系統(tǒng)的形成和發(fā)展
1.3操作系統(tǒng)的分類
1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.5Linux操作系統(tǒng)簡介
1.2操作系統(tǒng)的形成和發(fā)展
1.2.1硬件軟件的發(fā)展軌跡
1.2.2手工操作階段
1.2.3早期批處理階段
1.2.4執(zhí)行系統(tǒng)階段
1.2.5多道程序系統(tǒng)階段
1.2.6
操作系統(tǒng)的形成
1.2.1硬件軟件的發(fā)展軌跡
1.硬件
年代硬件特點操作系統(tǒng)特點背景機械計算機時代(17世紀~20世紀初)①純機械結(jié)構(gòu),低速②只能進行簡單的數(shù)學(xué)運算純手工操作從計算尺到差分機再到分析機發(fā)展了數(shù)百年第一代計算機(1946年~20世紀50年代末)電子管計算機①體積大,能耗高,故障多,價格貴②難以普及應(yīng)用無操作系統(tǒng),手工操作階段(程序以機器碼編寫,載體從插件板到卡片與紙帶)1906年發(fā)明電子管;1946年第一臺電子管計算機ENIAC研制成功第二代計算機(20世紀50年代末~60年代中期)晶體管計算機①采用印刷電路②穩(wěn)定性與可靠性大大提高③批量生產(chǎn)成為可能④進入實際應(yīng)用領(lǐng)域但數(shù)量有限①單道批處理系統(tǒng)②操作系統(tǒng)以監(jiān)督軟件形式出現(xiàn)③任務(wù)按順序方式處理1947年發(fā)明晶體管1.2.1硬件軟件的發(fā)展軌跡
1.硬件(續(xù))
年代硬件特點操作系統(tǒng)特點背景第三代計算機(20世紀60年代中期~70年代初)集成電路計算機①體積減小,性價比迅速提高②小型計算機發(fā)展迅速③進入商業(yè)應(yīng)用領(lǐng)域④尚不適合家庭應(yīng)用的需求①涌現(xiàn)大批操作系統(tǒng),包括多道批處理系統(tǒng)、分時系統(tǒng)和實時系統(tǒng)②奠定了現(xiàn)代操作系統(tǒng)的基本框架1958年發(fā)明集成電路;1971年Intel公司發(fā)明微處理器第四代計算機(20世紀70年代中期至今)大規(guī)模集成電路計算機①性能大幅度提高,價格不斷下降②個人計算機成為市場的主流③計算機迅速普及④計算機應(yīng)用進入高速發(fā)展的軌道①操作系統(tǒng)的理論基本完善②系統(tǒng)與網(wǎng)絡(luò)通訊一體化(分布式操作系統(tǒng)和網(wǎng)絡(luò)操作系統(tǒng))③人機交互成為設(shè)計重點④操作系統(tǒng)性能日漸穩(wěn)定1981年IBM-PC機誕生;1993年Internet開始商業(yè)化運作1.2.1硬件軟件的發(fā)展軌跡
2.軟件
主流操作系統(tǒng)系統(tǒng)特點計算機語言軟件特點背景無軟件時期無手工操作無編程語言,直接使用機器代碼手工操作1936年圖靈提出圖靈機模型系統(tǒng)雛形期單道批處理系統(tǒng)作業(yè)運行的監(jiān)督程序編程語言雛形期無交互機制1957年FORTRAN語言開發(fā)成功操作系統(tǒng)理論的成形期多道批處理系統(tǒng)分時系統(tǒng)實時系統(tǒng)多處理系統(tǒng)操作系統(tǒng)結(jié)構(gòu)確立,分為處理機管理、內(nèi)存管理、設(shè)備管理、文件管理等模塊①編程語言大量涌現(xiàn)②結(jié)構(gòu)化程序設(shè)計③C語言逐漸成為主導(dǎo)①字符式人機交互界面②操作命令繁多20世紀60年代的軟件危機引發(fā)了軟件工程的發(fā)展1969年Unix誕生1972年C語言推出1.2.1硬件軟件的發(fā)展軌跡
2.軟件(續(xù))
主流操作系統(tǒng)系統(tǒng)特點計算機語言軟件特點背景現(xiàn)代操作系統(tǒng)時期類Unix系列Windows系列人機交互成為主題①可視化界面②多媒體技術(shù)面向?qū)ο笳Z言成為主流①過渡至圖形界面②注重操作可視化20世紀80年代中期,面向?qū)ο蠹夹g(shù)開始逐步發(fā)展網(wǎng)絡(luò)時代網(wǎng)絡(luò)操作系統(tǒng)分布式操作系統(tǒng)微內(nèi)核技術(shù)興起Java語言和腳本語言興起追求設(shè)計個性化;注重感官效果1995年推出Java開源軟件時代嵌入式系統(tǒng)單內(nèi)核與微內(nèi)核競爭激烈編程工具向跨平臺方向發(fā)展可移植性成為主題1991年發(fā)布了免費的操作系統(tǒng)Linux1.2操作系統(tǒng)的形成和發(fā)展
1.2.1硬件軟件的發(fā)展軌跡
1.2.2手工操作階段
1.2.3早期批處理階段
1.2.4執(zhí)行系統(tǒng)階段
1.2.5多道程序系統(tǒng)階段
1.2.6
操作系統(tǒng)的形成
1.2.2手工操作階段
在計算機發(fā)展的初期,沒有操作系統(tǒng),人們只能依靠手工操作使用計算機。由程序員采用手工方式直接控制和使用計算機硬件,程序員使用機器語言編程,并將事先準備好的程序和數(shù)據(jù)穿孔在紙帶或卡片上,從紙帶或卡片輸入機將程序和數(shù)據(jù)輸入計算機。然后,啟動計算機運行,程序員可以通過控制臺上的按鈕、開關(guān)和氖燈來操縱和控制程序,運行完畢,取走計算輸出的結(jié)果,才輪到下一個用戶上機。
手工操作的特點是:(1)上機用戶獨占全機資源;(2)手工操作時間長;(3)用戶要熟悉機器各部分的細節(jié),使用不當易出錯。
1.2操作系統(tǒng)的形成和發(fā)展
1.2.1硬件軟件的發(fā)展軌跡
1.2.2手工操作階段
1.2.3早期批處理階段
1.2.4執(zhí)行系統(tǒng)階段
1.2.5多道程序系統(tǒng)階段
1.2.6
操作系統(tǒng)的形成
1.2.3早期批處理階段
這一階段的系統(tǒng)程序稱為監(jiān)督程序。
批量處理又有以下兩個階段
:
聯(lián)機批處理
脫機批處理
1.2.3早期批處理階段
1.聯(lián)機批處理
該方式的基本思路是:操作員有選擇地把若干作業(yè)匯合成一批,由監(jiān)督程序控制將它們逐個地輸入到磁帶上;執(zhí)行開始后,監(jiān)督程序按一定算法從磁帶上選擇第一個作業(yè)裝入內(nèi)存,并對該作業(yè)進行匯編或編譯,經(jīng)裝配鏈接成為目標程序,然后啟動程序運行;運行結(jié)束,將其結(jié)果進行輸出。第一個作業(yè)全部完成之后,監(jiān)督程序自動地取出該批作業(yè)的第二個作業(yè)執(zhí)行,執(zhí)行過程同上。
1.2.3早期批處理階段
2.脫機批處理
示意圖如下:
操作員選中的一批作業(yè)先后從卡片機上逐個地經(jīng)衛(wèi)星機控制讀進磁帶機中;主機運行時,只需從快速的磁帶機上逐個讀入作業(yè)并處理之,并把處理的結(jié)果輸出到快速的輸出磁帶上就可以了。輸入磁帶上的一批作業(yè)處理完了,輸出磁帶上也就記錄了這批作業(yè)的對應(yīng)結(jié)果。然后,在衛(wèi)星機的控制下,再把輸出磁帶上的結(jié)果順序地在慢速打印機上打印出來。
1.2操作系統(tǒng)的形成和發(fā)展
1.2.1硬件軟件的發(fā)展軌跡
1.2.2手工操作階段
1.2.3早期批處理階段
1.2.4執(zhí)行系統(tǒng)階段
1.2.5多道程序系統(tǒng)階段
1.2.6
操作系統(tǒng)的形成
1.2.4執(zhí)行系統(tǒng)階段
硬件獲得了兩方面的進展,一是通道的引入,二是中斷技術(shù)的出現(xiàn),這兩項重大成果導(dǎo)致了操作系統(tǒng)進入執(zhí)行系統(tǒng)階段。
通道是一種專用處理部件,它能控制一臺或多臺外設(shè)工作,負責外部設(shè)備和內(nèi)存之間的信息傳輸。它一旦被啟動就能獨立于CPU運行,這樣可使CPU和通道并行操作,而且CPU和各種外部設(shè)備也能并行操作。
所謂中斷是指當主機接到外部信號(如設(shè)備完成信號)時,馬上停止原來的工作,轉(zhuǎn)去處理這一事件,處理完畢之后,主機又回到原來的斷點繼續(xù)工作。
1.2.4執(zhí)行系統(tǒng)階段
(續(xù))
借助于通道、中斷技術(shù),輸入輸出工作可在主機控制下完成。這時,原有的監(jiān)督程序的功能擴大了,它不僅要負責調(diào)度作業(yè)自動地運行,而且還要提供輸入輸出控制功能(用戶不能直接使用啟動外設(shè)的指令,他的輸入輸出請求必須通過系統(tǒng)去執(zhí)行)。這個發(fā)展了的監(jiān)督程序常駐內(nèi)存,稱為執(zhí)行系統(tǒng)。
1.2操作系統(tǒng)的形成和發(fā)展
1.2.1硬件軟件的發(fā)展軌跡
1.2.2手工操作階段
1.2.3早期批處理階段
1.2.4執(zhí)行系統(tǒng)階段
1.2.5多道程序系統(tǒng)階段
1.2.6
操作系統(tǒng)的形成
1.2.5多道程序系統(tǒng)階段
在通道技術(shù)和中斷技術(shù)的支持下,產(chǎn)生了多道程序設(shè)計技術(shù)。多道程序設(shè)計是指允許多個程序(作業(yè))同時進入一個計算機系統(tǒng)的內(nèi)存儲器并啟動進行交替計算的方法。也就是說,計算機內(nèi)存中同時存放了多道程序。1.2.5多道程序系統(tǒng)階段(續(xù))
1.單道程序
內(nèi)存中僅有單個程序在運行,致使系統(tǒng)中仍有許多資源空閑,設(shè)備利用率低,系統(tǒng)性能較差。單道程序工作示例
1.2.5多道程序系統(tǒng)階段(續(xù))
2.多道程序
引入多道程序設(shè)計技術(shù)的根本目的是提高CPU的利用率,充分發(fā)揮計算機系統(tǒng)部件的并行性,現(xiàn)代計算機系統(tǒng)都采用了多道程序設(shè)計技術(shù)。
多道程序工作示例
1.2.5多道程序系統(tǒng)階段(續(xù))
多道運行的特征是:(1)多道。即計算機內(nèi)存中同時存放幾道相互獨立的程序。(2)宏觀上并行。同時進入系統(tǒng)的幾道程序都處于運行過程中,即它們先后開始了各自運行,但都未運行完畢。(3)微觀上串行。從微觀上看,內(nèi)存中的多道程序輪流地或分時地占用處理機,交替執(zhí)行。
1.2操作系統(tǒng)的形成和發(fā)展
1.2.1硬件軟件的發(fā)展軌跡
1.2.2手工操作階段
1.2.3早期批處理階段
1.2.4執(zhí)行系統(tǒng)階段
1.2.5多道程序系統(tǒng)階段
1.2.6
操作系統(tǒng)的形成
1.2.6操作系統(tǒng)的形成
多道程序系統(tǒng)繼承并發(fā)揚了批量處理和執(zhí)行系統(tǒng)的特點,使得作業(yè)操作過程更加自動化,在多道程序系統(tǒng)出現(xiàn)不久就出現(xiàn)了分時系統(tǒng)。多道程序和分時系統(tǒng)的出現(xiàn),標志著操作系統(tǒng)的正式形成。
隨著計算機網(wǎng)絡(luò)和微型計算機組成的多機系統(tǒng)的出現(xiàn),近年來又發(fā)展了網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。
第一章操作系統(tǒng)概論
1.1操作系統(tǒng)概念
1.2操作系統(tǒng)的形成和發(fā)展
1.3操作系統(tǒng)的分類
1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.5Linux操作系統(tǒng)簡介
1.3操作系統(tǒng)的分類
1.3.1批處理操作系統(tǒng)1.3.2分時操作系統(tǒng)1.3.3實時操作系統(tǒng)1.3.4微機操作系統(tǒng)1.3.5網(wǎng)絡(luò)操作系統(tǒng)1.3.6分布式操作系統(tǒng)1.3.7嵌入式操作系統(tǒng)1.3.1批處理操作系統(tǒng)
批處理操作系統(tǒng)的基本特征是“批量處理”,它是將作業(yè)成批裝人計算機,由操作系統(tǒng)將其組織好,按某種調(diào)度算法選擇一道或幾道作業(yè)裝人內(nèi)存運行。它的設(shè)計目標主要是提高資源利用率與系統(tǒng)的吞吐量(單位時間內(nèi)完成作業(yè)的數(shù)量)。批處理操作系統(tǒng)分為單道批處理系統(tǒng)和多道批處理系統(tǒng)兩種。
1.3.1批處理操作系統(tǒng)1.單道批處理系統(tǒng)
作業(yè)是按批量順序進入內(nèi)存,每次只有一道作業(yè)在內(nèi)存中運行。特點是:(1)單道性。監(jiān)督程序每次只從磁帶上裝入一道作業(yè)到內(nèi)存中運行,程序運行結(jié)束或出現(xiàn)異常才裝入其后的作業(yè)運行;(2)順序性。磁帶上的一批作業(yè)按順序裝入內(nèi)存執(zhí)行;(3)自動性。磁帶上的一批作業(yè)在監(jiān)督程序的管理下自動執(zhí)行,無須人工干預(yù)。1.3.1批處理操作系統(tǒng)2.多道批處理系統(tǒng)
在內(nèi)存中裝入多道作業(yè),使它們同時運行、共享系統(tǒng)資源。在單處理機系統(tǒng)中,內(nèi)存中的作業(yè)只是在宏觀上“同時”運行,即指多道作業(yè)都已開始運行,但尚未完成。在微觀上,各作業(yè)是交替執(zhí)行。任意時刻只有一道作業(yè)在處理機上運行。
1.3.1批處理操作系統(tǒng)2.多道批處理系統(tǒng)
(續(xù))
多道批處理系統(tǒng)實現(xiàn)了CPU與I/O設(shè)備的并行操作。從而提高了系統(tǒng)資源的利用率與系統(tǒng)工作效率。具體表現(xiàn)為:(1)多道作業(yè)并行工作,減少了處理器的空閑時間,即提高了處理器的利用率;(2)作業(yè)調(diào)度可以按一定的組合選擇裝入內(nèi)存的作業(yè),只要搭配合理,例如,把請求使用不同設(shè)備的作業(yè)組合在一起,計算型作業(yè)與I/O型作業(yè)合理搭配,則可充分利用計算機系統(tǒng)的資源;(3)成批輸入、自動選擇和控制作業(yè)執(zhí)行,減少了人工操作時間和作業(yè)切換時間。作業(yè)執(zhí)行過程中,不再訪問低速的設(shè)備,而是直接在高速的磁盤上存取信息,縮短了作業(yè)執(zhí)行時間,有利于提高系統(tǒng)的吞吐量。1.3.1批處理操作系統(tǒng)2.多道批處理系統(tǒng)
(續(xù))
多道批處理系統(tǒng)的主要特征與單道批處理系統(tǒng)相比,具有以下三個特征:(1)多道性。允許內(nèi)存中同時裝入多個作業(yè)并發(fā)執(zhí)行,以充分利用系統(tǒng)資源。多道批處理系統(tǒng)的資源利用效率是基于各作業(yè)對系統(tǒng)資源的需求差異得到的。
(2)調(diào)度性。在外存后備隊列中的多個作業(yè),哪些裝入內(nèi)存,由作業(yè)調(diào)度程序按一定的策略來調(diào)度,作業(yè)裝入內(nèi)存并創(chuàng)建進程后,再由進程調(diào)度程序分配處理器。
(3)無序性。與單道批處理系統(tǒng)不同,在內(nèi)存中的多個作業(yè)的執(zhí)行次序,完成時間都與進入內(nèi)存的先后順序沒有直接的對應(yīng)關(guān)系。1.3操作系統(tǒng)的分類
1.3.1批處理操作系統(tǒng)1.3.2分時操作系統(tǒng)1.3.3實時操作系統(tǒng)1.3.4微機操作系統(tǒng)1.3.5網(wǎng)絡(luò)操作系統(tǒng)1.3.6分布式操作系統(tǒng)1.3.7嵌入式操作系統(tǒng)1.3.2分時操作系統(tǒng)1.分時系統(tǒng)的概念
所謂分時系統(tǒng)(TimeSharingOperatingSystem)是指一臺主機與多個終端相連,允許多個用戶通過終端同時以交互的方式使用計算機系統(tǒng),共享資源,這種系統(tǒng)使得每個用戶感到好像自己獨占一臺支持自己請求服務(wù)的計算機系統(tǒng)。
采用了分時技術(shù)。即把CPU時間進行分割成一定大小的時間段,每個時間段稱為一個時間片,每個終端用戶每次可以使用一個由時間片規(guī)定的CPU時間。多個終端用戶就輪流地使用CPU,循環(huán)輪轉(zhuǎn),直至結(jié)束。1.3.2分時操作系統(tǒng)2.分時系統(tǒng)的實現(xiàn)
分時系統(tǒng)有不同的實現(xiàn)形式:(1)單道分時系統(tǒng):早期的分時系統(tǒng),內(nèi)存中只允許一道作業(yè)運行,系統(tǒng)采用調(diào)入-調(diào)出的方式來實現(xiàn),I/O開銷太大,系統(tǒng)性能較差;(2)前臺后臺分時系統(tǒng):這種實現(xiàn)方式是把內(nèi)存劃分成前臺區(qū)與后臺區(qū),前臺區(qū)存放分時作業(yè),優(yōu)先執(zhí)行;后臺區(qū)存放批處理作業(yè),當前臺區(qū)沒有分時作業(yè)時,系統(tǒng)調(diào)度后臺區(qū)的批處理作業(yè)運行。(3)多道分時系統(tǒng):多道程序在內(nèi)存中同時執(zhí)行。
1.3.2分時操作系統(tǒng)3.分時系統(tǒng)的特征
與批處理系統(tǒng)相比具有如下特征:
(1)同時性。允許多個終端用戶同時使用一個計算機系統(tǒng),共享系統(tǒng)資源,提高了資源利用率,促進了計算機的普遍應(yīng)用;(2)獨立性。用戶在各自的終端上請求系統(tǒng)服務(wù),彼此獨立,互不干擾;(3)及時性。系統(tǒng)能及時對用戶的操作進行響應(yīng),顯著提高調(diào)試和修改程序的效率,縮短了周轉(zhuǎn)時間;(4)交互性。采用聯(lián)機(On-line)的人一機對話的工作方式,用戶在終端上可以直接輸入、調(diào)試和運行自己的程序。
1.3操作系統(tǒng)的分類
1.3.1批處理操作系統(tǒng)1.3.2分時操作系統(tǒng)1.3.3實時操作系統(tǒng)1.3.4微機操作系統(tǒng)1.3.5網(wǎng)絡(luò)操作系統(tǒng)1.3.6分布式操作系統(tǒng)1.3.7嵌入式操作系統(tǒng)1.3.3實時操作系統(tǒng)1.實時系統(tǒng)的概念
所謂“實時”是指對隨機發(fā)生的外部事件作出及時的響應(yīng)并能對其進行處理。所謂外部事件是指來自與計算機系統(tǒng)相連接的設(shè)備所提出的服務(wù)要求,而不是由人來啟動和直接干預(yù)而引起的。
實時操作系統(tǒng)(RealTimeOperatingSystem)的主要特點是響應(yīng)及時和可靠性高。它的設(shè)計目標是能對特定的輸入作出及時響應(yīng),并在規(guī)定的時間內(nèi)完成對該事件的處理。
1.3.3實時操作系統(tǒng)1.實時系統(tǒng)的概念(續(xù))
實時系統(tǒng)通常包括實時過程控制和實時信息處理兩種系統(tǒng)。
(1)實時過程控制系統(tǒng)。在這類應(yīng)用中要求計算機系統(tǒng)實時采集被測量系統(tǒng)數(shù)據(jù),并對其及時進行加工處理及輸出。(2)實時信息處理系統(tǒng)。在這類應(yīng)用中要求計算機系統(tǒng)能對用戶的服務(wù)請求及時作出回答,并能及時修改、處理系統(tǒng)中的數(shù)據(jù)。1.3.3實時操作系統(tǒng)2.實時系統(tǒng)的特征
實時系統(tǒng)具有如下特征:(1)同時性。實時信息處理系統(tǒng)允許多個終端用戶同時共享使用一個計算機系統(tǒng),實時控制系統(tǒng)也可以對多個控制對象進行控制或進行多路現(xiàn)場信息采集。(2)獨立性。實時信息處理系統(tǒng)用戶在各自的終端上請求系統(tǒng)服務(wù),彼此獨立,互不干擾。(3)及時性。實時系統(tǒng)對及時性的要求比分時系統(tǒng)更高。特別是實時控制系統(tǒng),它根據(jù)控制對象所能等待時間來確定。(4)交互性。實時系統(tǒng)具有一定的交互性,較分時系統(tǒng)弱。(5)可靠性。實時系統(tǒng)要求有非常高的可靠性,否則可能帶來災(zāi)難性后果。1.3操作系統(tǒng)的分類
1.3.1批處理操作系統(tǒng)1.3.2分時操作系統(tǒng)1.3.3實時操作系統(tǒng)1.3.4微機操作系統(tǒng)1.3.5網(wǎng)絡(luò)操作系統(tǒng)1.3.6分布式操作系統(tǒng)1.3.7嵌入式操作系統(tǒng)1.3.4微機操作系統(tǒng)
從七十年代中期到八十年代早期,微型計算機上運行的一般是單用戶單任務(wù)操作系統(tǒng),如:CP/M、MS-DOS。八十年代以后到九十年代初,微機操作系統(tǒng)開始支持單用戶多任務(wù)和分時操作。以MP/M、XENIX和后期MS-DOS為代表。近年來,微機操作系統(tǒng)得到了進一步發(fā)展,以Windows、OS2、MACOS和Linux為代表的新一代微機操作系統(tǒng)具有GUI、多用戶和多任務(wù)、虛擬存儲管理、網(wǎng)絡(luò)通信支持、數(shù)據(jù)庫支持、多媒體支持、應(yīng)用編程支持API等功能。
還具有以下特點:
(1)開放性;(2)通用性;(3)高性能;(4)采用微內(nèi)核結(jié)構(gòu)。1.3操作系統(tǒng)的分類
1.3.1批處理操作系統(tǒng)1.3.2分時操作系統(tǒng)1.3.3實時操作系統(tǒng)1.3.4微機操作系統(tǒng)1.3.5網(wǎng)絡(luò)操作系統(tǒng)1.3.6分布式操作系統(tǒng)1.3.7嵌入式操作系統(tǒng)1.3.5網(wǎng)絡(luò)操作系統(tǒng)
網(wǎng)絡(luò)操作系統(tǒng)是在一般操作系統(tǒng)功能的基礎(chǔ)上提供網(wǎng)絡(luò)通信和網(wǎng)絡(luò)服務(wù)功能的操作系統(tǒng),它是為網(wǎng)上計算機進行方便而有效的網(wǎng)絡(luò)資源共享,提供網(wǎng)絡(luò)用戶所需各種服務(wù)的軟件和相關(guān)協(xié)議的集合。網(wǎng)絡(luò)操作系統(tǒng)主要有兩種工作模式:客戶機/服務(wù)器(Client/Server)模式,對等(Peer-to-Peer)模式。
1.3.5網(wǎng)絡(luò)操作系統(tǒng)(續(xù))
網(wǎng)絡(luò)操作系統(tǒng)應(yīng)該具有以下幾項功能:(1)網(wǎng)絡(luò)通信。其任務(wù)是在源計算機和目標計算機之間,實現(xiàn)無差錯的數(shù)據(jù)傳輸。(2)資源管理。對網(wǎng)絡(luò)中的所有硬、軟件資源實施有效管理,協(xié)調(diào)諸用戶對共享資源的使用,保證數(shù)據(jù)的一致性、完整性。(3)網(wǎng)絡(luò)管理。包括安全控制、性能監(jiān)視、維護功能等;(4)網(wǎng)絡(luò)服務(wù)。如電子郵件、文件傳輸、共享設(shè)備服務(wù)、遠程作業(yè)錄入服務(wù)等。
1.3.5網(wǎng)絡(luò)操作系統(tǒng)(續(xù))
目前,計算機網(wǎng)絡(luò)操作系統(tǒng)有三大主流:UNIX、Netware和WindowsNT。UNIX是唯一能跨多種平臺的操作系統(tǒng);WindowsNT工作在微機和工作站上;Netware則主要面向微機。支持C/S結(jié)構(gòu)的微機網(wǎng)絡(luò)操作系統(tǒng)則主要有:Netware、UNIXware、WindowsNT、LANManager和LANServer等。
1.3操作系統(tǒng)的分類
1.3.1批處理操作系統(tǒng)1.3.2分時操作系統(tǒng)1.3.3實時操作系統(tǒng)1.3.4微機操作系統(tǒng)1.3.5網(wǎng)絡(luò)操作系統(tǒng)1.3.6分布式操作系統(tǒng)1.3.7嵌入式操作系統(tǒng)1.3.6分布式操作系統(tǒng)
分布式系統(tǒng)是以計算機網(wǎng)絡(luò)為基礎(chǔ)的,它的基本特征是處理上的分布,即功能和任務(wù)的分布。分布式操作系統(tǒng)的所有系統(tǒng)任務(wù)可在系統(tǒng)中任何處理機上運行,自動實現(xiàn)全系統(tǒng)范圍內(nèi)的任務(wù)分配并自動調(diào)度各處理機的工作負載。分布式計算機系統(tǒng)是指由多臺分散的計算機,經(jīng)互連網(wǎng)絡(luò)連接而成的系統(tǒng),每臺計算機高度自治,又相互協(xié)同,能在系統(tǒng)范圍內(nèi)實現(xiàn)資源管理,任務(wù)分配、能并行地運行分布式程序。
1.3.6分布式操作系統(tǒng)(續(xù))分布式操作系統(tǒng)與網(wǎng)絡(luò)操作系統(tǒng)的比較:(1)耦合程度。分布式系統(tǒng)是緊密耦合系統(tǒng)。(2)并行性。分布式操作系統(tǒng)可以將一個進程分散在各處理機上并行執(zhí)行“進程遷移”;網(wǎng)絡(luò)則各處理機上的進程獨立。(3)透明性。分布式系統(tǒng)的網(wǎng)絡(luò)資源調(diào)度對用戶透明,用戶不了解所占有資源的位置;網(wǎng)絡(luò)操作系統(tǒng)中對網(wǎng)絡(luò)資源的使用要由用戶明確指定。
(4)健壯性。分布式系統(tǒng)具有更強的容錯能力,能夠?qū)崿F(xiàn)系統(tǒng)重構(gòu)。1.3操作系統(tǒng)的分類
1.3.1批處理操作系統(tǒng)1.3.2分時操作系統(tǒng)1.3.3實時操作系統(tǒng)1.3.4微機操作系統(tǒng)1.3.5網(wǎng)絡(luò)操作系統(tǒng)1.3.6分布式操作系統(tǒng)1.3.7嵌入式操作系統(tǒng)1.3.7嵌入式操作系統(tǒng)
嵌入式操作系統(tǒng)指運行在嵌入式(計算機)環(huán)境中,對整個系統(tǒng)及所有操作的各種部件、裝置等資源進行統(tǒng)一協(xié)調(diào)、處理、指揮和控制的系統(tǒng)軟件。嵌入式操作系統(tǒng)與應(yīng)用環(huán)境密切相關(guān)。按應(yīng)用范圍劃分,可把它分成通用型嵌入式操作系統(tǒng)和專用型嵌入式操作系統(tǒng)。前者可適用于多種應(yīng)用領(lǐng)域,比較有名的有WindowsCE、嵌入式Linux。1.3.7嵌入式操作系統(tǒng)(續(xù))
嵌入式操作系統(tǒng)特點:
微型化
可定制
實時性
可靠性
易移植性
第一章操作系統(tǒng)概論
1.1操作系統(tǒng)概念
1.2操作系統(tǒng)的形成和發(fā)展
1.3操作系統(tǒng)的分類
1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.5Linux操作系統(tǒng)簡介
1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.4.1整體式結(jié)構(gòu)的操作系統(tǒng)
1.4.2層次式結(jié)構(gòu)的操作系統(tǒng)
1.4.3虛擬機結(jié)構(gòu)的操作系統(tǒng)
1.4.4客戶/服務(wù)器結(jié)構(gòu)的操作系統(tǒng)
1.4.5微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)
1.4.1整體式結(jié)構(gòu)的操作系統(tǒng)
操作系統(tǒng)的整體式結(jié)構(gòu)又叫模塊組合法,是基于結(jié)構(gòu)化程序設(shè)計的一種軟件結(jié)構(gòu)設(shè)計方法。主要設(shè)計思想和步驟如下:把模塊作為操作系統(tǒng)的基本單位,按照功能需要而不是根據(jù)程序和數(shù)據(jù)的特性把整個系統(tǒng)分解為若干模塊,還可以再進一步分成子模塊,每個模塊具有一定獨立功能,若干個關(guān)連模塊協(xié)作完成某個功能;各模塊分別設(shè)計、編碼、調(diào)試各個模塊;最后,把所有模塊連結(jié)成一個完整的系統(tǒng)。
1.4.1整體式結(jié)構(gòu)的操作系統(tǒng)(續(xù))
主要優(yōu)點是:結(jié)構(gòu)緊密、組合方便,對不同環(huán)境和用戶的不同需求,可以組合不同模塊來滿足,從而,靈活性大;針對某個功能可用最有效的算法和任意調(diào)用其他模塊中的過程來實現(xiàn),因此,系統(tǒng)效率較高;由于劃分成模塊和子模塊,設(shè)計及編碼可齊頭并進,能加快操作系統(tǒng)研制過程。
主要缺點是:模塊獨立性差,模塊之間牽連甚多,形成了復(fù)雜的調(diào)用關(guān)系,甚至有很多循環(huán)調(diào)用,造成系統(tǒng)結(jié)構(gòu)不清晰,正確性難保證,可靠性降低,系統(tǒng)功能的增、刪、改十分困難。1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.4.1整體式結(jié)構(gòu)的操作系統(tǒng)
1.4.2層次式結(jié)構(gòu)的操作系統(tǒng)
1.4.3虛擬機結(jié)構(gòu)的操作系統(tǒng)
1.4.4客戶/服務(wù)器結(jié)構(gòu)的操作系統(tǒng)
1.4.5微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)
1.4.2層次式結(jié)構(gòu)的操作系統(tǒng)
所謂層次式結(jié)構(gòu),是把操作系統(tǒng)劃分為內(nèi)核和若干模塊,這些模塊按功能的調(diào)用次序排列成若干層次,各層之間只能是單向依賴或單向調(diào)用關(guān)系,即低層為高層服務(wù),高層可以調(diào)用低層的功能,反之則不能。層次結(jié)構(gòu)可以有全序和半序之分。如果各層之間是單向依賴的,并且每層中的諸模塊之間也保持獨立,沒有聯(lián)系,則這種層次結(jié)構(gòu)被稱為是全序的。如果各層之間是單向依賴的,但在某些層內(nèi)允許有相互調(diào)用或通信的關(guān)系,則這種層次結(jié)構(gòu)稱為半序的。
層次結(jié)構(gòu)的最大優(yōu)點是把整體問題局部化,由于把復(fù)雜的操作系統(tǒng)依照一定的原則分解成若干單一功能的模塊,這些模塊組織成層次結(jié)構(gòu),具有單向依賴性,使層次間的依賴和調(diào)用關(guān)系更為清晰規(guī)范。1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.4.1整體式結(jié)構(gòu)的操作系統(tǒng)
1.4.2層次式結(jié)構(gòu)的操作系統(tǒng)
1.4.3虛擬機結(jié)構(gòu)的操作系統(tǒng)
1.4.4客戶/服務(wù)器結(jié)構(gòu)的操作系統(tǒng)
1.4.5微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)
1.4.3虛擬機結(jié)構(gòu)的操作系統(tǒng)
虛擬機結(jié)構(gòu)是在裸機上擴展一層層軟件,使相同硬件系統(tǒng)的計算機由于軟件不同而具有各種不同的性能。虛擬機結(jié)構(gòu)通常采用層次化結(jié)構(gòu)的設(shè)計方法來實現(xiàn)。從裸機A0開始,在它上面添加一層軟件,使機器的功能得以擴充,形成了一臺功能比原來機器要強的虛擬機A1。又從A1出發(fā),在它上面添加一層新的軟件,把A1改造成功能更強的虛擬機A2。就這樣“添加——擴充——再添加”,最終實現(xiàn)一臺具有所需操作系統(tǒng)各項功能的虛擬機。
1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.4.1整體式結(jié)構(gòu)的操作系統(tǒng)
1.4.2層次式結(jié)構(gòu)的操作系統(tǒng)
1.4.3虛擬機結(jié)構(gòu)的操作系統(tǒng)
1.4.4客戶/服務(wù)器結(jié)構(gòu)的操作系統(tǒng)
1.4.5微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)
1.4.4客戶/服務(wù)器結(jié)構(gòu)的操作系統(tǒng)
客戶/服務(wù)器結(jié)構(gòu)的思想如下:將操作系統(tǒng)分成兩大部分,一是運行在用戶態(tài)并以客戶/服務(wù)器方式活動的進程;二是運行在核心態(tài)的內(nèi)核。除內(nèi)核部分外,操作系統(tǒng)的其他部分被分成若干相對獨立的進程,每一個進程實現(xiàn)一類服務(wù),稱服務(wù)器進程。用戶進程也在該層并以客戶/服務(wù)器方式活動??蛻暨M程發(fā)出消息,內(nèi)核將消息傳送給服務(wù)器進程,服務(wù)器進程執(zhí)行客戶提出的服務(wù)請求,在滿足客戶的要求后再通過內(nèi)核發(fā)送消息把結(jié)果返回給用戶。于是,客戶進程與服務(wù)器進程形成了客戶/服務(wù)器關(guān)系。1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.4.1整體式結(jié)構(gòu)的操作系統(tǒng)
1.4.2層次式結(jié)構(gòu)的操作系統(tǒng)
1.4.3虛擬機結(jié)構(gòu)的操作系統(tǒng)
1.4.4客戶/服務(wù)器結(jié)構(gòu)的操作系統(tǒng)
1.4.5微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)
1.4.5微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)
微內(nèi)核是指把操作系統(tǒng)結(jié)構(gòu)中的內(nèi)存管理、設(shè)備管理、文件系統(tǒng)等高級服務(wù)功能盡可能地從內(nèi)核中分離出來,變成幾個獨立的非內(nèi)核模塊,而在內(nèi)核只保留少量最基本的功能,使內(nèi)核變得簡潔可靠。
其優(yōu)點如下:
充分的模塊化,可獨立更換任一模塊而不會影響其他模塊,從而方便第三方開發(fā)、設(shè)計模塊;
未被使用的模塊功能不必運行,因而能大幅度減少系統(tǒng)的內(nèi)存需求;
具有很高的可移植性,理論上講只需要單獨對各微內(nèi)核部分進行移植修改即可。由于微內(nèi)核的體積通常很小,而且互不影響,因此工作量很小。第一章操作系統(tǒng)概論
1.1操作系統(tǒng)概念
1.2操作系統(tǒng)的形成和發(fā)展
1.3操作系統(tǒng)的分類
1.4操作系統(tǒng)的結(jié)構(gòu)設(shè)計
1.5Linux操作系統(tǒng)簡介
1.5Linux操作系統(tǒng)簡介
1.5.1Linux系統(tǒng)的特點
1.5.2Linux和其他系統(tǒng)的區(qū)別
1.5.1Linux系統(tǒng)的特點
Linux是一種支持多用戶、多線程、多進程、實時性好、功能強大而穩(wěn)定的操作系統(tǒng)。Linux是由LinusBenedictTorvalds等眾多軟件高手共同開發(fā)的,是一種能運行于多種平臺、源代碼公開、免費、功能強大、遵守POSIX標準、與UNIX兼容的操作系統(tǒng)。1.5.2Linux和其他系統(tǒng)的區(qū)別
1.Linux和UNIX的不同
最主要的不同點如下:Linux是免費的,但是UNIX卻極其昂貴。對于應(yīng)用程序也一樣,很多非常優(yōu)秀的應(yīng)用程序在Linux上都可以免費得到或要便宜得多;Linux可以在很多不同的硬件平臺上運行,其中大眾化的Intel處理器和IBM兼容機占據(jù)了主導(dǎo)地位;而典型的UNIX都是和提供商的專有硬件捆綁在一起的,這些硬件的價格更是遠遠高于一般的PC的價格;使用Linux的用戶是計算機的真正主宰;而對于UNIX,用戶只是一個“許可用戶”。第2章用戶界面
2.1用戶工作環(huán)境2.2操作系統(tǒng)用戶界面2.3系統(tǒng)調(diào)用2.4Linux的用戶界面2.1用戶工作環(huán)境
2.1.1用戶環(huán)境2.1.2系統(tǒng)生成和系統(tǒng)啟動2.1.3運行一個用戶程序的過程2.1.1用戶環(huán)境形成用戶環(huán)境包含下面3個方面的工作。①設(shè)計合理的操作命令,它允許用戶處理由操作系統(tǒng)支持的各種目標,如設(shè)備、文件、進程。②提供各種硬件資源,并要提供關(guān)于操作系統(tǒng)的使用說明。③將操作系統(tǒng)裝入計算機,并對系統(tǒng)參數(shù)和控制結(jié)構(gòu)進行初始化,以使計算機系統(tǒng)能夠為用戶工作。2.1.2系統(tǒng)生成和系統(tǒng)啟動系統(tǒng)初啟又叫系統(tǒng)引導(dǎo)。它的任務(wù)是把操作系統(tǒng)的必要部分裝入內(nèi)存并使系統(tǒng)運行,最終使系統(tǒng)處于命令接收狀態(tài)。系統(tǒng)引導(dǎo)分為3個階段。①初始引導(dǎo):把系統(tǒng)核心裝入內(nèi)存中的指定位置,并在指定地址啟動。②核心初始化:執(zhí)行系統(tǒng)核心的初啟子程序,初始化系統(tǒng)核心數(shù)據(jù)。③系統(tǒng)初始化:為用戶使用系統(tǒng)做準備。(1)初始引導(dǎo)初始引導(dǎo)也叫自舉。自舉的含義是操作系統(tǒng)把自己建立起來,這是目前大多數(shù)系統(tǒng)所常用的一種引導(dǎo)方法。初始引導(dǎo)的任務(wù)就是把核心送入內(nèi)存并啟動它運行。系統(tǒng)核心是存放在輔存上的。如何能在輔存上的文件中找到這個核心并送到內(nèi)存中,這需要有一程序做這件事,該程序稱為裝配程序。然而,這一裝配程序也在輔存中,如何把該裝配程序首先裝入內(nèi)存呢?這需要有一個初始引導(dǎo)程序,而且這個程序必須在一開機時能自動運行,這就只有求助于硬件了。在現(xiàn)代大多數(shù)計算機系統(tǒng)中,在它的只讀存儲器中都有一段用于初始引導(dǎo)的固化代碼。當系統(tǒng)加電或按下某種按鈕時,硬件電子線路便會自動地把只讀存儲器中這段初始引導(dǎo)程序讀入內(nèi)存,并將CPU的控制權(quán)交給它。初始引導(dǎo)程序的任務(wù)是將輔存中的裝配程序讀入內(nèi)存。這個裝配程序必須存放在輔存的固定位置(稱為引導(dǎo)塊)上,只讀存儲器只會從這個引導(dǎo)塊中讀取內(nèi)容。這就要求將裝配程序事先存放在這個引導(dǎo)塊上。(2)核心初始化①核心頁表寄存器與核心數(shù)據(jù)初始化。②建立0號進程。0號進程是系統(tǒng)建立的第1個且永遠處于核心態(tài)的唯一的進程。它的主要任務(wù)是按照系統(tǒng)的需要把即將運行的進程送入內(nèi)存,并把近期內(nèi)不運行的進程送到輔存上。③建立1號進程。1號進程是建立初始進程,它的作用是實現(xiàn)系統(tǒng)的初始化。(3)系統(tǒng)初始化這一階段的主要任務(wù)是做好一切準備工作,使系統(tǒng)處于命令接受狀態(tài),這時用戶可以使用機器了。系統(tǒng)初始化是由1號進程執(zhí)行初始化程序?qū)崿F(xiàn)的。它分為兩個階段完成:為控制臺終端建造一個進程,執(zhí)行命令解釋程序,接受操作員或用戶的命令;系統(tǒng)繼續(xù)為若干用戶終端建立命令解釋進程,接受一般用戶的命令(這一環(huán)境稱為多用戶環(huán)境)。這時,一般用戶就可以用系統(tǒng)了,系統(tǒng)初啟全部完成。2.1.3運行一個用戶程序的過程控制計算機工作的最簡單的辦法是,由操作員通過控制臺(或用戶在終端設(shè)備上)鍵入一條條命令。用戶可先將源程序通過編輯建立在磁盤上,接著發(fā)“編譯”命令,操作系統(tǒng)接到這條命令后,將編譯程序調(diào)入內(nèi)存并啟動它工作。然后,用戶再發(fā)出“連接”命令,操作系統(tǒng)執(zhí)行該命令,將生成一個完整的、可執(zhí)行的內(nèi)存映像程序。最后發(fā)出“運行”命令,由操作系統(tǒng)啟動內(nèi)存映像程序運行,從而計算出結(jié)果。圖2-1作業(yè)處理的4個步驟①編輯(修改):建立一個新文件,或?qū)σ延械奈募械腻e誤進行修改。②編譯:將源程序翻譯成目標代碼。完成這一步工作需要有相應(yīng)語言的編譯器。③連接:將主程序和其他所需要的子程序和例行程序連接裝配在一起,使之成為一個可執(zhí)行的、完整的內(nèi)存映像文件。④運行:將內(nèi)存映像文件調(diào)入內(nèi)存,并啟動運行,最后得出計算結(jié)果。2.2操作系統(tǒng)用戶界面2.2.1操作系統(tǒng)的用戶界面2.2.2操作接口2.2.3圖形用戶接口2.2.1操作系統(tǒng)的用戶界面操作系統(tǒng)可以通過程序接口和操作接口兩種方式把它的服務(wù)和功能提供給用戶。程序接口又稱應(yīng)用編程接口,程序中使用這個接口可以調(diào)用操作系統(tǒng)的服務(wù)和功能。許多操作系統(tǒng)的程序接口由一組系統(tǒng)調(diào)用(systemcall)組成,因此,用戶在編寫的程序中使用“系統(tǒng)調(diào)用”就可以獲得操作系統(tǒng)的底層服務(wù),使用或訪問系統(tǒng)管理的各種軟硬件資源。操作接口又稱命令接口,是操作系統(tǒng)為用戶操作控制計算機工作和提供服務(wù)的手段的集合,通??山柚僮骺刂泼?、圖形操作界面等來實現(xiàn)。2.2.2操作接口根據(jù)這些命令所完成功能的不同,可把它們分成以下幾類:系統(tǒng)訪問類,磁盤操作類,文件操作類,目錄操作類,通信類,其他命令。1.系統(tǒng)訪問類用戶在每次開始使用某終端時,都須使用該命令,使系統(tǒng)能識別該用戶。凡要在多用戶系統(tǒng)的終端上上機的用戶,都必須先在系統(tǒng)管理員處獲得一合法的注冊名和口令。以后,每當用戶在接通其所用終端的電源后,便由系統(tǒng)直接調(diào)用,并在屏幕上顯示信息提示用戶鍵入自己的注冊名和口令。2.鍵盤操作命令(1)磁盤格式化命令(2)復(fù)制整個軟盤命令(3)軟盤比較命令(4)備份命令3.文件操作命令(1)顯示文件命令(2)拷貝文件命令(3)文件比較命令(4)重新命名命令(5)刪除文件命令
4.目錄操作命令(1)建立子目錄命令(2)顯示目錄命令(3)刪除子目錄命令(4)顯示目錄結(jié)構(gòu)命令(5)改變當前目錄命令5.其他命令(1)輸入/輸出重定向命令如果在命令中設(shè)置輸出重定向“>”符,其后接文件名或設(shè)備名,表示將命令的輸出改向,送到指定文件或設(shè)備上。類似地,若在命令中設(shè)置輸入重定向“<”符,則不再是從鍵盤而是從重定向符左邊參數(shù)所指定的文件或設(shè)備上,取得輸入信息。(2)管道連接管道連接是指把第1條命令的輸出信息作為第2條命令的輸入信息;類似地,又可把第2條命令的輸出信息作為第3條命令的輸入信息。這樣,由兩個(含兩條)以上的命令可形成一條管道。在操作系統(tǒng)中,通常使用“|”作為管道符號。其一般格式為:Command1|Command2|…|Commandn。(3)過濾命令例如,MS-DOS中用命令
find/N"erase"(路徑名)可對由路徑名指定的輸入文件逐行檢索,把含有字符串“erase”的行輸出。其中,/N是選擇開關(guān),表示輸出含有指定字串的行;如果不用N而用C,則表示只輸出含有指定字串的行數(shù);若用V,則表示輸出不含指定字串的行。(4)批命令為了能連續(xù)地使用多條鍵盤命令,或多次反復(fù)地執(zhí)行指定的若干條命令,而又免去每次重敲這些命令的麻煩,可以提供一特定文件。2.2.3圖形用戶接口GUI采用了圖形化的操作界面,使用WIMP技術(shù)(即窗口Window、圖符Icon、菜單Menu和鼠標Pointingdevice),引入形象的各種圖符將系統(tǒng)的各項功能、各種應(yīng)用程序和文件,直觀、逼真地表示出來。用戶可以通過選擇窗口、菜單、對話框和滾動條完成對他們作業(yè)和文件的各種控制和操作。GUI采用了圖形化的操作界面,使用WIMP技術(shù)(即窗口Window、圖符Icon、菜單Menu和鼠標Pointingdevice),引入形象的各種圖符將系統(tǒng)的各項功能、各種應(yīng)用程序和文件,直觀、逼真地表示出來。用戶可以通過選擇窗口、菜單、對話框和滾動條完成對他們作業(yè)和文件的各種控制和操作。此時,用戶不必死記硬背操作命令,而能輕松自如地完成各項工作。2.3系統(tǒng)調(diào)用
2.3.1系統(tǒng)調(diào)用的基本概念2.3.2系統(tǒng)調(diào)用的基本類型2.3.2系統(tǒng)調(diào)用的實現(xiàn)
2.3.1系統(tǒng)調(diào)用的基本概念系統(tǒng)調(diào)用是為了擴充機器功能、增強系統(tǒng)能力、方便用戶使用而建立的。用戶程序或其他系統(tǒng)程序通過系統(tǒng)調(diào)用就可以訪問系統(tǒng)資源,調(diào)用操作系統(tǒng)功能,而不必了解操作系統(tǒng)內(nèi)部結(jié)構(gòu)和硬件細節(jié),它是用戶程序或其他系統(tǒng)程序獲得操作系統(tǒng)服務(wù)的唯一途徑。系統(tǒng)調(diào)用本質(zhì)上是應(yīng)用程序請求操作系統(tǒng)內(nèi)核完成某功能時的一種過程調(diào)用,但它是一種特殊的過程調(diào)用,它與一般的過程調(diào)用有下述幾方面明顯的差別。①調(diào)用形式不同。過程(函數(shù))使用一般調(diào)用指令,其轉(zhuǎn)向地址是固定不變的,包含在跳轉(zhuǎn)語句中;但系統(tǒng)調(diào)用中不包含處理程序入口,而僅僅提供功能號,按功能號調(diào)用。②被調(diào)用代碼的位置不同。過程(函數(shù))調(diào)用是一種靜態(tài)調(diào)用,調(diào)用者和被調(diào)用代碼在同一程序內(nèi),經(jīng)過連接編輯后作為目標代碼的一部份。而系統(tǒng)調(diào)用是一種動態(tài)調(diào)用,系統(tǒng)調(diào)用的處理代碼在調(diào)用程序之外(在操作系統(tǒng)中),這樣一來,系統(tǒng)調(diào)用處理代碼升級或修改時,與調(diào)用程序無關(guān)。③提供方式不同。過程(函數(shù))往往由編譯系統(tǒng)提供,不同編譯系統(tǒng)提供的過程(函數(shù))可以不同;系統(tǒng)調(diào)用由操作系統(tǒng)提供,一旦操作系統(tǒng)設(shè)計好,系統(tǒng)調(diào)用的功能、種類與數(shù)量便固定不變了。④調(diào)用的實現(xiàn)不同。程序使用一般機器指令(跳轉(zhuǎn)指令)來調(diào)用過程(函數(shù)),是在用戶態(tài)運行的;程序執(zhí)行系統(tǒng)調(diào)用,是通過中斷機構(gòu)來實現(xiàn),需要從用戶態(tài)轉(zhuǎn)變到核心態(tài),在管理狀態(tài)執(zhí)行。2.3.2系統(tǒng)調(diào)用的基本類型1.進程控制類系統(tǒng)調(diào)用①創(chuàng)建和終止進程的系統(tǒng)調(diào)用。②獲得和設(shè)置進程屬性的系統(tǒng)調(diào)用。③等待某事件出現(xiàn)的系統(tǒng)調(diào)用。2.文件操縱類系統(tǒng)調(diào)用①創(chuàng)建和刪除文件。②打開和關(guān)閉文件。③讀和寫文件。3.進程通信類系統(tǒng)調(diào)用在操作系統(tǒng)中經(jīng)常采用兩種進程通信方式,即消息傳遞方式和共享存儲區(qū)方式。4.設(shè)備管理系統(tǒng)調(diào)用申請設(shè)備、釋放設(shè)備、設(shè)備I/O和重定向、獲得和設(shè)置設(shè)備屬性、邏輯上連接和釋放設(shè)備。5.內(nèi)存管理系統(tǒng)調(diào)用申請內(nèi)存和釋放內(nèi)存;虛擬存儲器的管理。6.信息維護系統(tǒng)調(diào)用建立和斷開通信連接、發(fā)送和接收消息、傳送狀態(tài)信息、聯(lián)接和斷開遠程設(shè)備。2.3.2系統(tǒng)調(diào)用的實現(xiàn)在操作系統(tǒng)中,實現(xiàn)系統(tǒng)調(diào)用功能的機制稱陷入或異常處理機制,由于系統(tǒng)調(diào)用而引起處理器中斷的機器指令稱訪管指令(supervisor)、陷入指令(trap)或異常中斷指令(interrupt)。系統(tǒng)調(diào)用的實現(xiàn)有以下幾點:編寫系統(tǒng)調(diào)用處理程序;設(shè)計一張系統(tǒng)調(diào)用入口地址表,每個入口地址都指向一個系統(tǒng)調(diào)用的處理程序,有的系統(tǒng)還包含系統(tǒng)調(diào)用自帶參數(shù)的個數(shù);陷入處理機制,需開辟現(xiàn)場保護區(qū),以保存發(fā)生系統(tǒng)調(diào)用時的處理器現(xiàn)場。圖2-2系統(tǒng)調(diào)用的處理過程2.4Linux的用戶界面2.4.1Linux的命令行接口2.4.2Linux的圖形方式2.4.3Linux的系統(tǒng)調(diào)用2.4.4與系統(tǒng)調(diào)用有關(guān)的數(shù)據(jù)結(jié)構(gòu)
2.4.1Linux的命令行接口Linux命令行是Linux系統(tǒng)的核心,利用命令行可以對系統(tǒng)進行各種配置,要熟練并成功地管理Linux操作系統(tǒng),必須對Linux下的命令行有深入的理解。與圖形界面相比,利用命令行對系統(tǒng)進行管理和操作顯得更為快捷和安全。特別是在服務(wù)器應(yīng)用方面,Linux命令行更是處于一種核心的應(yīng)用,這主要是因為在字符界面下的操作具有更大的穩(wěn)定性和安全性能。2.4.2Linux的圖形方式Linux桌面發(fā)行版通常包含了XWindow系統(tǒng)(也稱X),包括桌面管理器和窗口管理器。桌面管理器使得可以通過圖標而不用輸入操作命令來實現(xiàn)用戶與系統(tǒng)程序的交互。目前,比較流行的桌面管理器有GNOME和KDE。GNOME即GNU網(wǎng)絡(luò)對象模型環(huán)境(TheGNUNetworkObjectModelEnvironment),是開放源碼運動的一個重要組成部分。KDE是KDesktopEnvironment(K桌面環(huán)境)的縮寫。KDE是一種著名的運行于UNIX以及Linux,F(xiàn)reeBSD等類UNIX操作系統(tǒng)上面的自由圖形工作環(huán)境。2.4.3Linux的系統(tǒng)調(diào)用Linux通過各種系統(tǒng)調(diào)用為應(yīng)用系統(tǒng)、為進程提供了編程界面。Linux的系統(tǒng)調(diào)用形式與POSIX兼容,也是一套C語言函數(shù)名的集合,如fork(),exit(),read(),write()等,共221個(2.4.0版)。Linux系統(tǒng)調(diào)用的內(nèi)部實現(xiàn)方式是經(jīng)過INT0X80軟中斷調(diào)用進入后,再根據(jù)系統(tǒng)調(diào)用號分門別類地服務(wù)。2.4.4與系統(tǒng)調(diào)用有關(guān)的數(shù)據(jù)結(jié)構(gòu)1.系統(tǒng)調(diào)用響應(yīng)函數(shù)的函數(shù)名約定函數(shù)名以“sys_”開頭,后跟該系統(tǒng)調(diào)用的名字,由此構(gòu)成221個形似sys_name()的函數(shù)名。例如,系統(tǒng)調(diào)用fork()的響應(yīng)函數(shù)是sys_fork()(kernel/fork.c);exit()的響應(yīng)函數(shù)是sys_exit()(kernel/exit.c)。2.系統(tǒng)調(diào)用號文件include/asm-i386/unistd.h為每個系統(tǒng)調(diào)用規(guī)定了唯一的編號,部分編號如下所示:
8#define__NR_exit 19#define__NR_fork 210#define__NR_read 311#define__NR_write 412#define__NR_open 513#define__NR_close 6…3.1中央處理器任何系統(tǒng)軟件都是硬件功能的延伸操作系統(tǒng)直接依賴于硬件條件OS的硬件環(huán)境以較分散的形式同各種管理相結(jié)合實現(xiàn)操作系統(tǒng)時必須理解的計算機基本結(jié)構(gòu)操作系統(tǒng)管理的重要資源3.1中央處理器3.1.1CPU的構(gòu)成與基本工作方式3.1.2特權(quán)指令和非特權(quán)指令3.1.3處理器狀態(tài)3.1.4程序狀態(tài)字3.1.1CPU的構(gòu)成與基本工作方式
處理器由運算器、控制器、一系列的寄存器以及高速緩存構(gòu)成運算器實現(xiàn)指令中的算術(shù)和邏輯運算,是計算機計算的核心控制器負責控制程序運行的流程,包括取指令、維護CPU狀態(tài)、CPU與內(nèi)存的交互等等寄存器是指令在CPU內(nèi)部作處理的過程中暫存數(shù)據(jù)、地址以及指令信息的存儲設(shè)備在計算機的存儲系統(tǒng)中它具有最快的訪問速度兩類寄存器用戶可見寄存器
高級語言編譯器通過算法分配并使用之,以減少程序訪問主存次數(shù)控制寄存器
用于控制處理器的操作,由OS的特權(quán)代碼使用,以控制其它程序的執(zhí)行3.1.1CPU的構(gòu)成與基本工作方式
處理器由運算器、控制器、一系列的寄存器以及高速緩存構(gòu)成3.1.1CPU的構(gòu)成與基本工作方式
處理器由運算器、控制器、一系列的寄存器以及高速緩存構(gòu)成用戶可見寄存器
高級語言編譯器通過算法分配并使用之,以減少程序訪問主存次數(shù)
包括通用寄存器、數(shù)據(jù)寄存器、地址寄存器數(shù)據(jù)寄存器(dataregister)主要用于存放操作數(shù)地址寄存器(addressregister)用于存儲數(shù)據(jù)及指令的物理地址、線性地址或者有效地址,用于某種特定方式的尋址。如indexregister、segmentpointer、stackpointerI/O地址寄存器I/O緩沖寄存器3.1.1CPU的構(gòu)成與基本工作方式
處理器由運算器、控制器、一系列的寄存器以及高速緩存構(gòu)成控制寄存器
用于控制處理器的操作,大部分對于用戶是不可見的,一部分可以在某種特權(quán)模式(由OS使用)下訪問常見的控制和狀態(tài)寄存器:程序計數(shù)器(PC:ProgramCounter),記錄將要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序狀態(tài)字(PSW:ProgramStatusWord),記錄處理器的運行模式信息等等中斷寄存器存儲器和I/O模塊控制的寄存器3.1.1CPU的構(gòu)成與基本工作方式
處理器由運算器、控制器、一系列的寄存器以及高速緩存構(gòu)成高速緩存(內(nèi)、外)處于CPU和物理內(nèi)存之間一般由控制器中的內(nèi)存管理單元(MMU:MemoryManagementUnit)管理訪問速度快于內(nèi)存,低于寄存器利用程序局部性原理使得高速指令處理和低速內(nèi)存訪問得以匹配,從而提高CPU的效率3.1中央處理器3.1.1CPU的構(gòu)成與基本工作方式3.1.2特權(quán)指令和非特權(quán)指令3.1.3處理器狀態(tài)3.1.4程序狀態(tài)字3.1.2特權(quán)指令和非特權(quán)指令特權(quán)指令:只能由操作系統(tǒng)使用的指令使用多道程序設(shè)計技術(shù)的計算機指令系統(tǒng)必須要區(qū)分為特權(quán)指令和非特權(quán)指令具體特權(quán)指令如啟動I/O設(shè)備、設(shè)置時鐘、控制中斷屏蔽位、清內(nèi)存、建立存儲鍵,加載PSW等。常引起處理器狀態(tài)的切換?CPU如何知道當前運行的是操作系統(tǒng)還是一般應(yīng)用軟件?有賴于處理器狀態(tài)的標識3.1中央處理器3.1.1CPU的構(gòu)成與基本工作方式3.1.2特權(quán)指令和非特權(quán)指令3.1.3處理器狀態(tài)3.1.4程序狀態(tài)字3.1.3處理器狀態(tài)
根據(jù)運行程序?qū)Y源和機器指令的使用權(quán)限將處理器設(shè)置為不同狀態(tài)多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)管態(tài):操作系統(tǒng)管理程序運行的狀態(tài),較高的特權(quán)級別,又稱為特權(quán)態(tài)(特態(tài))、系統(tǒng)態(tài)目態(tài):用戶程序運行時的狀態(tài),較低的特權(quán)級別,又稱為普通態(tài)(普態(tài))、用戶態(tài)有些系統(tǒng)將處理器狀態(tài)劃分核心狀態(tài),管理狀態(tài)和用戶程序狀態(tài)(目標狀態(tài))三種3.1.3處理器狀態(tài)處理器處于管態(tài)時:全部指令(包括特權(quán)指令)可以執(zhí)行可使用所有資源并具有改變處理器狀態(tài)的能力處理器處于目態(tài)時:只有非特權(quán)指令能執(zhí)行特權(quán)級別不同,可運行指令集合也不同特權(quán)級別越高,可以運行指令集合越大高特權(quán)級別對應(yīng)的可運行指令集合包含低特權(quán)級的3.1.3處理器狀態(tài)實例:x86系列處理器386、486、Pentium系列都支持4個處理器特權(quán)級別(特權(quán)環(huán):R0、R1、R2和R3)從R0到R3特權(quán)能力依次降低R0相當于雙狀態(tài)系統(tǒng)的管態(tài)R3相當于目態(tài)R1和R2則介于兩者之間,它們能夠運行的指令集合具有包含關(guān)系3.1.3處理器狀態(tài)目態(tài)--管態(tài)其轉(zhuǎn)換的唯一途徑是通過中斷管態(tài)--目態(tài)可用設(shè)置PSW(修改程序狀態(tài)字)可實現(xiàn)3.1中央處理器3.1.1CPU的構(gòu)成與基本工作方式3.1.2特權(quán)指令和非特權(quán)指令3.1.3處理器狀態(tài)3.1.4程序狀態(tài)字3.1.4程序狀態(tài)字處理器狀態(tài)是在PSW中專門設(shè)置一位,根據(jù)運行程序使用指令的權(quán)限而設(shè)置,PSW(ProgramStatusWord)。PSW用來控制指令執(zhí)行順序并保留和指示與程序有關(guān)的系統(tǒng)狀態(tài),主要作用是實現(xiàn)程序狀態(tài)的保護和恢復(fù)。每個進程都有一個與其執(zhí)行相關(guān)的PSW,每個處理器都設(shè)置一個PSW寄存器。進程占有處理器執(zhí)行,它的PSW將占有PSW寄存器。3.1.4程序狀態(tài)字PSW寄存器包括以下內(nèi)容:程序基本狀態(tài):(1)程序計數(shù)器;(2)條件碼;(3)處理器狀態(tài)位。中斷碼。保存程序執(zhí)行時當前發(fā)生的中斷事件。中斷屏蔽位。指明程序執(zhí)行中發(fā)生中斷事件時,是否響應(yīng)出現(xiàn)的中斷事件。第三章進程管理與調(diào)度
3.1中央處理器3.2中斷3.3進程及其實現(xiàn)3.4進程的控制3.5進程切換與模式切換3.6處理器調(diào)度3.7作業(yè)的管理與調(diào)度3.8低級調(diào)度3.9線程及其基本概念3.10Linux進程管理3.2中斷3.2.1中斷的概念3.2.2中斷的分類3.2.1中斷的概念什么是中斷?指CPU對系統(tǒng)中或系統(tǒng)外發(fā)生異步事件的響應(yīng)異步事件是指無一定時序關(guān)系的隨機發(fā)生事件CPU暫停正在執(zhí)行的程序,保留現(xiàn)場后自動轉(zhuǎn)去執(zhí)行相應(yīng)事件的處理程序,處理完成后返回斷點,繼續(xù)執(zhí)行被打斷的程序如外部設(shè)備完成數(shù)據(jù)傳輸,實時設(shè)備出現(xiàn)異常等“中斷”名稱源于:當異步事件發(fā)生后,打斷了對當前程序的執(zhí)行而轉(zhuǎn)去處理該異步事件直到處理完了后,再轉(zhuǎn)回原程序中斷點繼續(xù)執(zhí)行3.2.1中斷的概念3.2.2中斷的分類——從中斷的性質(zhì)和激活的手段來分(IBM):強迫性中斷正在運行的程序所不期望的,由于某種硬件故障或外部請求引起的自愿性中斷用戶在程序中有意識安排的中斷,是由于用戶在編制程序時因為要求操作系統(tǒng)提供服務(wù),有意使用“訪管”指令或系統(tǒng)調(diào)用,使中斷發(fā)生3.2.2中斷的分類——按事件來源和實現(xiàn)手段分類(MS/LINUX):硬中斷軟中斷外中斷(中斷、異步中斷)內(nèi)中斷(異常、同步中斷)信號軟件中斷按事件來源和實現(xiàn)手段分類中斷和異常要通過硬件設(shè)施來產(chǎn)生中斷請求,是硬中斷。軟中斷是利用硬中斷的概念,用軟件方法對中斷機制進行模擬,實現(xiàn)宏觀上的異步執(zhí)行效果。3.2.2中斷的分類——按事件來源和實現(xiàn)手段分類(MS/LINUX):“中斷”(硬中斷)用于外部設(shè)備對CPU的中斷(中斷的是正在運行的任何程序),轉(zhuǎn)向中斷處理程序上半部分執(zhí)行;“異?!?硬中斷)因指令執(zhí)行不正常而中斷CPU(中斷的是正在執(zhí)行這條指令的程序),轉(zhuǎn)向異常處理程序;“軟件中斷”(軟中斷)用于硬中斷服務(wù)程序?qū)?nèi)核的中斷,在上半部分中發(fā)出軟件中斷(即標記下半部分),使得中斷下半部分在適當時刻獲得處理;“信號”(軟中斷)用于內(nèi)核或進程對某個進程的中斷,通知進程某個特定事件發(fā)生或迫使進程執(zhí)行信號處理程序。3.2.2中斷的分類——按事件來源和實現(xiàn)手段分類(MS/LINUX):?
外中斷
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度金融資產(chǎn)抵押擔保合同6篇
- 2024版企業(yè)借款擔保合同范本
- 2025年度云計算數(shù)據(jù)中心建設(shè)與運營合同3篇
- 渭南職業(yè)技術(shù)學(xué)院《學(xué)科綜合訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五版反擔保合同編制與合同履行規(guī)范3篇
- 2024年適用各類借款協(xié)議標準格式三例版
- 濰坊工商職業(yè)學(xué)院《嵌入式系統(tǒng)與開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版電梯施工安全協(xié)議書范本
- 二零二五年度環(huán)保產(chǎn)業(yè)股票質(zhì)押管理合同3篇
- 2024版環(huán)保新材料研發(fā)與生產(chǎn)合作協(xié)議
- 貨運企業(yè)2025年度安全檢查計劃
- 以發(fā)展為導(dǎo)向共創(chuàng)教育新篇章-2024年期末校長總結(jié)講話稿
- 2025年焊工安全生產(chǎn)操作規(guī)程(2篇)
- 廣東省廣州越秀區(qū)2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 臨床經(jīng)鼻高流量濕化氧療患者護理查房
- 2024年貴州省中考數(shù)學(xué)真題含解析
- 參考新醫(yī)大-中央財政支持地方高校發(fā)展專項資金建設(shè)規(guī)
- 《中醫(yī)內(nèi)科學(xué)關(guān)格》課件
- 2024年中國PCB板清洗劑市場調(diào)查研究報告
- 《紙管》規(guī)范要求
- 【數(shù)學(xué)】2021-2024年新高考數(shù)學(xué)真題考點分布匯
評論
0/150
提交評論