電腦軟體課件_第1頁
電腦軟體課件_第2頁
電腦軟體課件_第3頁
電腦軟體課件_第4頁
電腦軟體課件_第5頁
已閱讀5頁,還剩149頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第五章 電腦軟體

5-1 系統(tǒng)程式5-2 作業(yè)系統(tǒng)功能簡介5-3 作業(yè)系統(tǒng)的演進(jìn)發(fā)展5-4 單一程式處理5-5 多元程式處理 5-6 記憶體配置5-7 虛擬記憶體5-8 行程管理介紹5-9 常見作業(yè)系統(tǒng)5-10 應(yīng)用軟體大觀園1第五章 電腦軟體5-1 系統(tǒng)程式5-6 記憶體配置1一部電腦的完整定義,包含了硬體(hardware)和軟體(software)兩部份?!鸽娔X軟體」,由各種程式語言所撰寫完成。電腦軟體可以分為「系統(tǒng)軟體」(SystemProgram)與「應(yīng)用軟體」(ApplicationSystem)兩大類,如下圖所示2一部電腦的完整定義,包含了硬體(hardware)和軟體(335-1系統(tǒng)程式系統(tǒng)程式,是驅(qū)動(dòng)電腦硬體工作的相關(guān)軟體及韌體(Firemware)程式,主要功用負(fù)責(zé)電腦中資源的分配與管理,並擔(dān)任軟體與硬體間的介面。工作內(nèi)容包括啟動(dòng)、載入、監(jiān)督管理軟體、執(zhí)行輸出入設(shè)備與檔案存取、記憶體管理等,可以區(qū)分為編譯程式、載入程式、巨集處理程式、組合程式與作業(yè)系統(tǒng)五種,45-1系統(tǒng)程式系統(tǒng)程式,是驅(qū)動(dòng)電腦硬體工作的相關(guān)軟體及韌體Tips韌體大多針對特定主機(jī)設(shè)備所編寫,是驅(qū)動(dòng)硬體裝置的最基本程式,也就是其本身具備程式碼的硬體裝置。通常將程式碼燒錄在主機(jī)板上的唯讀記憶體內(nèi)以供其他程式連結(jié),並透過他來存取週邊設(shè)備。5Tips韌體大多針對特定主機(jī)設(shè)備所編寫,是驅(qū)動(dòng)硬體裝置的最翻譯程式翻譯程式就是將程式設(shè)計(jì)師所寫的高階語言原始程式翻譯成能在電腦系統(tǒng)中執(zhí)行的機(jī)器碼形式,例如機(jī)器語言、可執(zhí)行檔或目的碼。不同的程式語言須配置不同的翻譯程式,也是寫好一個(gè)原始程式(SourceProgram),並儲(chǔ)存檔案後,就交由翻譯程式處理。6翻譯程式翻譯程式就是將程式設(shè)計(jì)師所寫的高階語言原始程式翻譯翻譯器翻譯器會(huì)檢查程式是否有「語法錯(cuò)誤」(SyntaxError)和「語義錯(cuò)誤」(SemanticError)。沒有任何錯(cuò)誤後,接著把程式內(nèi)每個(gè)句子轉(zhuǎn)成更低階的語言,通常是「組合語言」形式。接著再由組譯器就會(huì)把每個(gè)組合語言句子轉(zhuǎn)成稱為「目的碼」(ObjectCode)的「機(jī)械語言」,最後經(jīng)由連結(jié)與載入過程,轉(zhuǎn)成可在電腦上執(zhí)行的檔案。7翻譯器翻譯器會(huì)檢查程式是否有「語法錯(cuò)誤」(SyntaxEr翻譯程式過程三種作業(yè)階段語彙分析階段語法分析與解構(gòu)階段最佳化與目的碼輸出階段8翻譯程式過程三種作業(yè)階段語彙分析階段8語彙分析階段將程式碼中所有字元逐字讀入,並分解為單語(token)形式,並建立文字表(LiteralTable)、符號表(SymbolTable)、識別字表(IdentifierTable)等,並將原先所定義的各種符號(如運(yùn)算子、識別字、變數(shù)等)分析出來。因此這個(gè)階段也稱為「掃描器」(Scanner)或「語彙分析器」(LexicalAnalyzer)。9語彙分析階段將程式碼中所有字元逐字讀入,並分解為單語(to語法分析與解構(gòu)階段將程式碼中讀入的單語組合成合乎程式語言語法的架構(gòu),並呼叫相對應(yīng)的函式來轉(zhuǎn)換成「中間形式矩陣」(IntermediateMatrix),同時(shí)在識別表中加入相關(guān)訊息,例如條件判斷、迴圈控制、運(yùn)算式計(jì)算、字串連結(jié)、陣列存取等語法結(jié)構(gòu)判斷。這個(gè)階段也稱為「剖析器」(Parser)10語法分析與解構(gòu)階段將程式碼中讀入的單語組合成合乎程式語言語最佳化與目的碼輸出階段將剖析器所產(chǎn)生的矩陣進(jìn)行最佳化工作,目的是節(jié)省儲(chǔ)存空間與執(zhí)行時(shí)間。包括迴路最佳化、布林式最佳化與運(yùn)算式計(jì)算最佳化等。另外事先也會(huì)預(yù)留出記憶體空間,以便儲(chǔ)存目的碼,並進(jìn)行與機(jī)器(MachineDependent)相關(guān)的最佳化動(dòng)作,如選擇指令,暫存器的使用判斷等。最後再輸出可重新定位的目的碼。11最佳化與目的碼輸出階段將剖析器所產(chǎn)生的矩陣進(jìn)行最佳化工作,翻譯程式的種類組譯器(Assembler)編譯器(Compiler)直譯器(Intepreter)12翻譯程式的種類組譯器(Assembler)12組譯器(Assembler)組譯器是將組合語言所寫的程式翻成機(jī)器碼。還必須提供給連結(jié)器及載入器所需要的資訊與找到每個(gè)變數(shù)的地址,翻譯出來的機(jī)器碼,則稱為目的程式(ObjectProgram)。不同的CPU也會(huì)有不同的組譯器。13組譯器(Assembler)組譯器是將組合語言所寫的程式翻編譯器(Compiler)編譯器(compiler)是將原始程式區(qū)分為數(shù)個(gè)階段轉(zhuǎn)換為機(jī)器可讀的可執(zhí)行檔的目的程式,編譯器必須先把原始程式讀入主記憶體後才可以開始編譯。原始程式每修改一次,就必須重新經(jīng)過編譯器的編譯過程,才能保持執(zhí)行檔為最新的狀況。經(jīng)過編譯後所產(chǎn)生的執(zhí)行檔,執(zhí)行中不須要再翻譯,因此執(zhí)行效率高於直譯程式。針對程式開發(fā)者所使用的程式語言(C++、Java、C等)的不同,就必須選擇其相對的編譯器.。14編譯器(Compiler)編譯器(compiler)是將原直譯器(Intepreter)直譯器(Intepreter)在程式執(zhí)行時(shí),不需要產(chǎn)生目的檔或機(jī)器語言,會(huì)先檢查所要執(zhí)行那一行敘述的語法,如果沒有錯(cuò)誤,便直接執(zhí)行該行程式,如果碰到錯(cuò)誤就會(huì)立刻中斷,直到錯(cuò)誤修正之後才能繼續(xù)執(zhí)行。例如LISP、JavaScript、PROLOG。15直譯器(Intepreter)直譯器(Intepreter編譯器與直譯器間的差異性直譯器(Interpreter)編譯器(Compiler)目的程式不產(chǎn)生會(huì)產(chǎn)生所佔(zhàn)記憶體較小較大交談性較高較低16編譯器與直譯器間的差異性直譯器(Interpreter)編翻譯一次後,以後就可以直接執(zhí)行執(zhí)行檔每次執(zhí)行時(shí)都必須重新逐行翻譯翻譯次數(shù)翻譯全部敘述但不執(zhí)行逐步翻譯並即時(shí)執(zhí)行施行方式較困難較容易除錯(cuò)(Debug)難易度較快較慢執(zhí)行速度編譯器(Compiler)直譯器(Interpreter)17翻譯一次後,以後就可以直接執(zhí)行執(zhí)行檔每次執(zhí)行時(shí)都必須重新逐行機(jī)器語言有一種結(jié)合編譯及直譯兩種性質(zhì)的P-碼(P-Code)編譯程式,P-碼編譯程式能將由高階語言所編寫的原始程式碼,轉(zhuǎn)換成中間形式碼(IntermediateForm)後,再加以執(zhí)行,此處中間形式碼(IntermediateForm)是指某一種虛擬機(jī)器(PseudoMachine)的機(jī)器語言。P-碼編譯程式是一種軟體,具有可攜性,不會(huì)因?yàn)殡娔X不同而必須產(chǎn)生不同的目的碼,P-碼可以在任何具有「P-碼直譯」程式的機(jī)器上執(zhí)行。18機(jī)器語言有一種結(jié)合編譯及直譯兩種性質(zhì)的P-碼(P-Code)Java程式Java程式編譯方式就是一種P-碼編譯程式的概念。程式執(zhí)行時(shí),必須要有執(zhí)行的平臺(Platform)。平臺是一種包括硬體及軟體的執(zhí)行環(huán)境,例如:個(gè)人電腦的Windows作業(yè)系統(tǒng)就是一種執(zhí)行的平臺。Java是一種與硬體無關(guān)的架構(gòu)中立程式語言,所以Java的執(zhí)行環(huán)境屬於一種軟體平臺,它不受限於不同的硬體執(zhí)行環(huán)境,卻能達(dá)到跨平臺的執(zhí)行成果。19Java程式Java程式編譯方式就是一種P-碼編譯程式的概念Java程式執(zhí)行的過程是將Java原始程式碼編譯成「位元組碼」(Bytecode),它是一種近於機(jī)器語言的虛擬的機(jī)器語言,稱為JVM(JavaVirtualMachine)。接著透過各種不同平臺的解譯程式來將這些位元組碼進(jìn)行解譯並予以執(zhí)行。20Java程式執(zhí)行的過程是將Java原始程式碼編譯成「位元組碼執(zhí)行流程執(zhí)行流程首先將副檔名為.java的Java原始程式碼編譯成副檔名為.class的位元組碼後,就可以分別在不同作業(yè)系統(tǒng)中安裝不同作業(yè)系統(tǒng)版本的JVM解譯程式。JVM解譯程式能將這些位元組碼進(jìn)行解譯及執(zhí)行。因此同樣的位元組碼,可以拿到不同的作業(yè)系統(tǒng)環(huán)境中執(zhí)行,進(jìn)而達(dá)到跨平臺的特性。21執(zhí)行流程執(zhí)行流程首先將副檔名為.java的Java原始程式碼連結(jié)與載入程式連結(jié)程式(Linker)會(huì)將其他的目的檔及所呼叫到的函數(shù)庫(Library)連結(jié)在一起後,成為一個(gè).EXE可以執(zhí)行的檔案。連結(jié)的目的在於解決外部參考的問題,可由連結(jié)程式完成,或直接加入載入程式中。22連結(jié)與載入程式連結(jié)程式(Linker)會(huì)將其他的目的檔及所以往組合程式將使用者程式轉(zhuǎn)成目的碼後,便置於主記憶中,作業(yè)系統(tǒng)並將控制權(quán)轉(zhuǎn)移給它,而使得該目的程式真正地執(zhí)行。不過這種作法有兩項(xiàng)缺點(diǎn):每次執(zhí)行程式時(shí),都必須先組譯,所以相當(dāng)浪費(fèi)時(shí)間。每次執(zhí)行時(shí),組合程式或編譯程式仍然停留在主記憶中,所以非常浪費(fèi)記憶體的執(zhí)行空間23以往組合程式將使用者程式轉(zhuǎn)成目的碼後,便置於主記憶中,作業(yè)系如能將程式所產(chǎn)生的目的碼,先放置在輔助記憶體之中,當(dāng)需要執(zhí)行該程式時(shí),再從輔助記憶體載入主記憶體之中。每次執(zhí)行時(shí)就不再需要組譯一次,不僅可以省下不少的執(zhí)行時(shí)間,更由於載入程式遠(yuǎn)小於組合程式,所以也節(jié)省了不少的記憶體空間,而這也就是載入程式的由來。24如能將程式所產(chǎn)生的目的碼,先放置在輔助記憶體之中,當(dāng)需要執(zhí)行目的程式會(huì)含有如何載入記憶體的相關(guān)資訊,載入程式就根據(jù)這些資訊將目的程式載入記憶體中的適當(dāng)位址,準(zhǔn)備執(zhí)行程式。主要包含四項(xiàng)功能,分別是配置、連結(jié)、重定位與載入功能25目的程式會(huì)含有如何載入記憶體的相關(guān)資訊,載入程式就根據(jù)這些資配置(Allocation):為將要執(zhí)行的程式在主記憶體中分配到一塊位址。連結(jié)(Linking):處理各程式目的碼的符號參考與程式庫間的結(jié)合。重定址(Relocation):調(diào)整所有和位置相關(guān)的位址,並使其對應(yīng)所分配的位置,特別用於多工作作業(yè)系統(tǒng)。載入(Loading):將資料及程式段實(shí)際移入主記憶體中執(zhí)行。26配置(Allocation):為將要執(zhí)行的程式在主記憶體中分Tips所謂BootstrapLoader(啟動(dòng)載入程式)是電腦開機(jī)後,第一個(gè)執(zhí)行類似BIOS的程式,主要負(fù)責(zé)檢查一些硬體的狀態(tài)及主動(dòng)將載入程式置入主記憶體中,接著將控制權(quán)交給載入程式,並載入作業(yè)系統(tǒng)來掌握所有系統(tǒng)資源。27Tips所謂BootstrapLoader(啟動(dòng)載入程式巨集處理器以單一指令(巨集)代替程式中一段重覆多次的敘述或指令,則稱為巨集指令,而且每個(gè)巨集都有一個(gè)名稱。巨集在程式編譯之前會(huì)用前置處理程式(preprocessor)先將巨集展開成沒有巨集前的樣子後再編譯,當(dāng)巨集指令撰寫完畢後,一旦我們要使用它時(shí),只要在主程式中寫上巨集的名稱即可,而不需要使用呼叫指令來搭配。28巨集處理器以單一指令(巨集)代替程式中一段重覆多次的敘述或巨集處理器程式經(jīng)由巨集處理器(MacroProcessor)處理時(shí),只要出現(xiàn)巨集的地方會(huì)直接以所定義的內(nèi)容直接取代,而和使用副程式必須涉及到控制權(quán)轉(zhuǎn)移有所不同。巨集和批次檔很相似,差別是批次檔是做程式外的指令集合,而由作業(yè)系統(tǒng)控制,巨集則是程式內(nèi)部的動(dòng)作集合,由所屬的應(yīng)用程式控制。29巨集處理器程式經(jīng)由巨集處理器(MacroProcessor巨集的意思以組合語言為例,巨集的意思就是在原始程式碼上,將多個(gè)指令利用巨集名稱來代替,不過在組譯後,巨集名稱則又會(huì)被轉(zhuǎn)成巨集內(nèi)的指令結(jié)構(gòu)。30巨集的意思以組合語言為例,巨集的意思就是在原始程式碼上,將多巨集組譯前與組譯後的關(guān)係圖PrintStr MACRO MOV AH,9 INT21H ENDMEndDos MACRO MOV AH,4CH INT 21H ENDM;主程式開始.MODELSMALL.STACK.CODEMAIN: MOV DX,3030H PrintStr MOV DX,3131H PrintStrEndDosENDMAIN原始碼;主程式開始.MODELSMALL.STACK.CODEMAIN: MOV DX,3030H MOV AH,9 INT 21H MOV DX,3131H MOV AH,9 INT 21H MOV AH,4CH INT 21HENDMAIN組譯後組譯31巨集組譯前與組譯後的關(guān)係圖PrintStr MACRO原始碼巨集的優(yōu)缺點(diǎn)例如上圖中,我們可以看到原始碼上的巨集名稱組譯過後,則轉(zhuǎn)成巨集中的指令集。巨集的優(yōu)點(diǎn)是主程式不必再轉(zhuǎn)移到另外的位址上執(zhí)行指令,執(zhí)行速度自然可以大大的提升;缺點(diǎn)則是主程式碼的長度會(huì)因此而冗長許多。32巨集的優(yōu)缺點(diǎn)例如上圖中,我們可以看到原始碼上的巨集名稱組譯過組譯器組譯器是將組合語言所寫的程式翻成機(jī)器碼。還必須提供給連結(jié)器及載入器所需要的資訊與找到每個(gè)變數(shù)的地址,至於翻譯出來的機(jī)器碼,則稱為目的程式(ObjectProgram)。不同的CPU也會(huì)有不同的組譯器,常用的組譯器ASM、MASM、TASM,其中以微軟推出的巨集組譯器(MacroAssembler)MASM最受歡迎。33組譯器組譯器是將組合語言所寫的程式翻成機(jī)器碼。33組合語言組合語言是一種低階的程式語言,可對電腦硬體做直接的控制每一種系統(tǒng)的組合語言都不一樣,以PC而言,用的是80x86的組合語言。組合語言是跟晶片有關(guān)的機(jī)械語言,不同的晶片,其組合語言也不一樣。34組合語言組合語言是一種低階的程式語言,可對電腦硬體做直接的控5-2作業(yè)系統(tǒng)功能簡介「作業(yè)系統(tǒng)」(OperatingSystem)扮演了使用者與應(yīng)用軟體、電腦硬體、周邊設(shè)備間一個(gè)掌控與協(xié)調(diào)的角色。電腦與作業(yè)系統(tǒng)的運(yùn)作示意圖355-2作業(yè)系統(tǒng)功能簡介「作業(yè)系統(tǒng)」(Operating提供使用者方便的操作環(huán)境作業(yè)系統(tǒng)主要功能,為電腦硬體與使用者之間的溝通橋樑,通常稱為「使用者操作介面」(UserInterface,UI)。早期的使用者操作介面中,幾乎都是以文字型態(tài)為主,稱為「命令列操作介面」(Command-lineinterface),不必做圖形運(yùn)算,較節(jié)省電腦資源。36提供使用者方便的操作環(huán)境作業(yè)系統(tǒng)主要功能,為電腦硬體與使用對於使用者來說,除了視覺感受較為單調(diào)外,就是必須記憶大量操作指令,使用及學(xué)習(xí)上較不方便。37對於使用者來說,除了視覺感受較為單調(diào)外,就是必須記憶大量操作視窗模式操作介面目前最為普遍的「視窗模式操作介面」(Graphicaluserinterface),使用者可選擇透過滑鼠或鍵盤來操作電腦,此模式的優(yōu)點(diǎn)是親合性較高,不論在視覺、學(xué)習(xí)與使用上,都能有最方便舒適的操作環(huán)境。WindowsXP是一種視窗模式操作介面38視窗模式操作介面目前最為普遍的「視窗模式操作介面」(Gra管理、分配與監(jiān)視系統(tǒng)資源作業(yè)系統(tǒng)除了可以管理所有的硬體設(shè)備資源外,還能夠?qū)⑦@些資源適當(dāng)?shù)胤峙浣o相關(guān)的應(yīng)用軟體,包括了輸出入管理、記憶體管理、檔案和磁碟管理等等。作業(yè)系統(tǒng)可視為延伸機(jī)器(ExtendedMachine)或資源管理者(ResourceManager)角色的代表。39管理、分配與監(jiān)視系統(tǒng)資源作業(yè)系統(tǒng)除了可以管理所有的硬體設(shè)備Tips透過作業(yè)系統(tǒng)的操作介面,使用者不需要利用機(jī)器語言來操作電腦,而可使用更接近人類的高階語言或應(yīng)用軟體來控制電腦。因此作業(yè)系統(tǒng)扮演了一種延伸機(jī)器的功能。40Tips透過作業(yè)系統(tǒng)的操作介面,使用者不需要利用機(jī)器語言來操作業(yè)系統(tǒng)類型功能說明應(yīng)用說明單人單工作業(yè)系統(tǒng)同一時(shí)間內(nèi)只允許一個(gè)使用者來執(zhí)行程式,並且電腦在同一時(shí)間內(nèi)只能處理一個(gè)程序。例如微軟的MS-DOS。單人多工作業(yè)系統(tǒng)同一時(shí)間內(nèi)只允許一個(gè)使用者來執(zhí)行程式,不過電腦在單一時(shí)間內(nèi)能提供多件工作同時(shí)作業(yè)的能力,並會(huì)依照程式的需求分配CPU時(shí)間給每個(gè)工作,如此電腦的資源便可以充分利用,使用者也不必等候執(zhí)行工作。例如微軟的Windows95/98/Me/XP與NT/2000、IBM的OS/2作業(yè)系統(tǒng)。多人多工作業(yè)系統(tǒng)此類作業(yè)系統(tǒng)可以允許多個(gè)使用者使用多個(gè)帳號在同一時(shí)間執(zhí)行不同程式,並共享電腦及週邊資源。例如WindowsNT/2000/2003或Unix、Linux作業(yè)系統(tǒng)。41作業(yè)系統(tǒng)類型功能說明提供應(yīng)用軟體執(zhí)行環(huán)境作業(yè)系統(tǒng)提供多種應(yīng)用軟體執(zhí)行環(huán)境42提供應(yīng)用軟體執(zhí)行環(huán)境作業(yè)系統(tǒng)提供多種應(yīng)用軟體執(zhí)行環(huán)境42網(wǎng)路功能與系統(tǒng)安全作業(yè)系統(tǒng)可以肩負(fù)起系統(tǒng)安全維護(hù)的功能,防止任何不當(dāng)?shù)耐獠糠欠ㄈ肭?3網(wǎng)路功能與系統(tǒng)安全作業(yè)系統(tǒng)可以肩負(fù)起系統(tǒng)安全維護(hù)的功能,5-3作業(yè)系統(tǒng)的演進(jìn)與發(fā)展作業(yè)系統(tǒng)的設(shè)計(jì)與發(fā)展,與所要執(zhí)行的電腦硬體架構(gòu)有相當(dāng)密切的關(guān)係。早期的電腦以打孔卡片儲(chǔ)存資料,而CPU是由讀卡機(jī)(CardReader)讀入資料,接著再讀入組譯器、編譯器、連結(jié)器後,由於I/O設(shè)備的執(zhí)行速度遠(yuǎn)低於CPU的執(zhí)行速度,經(jīng)常使得CPU閒置,為了提升工作效率,可將所有的工作一次大量處理,提高單位時(shí)間內(nèi)的作業(yè)量。445-3作業(yè)系統(tǒng)的演進(jìn)與發(fā)展作業(yè)系統(tǒng)的設(shè)計(jì)與發(fā)展,與所要執(zhí)批次作業(yè)系統(tǒng)使用者必須先把想要執(zhí)行的程式逐次排序好。處理時(shí)才會(huì)到媒體中讀取資料,並由作業(yè)系統(tǒng)將其放入CPU的批次工作佇列中,排隊(duì)等候執(zhí)行。這種方式則稱為「批次作業(yè)系統(tǒng)」(BatchOperatingSystem),通常採用離線(off-line)作業(yè)。優(yōu)點(diǎn)是很適合處理需耗費(fèi)大量CPU時(shí)間的工作。缺點(diǎn)是不具交談能力,且時(shí)效性較差。45批次作業(yè)系統(tǒng)使用者必須先把想要執(zhí)行的程式逐次排序好。處理時(shí)才線上週邊同時(shí)處理高速設(shè)備(如磁碟機(jī))等共同裝置來暫存專用裝置輸出入資料,來提高系統(tǒng)的效能,這種作業(yè)系統(tǒng)則稱為「線上週邊同時(shí)處理」(SimultaneousPeripheralOperationOn-Line,SPOOL)。46線上週邊同時(shí)處理高速設(shè)備(如磁碟機(jī))等共同裝置來暫存專用裝特點(diǎn)是在專用裝置間有極大速度差異時(shí),利用速度介於兩者間的共用裝置作為緩衝區(qū)。例如當(dāng)I/O動(dòng)作與CPU執(zhí)行重疊時(shí),CPU先行將資料寫入磁碟,等到I/O裝置空閒時(shí),再將磁碟內(nèi)的資料輸出。47特點(diǎn)是在專用裝置間有極大速度差異時(shí),利用速度介於兩者間的共用監(jiān)督程式CPU從8位元火速發(fā)展到目前64位元的時(shí)代,使得作業(yè)系統(tǒng)也得跟著快速演進(jìn)。早期的8位元APPLEⅡ裡,作業(yè)系統(tǒng)被稱為監(jiān)督程式(MonitorProgram),工作相當(dāng)單純,只是讓某種終端機(jī)連接上系統(tǒng),並且監(jiān)督使用者程式與輸出/入裝置之間的程式執(zhí)行狀況。算是一般作業(yè)系統(tǒng)的始祖。48監(jiān)督程式CPU從8位元火速發(fā)展到目前64位元的時(shí)代,使得作監(jiān)督程式又可分為「長駐程式」(ResidentProgram)或「暫留程式」(TransientProgram)。監(jiān)督程式的主要工作,管理電腦系統(tǒng)的所有資源,電腦系統(tǒng)中最重要的資源當(dāng)然就是CPU,讓CPU發(fā)揮最大的效能,是每個(gè)作業(yè)系統(tǒng)在設(shè)計(jì)監(jiān)督程式時(shí)最大的考量49監(jiān)督程式又可分為「長駐程式」(ResidentProgra多元程式作業(yè)系統(tǒng)多元程式(Multi-programming)作業(yè)系統(tǒng)的電腦,允許CPU將所要執(zhí)行的多個(gè)程式載入主記憶體,或稱為多工作業(yè)系統(tǒng)(Multitasking)。將所要執(zhí)行的數(shù)個(gè)程式放入CPU中,當(dāng)CPU正在執(zhí)行的工作進(jìn)入等待狀態(tài)時(shí),切換到記憶體中其他工作繼續(xù)進(jìn)行。目的是充分利用CPU,不受I/O影響,除了分配時(shí)間給不同的程式之外,當(dāng)一個(gè)程式進(jìn)行到輸出輸入而需等待裝置傳送資料時(shí),就可以先去處理其它的程式,等待資料準(zhǔn)備完畢後,再回到原來的程式進(jìn)行進(jìn)一步的運(yùn)算處理。50多元程式作業(yè)系統(tǒng)多元程式(Multi-programmin分時(shí)作業(yè)系統(tǒng)分時(shí)(TimeSharing)作業(yè)系統(tǒng)的運(yùn)作原理將CPU時(shí)間分割成一連串的時(shí)間配額(TimeSliceorTimeQuantum)以交替執(zhí)行這些待命程式的做法,提供使用者分時(shí)CPU的一小部份,而載入記憶體中執(zhí)行的程式通常叫做「行程」(process)。分時(shí)作業(yè)系統(tǒng)允許利用交談方式來與作業(yè)系統(tǒng)溝通,現(xiàn)代電腦的運(yùn)算速度極快,往往每秒鐘就可執(zhí)行數(shù)以億計(jì)的指令,分時(shí)作業(yè)系統(tǒng)仍然可以帶給使用者不受其他干擾,而獨(dú)立處理其程式的假象。51分時(shí)作業(yè)系統(tǒng)分時(shí)(TimeSharing)作業(yè)系統(tǒng)的運(yùn)作多元處理作業(yè)系統(tǒng)多元處理(Multiprocessing)作業(yè)系統(tǒng)是指單一電腦系統(tǒng)中,具有二個(gè)以上CPU,由單一作業(yè)系統(tǒng)可以同時(shí)存取,平行處理平行處理(parallelprocess),模式處理工作排程,也稱為「平行作業(yè)系統(tǒng)」(Parallelsystem)。各個(gè)CPU可同時(shí)分別處理不同的程式,並讓每個(gè)CPU共享各種資源。例如WindowsServer/NT/XP都是屬於多元處理作業(yè)系統(tǒng)。52多元處理作業(yè)系統(tǒng)多元處理(Multiprocessing)分散式作業(yè)系統(tǒng)分散式作業(yè)系統(tǒng)是架構(gòu)在網(wǎng)路之上的作業(yè)系統(tǒng),分散式系統(tǒng)的架構(gòu)中,藉由網(wǎng)路資源共享的特性,提供更強(qiáng)大的功能,並提高系統(tǒng)的計(jì)算效能。資訊硬體價(jià)格下降與電腦網(wǎng)路技術(shù)之發(fā)展與進(jìn)步,幾乎電腦設(shè)備均已上網(wǎng)連線,分散式作業(yè)系統(tǒng)各電腦中的CPU擁有各自的記憶體,當(dāng)CPU間要交換訊息時(shí),是藉由通訊線路來完成。53分散式作業(yè)系統(tǒng)分散式作業(yè)系統(tǒng)是架構(gòu)在網(wǎng)路之上的作業(yè)系統(tǒng),分分散式系統(tǒng)優(yōu)點(diǎn)分散式系統(tǒng)中任何遠(yuǎn)端的資源,都被作業(yè)系統(tǒng)視為本身的資源,而可以直接存取。優(yōu)點(diǎn)有資源共享,加速運(yùn)算,可靠性高,訊息交換等。54分散式系統(tǒng)優(yōu)點(diǎn)分散式系統(tǒng)中任何遠(yuǎn)端的資源,都被作業(yè)系統(tǒng)視為本分散式作業(yè)系統(tǒng)又可區(qū)分為「鬆耦合系統(tǒng)」(LooselyCoupledSystem)與「緊耦合系統(tǒng)」(TightlyCoupledSystem)

分散式系統(tǒng)模式特色與說明鬆耦合系統(tǒng)每一個(gè)CPU有自己的記憶體和作業(yè)系統(tǒng),並且利用外部網(wǎng)路來連結(jié)其它處理器,也就是每個(gè)處理器節(jié)點(diǎn)都是獨(dú)立的。

緊耦合系統(tǒng)所有的處理器共用記憶體,並由單一作業(yè)系統(tǒng)控制所有內(nèi)部網(wǎng)路上的處理器。55分散式作業(yè)系統(tǒng)又可區(qū)分為「鬆耦合系統(tǒng)」(LooselyC叢集式作業(yè)系統(tǒng)「叢集式作業(yè)系統(tǒng)」(ClusteredOperatingSystem)指的是在分散式系統(tǒng)中,利用高速網(wǎng)路將許多臺設(shè)備與效能可能較低的電腦或工作站連結(jié)在一起,利用通訊網(wǎng)路聯(lián)接,形成一個(gè)設(shè)備與效能較高,類似資源庫(resourcepool)的伺服主機(jī)系統(tǒng)。叢集式處理系統(tǒng)是多個(gè)獨(dú)立電腦的集合體,每一個(gè)獨(dú)立的電腦有它自己的CPU、專屬記憶體(LocalMemory)和作業(yè)系統(tǒng),使用者能夠視需要取用或分享此叢集式系統(tǒng)中的計(jì)算及儲(chǔ)存能力。56叢集式作業(yè)系統(tǒng)「叢集式作業(yè)系統(tǒng)」(ClusteredO叢集式作業(yè)系統(tǒng)示意圖57叢集式作業(yè)系統(tǒng)示意圖57嵌入式作業(yè)系統(tǒng)嵌入式系統(tǒng)是一種「控制、監(jiān)視或輔助」工廠運(yùn)作或機(jī)器設(shè)備的裝置,它是針對某種特定的用途,開發(fā)出特定功能的系統(tǒng),是所謂的客制化(Customize)。嵌入式系統(tǒng)(EmbededSystem)是軟體與硬體結(jié)合的綜合體,強(qiáng)調(diào)「量身定做」幾乎涵蓋所有微電腦控制的裝置。58嵌入式作業(yè)系統(tǒng)嵌入式系統(tǒng)是一種「控制、監(jiān)視或輔助」工廠運(yùn)作或嵌入式系統(tǒng)為了工業(yè)電腦而設(shè)計(jì),在資訊產(chǎn)品普及與數(shù)位家電興起後,嵌入式系統(tǒng)已逐漸普及到我們?nèi)粘I钪?,資訊家電、網(wǎng)路產(chǎn)品,到可攜式裝置,都看得到它的蹤跡,例如WebPad,PDA,SmartPhone、GPS、Set-Top-Box、嵌入式伺服器(embeddedserver)、精簡型終端設(shè)備(thinclient)、網(wǎng)路電視、螢?zāi)浑娫挕㈦娮芋w溫計(jì)、飛機(jī)自動(dòng)導(dǎo)航系統(tǒng)、電子書、可攜式全球定位系統(tǒng)裝置、穿戴式電腦(Wearablecomputers)、掌上型遊戲(handheldgame)等。59嵌入式系統(tǒng)為了工業(yè)電腦而設(shè)計(jì),在資訊產(chǎn)品普及與數(shù)位家電興起後Tips所謂資訊家電(IA),就是具備網(wǎng)路連線功能並且能與其它裝置做資料雙向溝通、智慧判斷並做適時(shí)而準(zhǔn)確控制的家電產(chǎn)品。例如在傳統(tǒng)家電產(chǎn)品中,包括電視機(jī)、電冰箱等小家電用品,加上一些新的軟體硬體應(yīng)用技術(shù),所發(fā)展出新的應(yīng)用方式。目前在寬頻網(wǎng)路及無線通訊的發(fā)展與普及下,資訊家電更可以結(jié)合電腦和網(wǎng)路,而具備直接或間接上網(wǎng)或透過網(wǎng)路控制家電的功能。60Tips所謂資訊家電(IA),就是具備網(wǎng)路連線功能並且嵌入式作業(yè)系統(tǒng)常在PDA等嵌入式產(chǎn)品,PDA等嵌入式產(chǎn)品的要求功能並不一定要強(qiáng)大,所以可適用的作業(yè)系統(tǒng)像是Palm使用的PalmOS,CompaqPDA使用的WindowsCE,或是一些廠商專屬的或自行研發(fā)的EPOC、Synergy、RTxc、Avis、Penbex…等。嵌入式系統(tǒng)在硬體方面強(qiáng)調(diào)省電、外觀精美,在軟體則注重穩(wěn)定度、執(zhí)行效率及程式碼小。61嵌入式作業(yè)系統(tǒng)常在PDA等嵌入式產(chǎn)品,PDA等嵌入式產(chǎn)品的要5-4單一程式處理「記憶體管理」(MemoryManagement)主要掌握資料及程式的流向外,避免記憶體的浪費(fèi)與提高記憶體的最大使用率。也包括提供與保護(hù)記憶區(qū)塊以滿足程式的要求及確保不受其它程式的侵入。以程式執(zhí)行的運(yùn)作流程而言,不管是進(jìn)行數(shù)值運(yùn)算或資料搬移,必須在主記憶體中運(yùn)行,也就必須將程式的邏輯地址(LogicalAddress)轉(zhuǎn)換到實(shí)體地址(PhysicalAddress)空間。625-4單一程式處理「記憶體管理」(MemoryManag記憶體管理方式記憶體管理方式是單一程式處理(Monoprogramming),是一次只讓一個(gè)程式使用記憶體,其餘空間則為作業(yè)系統(tǒng)來暫用。要等到程式執(zhí)行完畢,才能載入下一個(gè)程式。63記憶體管理方式記憶體管理方式是單一程式處理(Monoprog重疊單一程式處理的缺點(diǎn)是程式比記憶體少許多,就十分浪費(fèi)剩餘記憶體的空間。當(dāng)程式比記憶體大時(shí),就無法載入整個(gè)程式,就必須採用「重疊」(Overlay)技術(shù)來解決?!钢丿B」作用是程式設(shè)計(jì)師將程式分割成較小片段的模組,執(zhí)行時(shí)只載入要執(zhí)行的模組,其餘尚未執(zhí)行的程式模組,則暫時(shí)存放在如磁碟的輔助記憶體中,再逐步利用置換(Swapping)方式將其它程式模組載入主記憶體中,缺點(diǎn)是往往會(huì)增加程式設(shè)計(jì)的難度。隨後由於多元程式處理(Monoprogramming)技術(shù)的興起,就解決了這種問題。64重疊單一程式處理的缺點(diǎn)是程式比記憶體少許多,就十分浪費(fèi)剩5-5多元程式處理多元程式(Multi-programming)電腦的作業(yè)系統(tǒng),允許CPU在同一時(shí)間內(nèi)執(zhí)行多個(gè)程式。每當(dāng)一個(gè)程式要執(zhí)行時(shí),作業(yè)系統(tǒng)便從可用記憶體中挑選一塊足夠的記憶體,以配置給該程式使用。而切割後的記憶體區(qū)塊則稱為分割區(qū)(partion)。655-5多元程式處理多元程式(Multi-programm分割法簡介記憶體分割的重要原則,是程式大小必須放進(jìn)足夠的連續(xù)記憶體分割區(qū)中,通常記憶體的分割法(partitioning)分兩種:固定分割法變動(dòng)分割法66分割法簡介記憶體分割的重要原則,是程式大小必須放進(jìn)足夠的固定分割法固定分割法(FixedPartition)是主記憶體切割為固定大小不等的記憶體區(qū)塊。執(zhí)行的程式會(huì)依據(jù)不同的需要載入到不同的分割區(qū)中??煞譃椤附^對定位分割法」與「可重定位分割法」兩種。67固定分割法固定分割法(FixedPartition)是主記內(nèi)部碎片固定式的分割,如果沒有適當(dāng)大小的程式,往往容易形成記憶體碎片(Fragmentation)。其中記憶體碎片又可分為「內(nèi)部碎片」(InternalFragmentation)與「外部碎片」(ExternalFragmentation)兩種?!竷?nèi)部碎片」是指當(dāng)分配給某一程式的方割區(qū)大於程式容量時(shí),所剩餘沒有用到的空間。68內(nèi)部碎片固定式的分割,如果沒有適當(dāng)大小的程式,往往容易形成記「外部碎片」「外部碎片」則代表雖然記憶體所剩空間總和足夠讓此程式執(zhí)行,卻因?yàn)榭臻g不連續(xù),導(dǎo)致程式無法載入執(zhí)行。例如現(xiàn)在要放置100KB的程式,但剩餘兩個(gè)分割區(qū)的空間為70KB、80KB的不連續(xù)區(qū)間。雖然總共有150KB,但實(shí)際上放不下去,這些70KB與80KB的分割區(qū)空間就造成了浪費(fèi),稱做「外部碎片」。69「外部碎片」「外部碎片」則代表雖然記憶體所??臻g總和足夠讓此可重定位分割法(RelocatablePartition)隨時(shí)將程式集中在記憶體一邊,以便留下完整的區(qū)塊未使用空間,供其他程式載入使用;這種作法稱為垃圾收集(GarbageCollection)。可重定位分割法可以消除外部支離破碎問題,並提供一個(gè)大的未使用空間,供程式載入使用。缺點(diǎn)為了進(jìn)行垃圾收集,會(huì)使系統(tǒng)整體速度降低,甚至要花費(fèi)額外硬體設(shè)備來加快處理。另外,載入記憶體內(nèi)的程式與資料有可能不被使用到,而造成記憶體空間的浪費(fèi)。70可重定位分割法(RelocatablePartition)變動(dòng)分割法變動(dòng)分割法(VariablePartitioning)的記憶體切割不是當(dāng)系統(tǒng)開始時(shí)就決定,也就是當(dāng)程式要執(zhí)行時(shí),系統(tǒng)才會(huì)依據(jù)程式大小來分配足夠的連續(xù)記憶體區(qū)塊。當(dāng)程式執(zhí)行完畢後,會(huì)將可用的記憶體區(qū)塊以鏈結(jié)串列的方式組合,這些片段的區(qū)塊稱為記憶體間隙(hole)。71變動(dòng)分割法變動(dòng)分割法(VariablePartition記憶體合併以鏈結(jié)串列串連的記憶體間隙,作業(yè)系統(tǒng)除了記錄每個(gè)間隙的起始位指與大小等相關(guān)資訊外,還必須進(jìn)行間隙合併(HoleCoalesce)的動(dòng)作,否則不斷產(chǎn)生的間隙將會(huì)越來越小,無法符合新載入程式的需求。72記憶體合併以鏈結(jié)串列串連的記憶體間隙,作業(yè)系統(tǒng)除了記錄每個(gè)間間隙合併的主要方法

間隙名稱介紹與說明間隙接合間隙接合(CoalescingHoles)是指如果有兩塊相鄰的間隙,則可將其合併為更大的間隙區(qū)塊,方便提供給其他程式所用。間隙壓擠間隙壓擠(CompactingHoles)是指當(dāng)記憶空間已經(jīng)不足時(shí),可定期將散佈於各處的較小間隙合併為一大區(qū)塊,再提供給其他程式所用。73間隙合併的主要方法間隙名稱介5-6記憶體配置自然和串列有密不可分的關(guān)係,以下就從可用空間串列的表示法開始。將每塊記憶體連成一鏈結(jié)串列外,還必須記載每塊記憶體大小,因此,在每個(gè)細(xì)節(jié)點(diǎn)都附有兩個(gè)欄位,分別為SIZE和LINK:745-6記憶體配置自然和串列有密不可分的關(guān)係,以下就從可用如果某一個(gè)程式,在執(zhí)行時(shí)必須使用到n單位的記憶體。如何從可用空間串列中配置一塊足夠供給這個(gè)程式的記憶體?這時(shí)就可從可用空間串列中尋找一塊m>=n的可用空間單位。以下降介紹三種常見的尋找與配置方法。75如果某一個(gè)程式,在執(zhí)行時(shí)必須使用到n單位的記憶體。如何從可用最適法最適法(BestFit)是選擇可用空間串列中,一塊最接近n而不小於n的可用空間。當(dāng)找到之後,將其中n個(gè)單位配置,其餘則保留。最適法用於請求分配的記憶體大小範(fàn)圍較廣的情況。使用此法時(shí),總是找大小最接近請求的空閒區(qū)段,這樣容易產(chǎn)生碎片(Fragmentation),需經(jīng)常壓縮碎片成為較大且連續(xù)的記憶體。缺點(diǎn)是必須搜尋全部串列,較為費(fèi)時(shí)。76最適法最適法(BestFit)是選擇可用空間串列中,一塊最不適法最不適法(WorstFit)是選擇可用空間中存在最大m,且m>=n的記憶體空間,然後配置n個(gè)單位給該程式,而剩下的則歸還可用記憶空間。雖然也是搜尋全部串列,較費(fèi)時(shí)。最不適法每次都從記憶體最大的節(jié)點(diǎn)中進(jìn)行分配,會(huì)使得AV串列中的節(jié)點(diǎn)大小趨於均勻,因此它適用於請求分配的記憶體大小範(fàn)圍分佈較為接近的情況。缺點(diǎn)沒有夠大空間可以利用的情況,容易產(chǎn)生外部碎片,回收時(shí)必須先進(jìn)行搜尋以尋求適當(dāng)?shù)奈恢?。?yōu)點(diǎn)是所剩餘空間的可利用率高。77最不適法最不適法(WorstFit)是選擇可用空間中存在先適法先適法(FirstFit):是從可用記憶體串列開始尋找第一塊大於或等於n個(gè)單位記憶體空間切割下來。優(yōu)點(diǎn)費(fèi)時(shí)較少,速度也最快,製作容易,回收時(shí)僅需插入可用空間串列前端即可。先適法適用於事先無法掌握執(zhí)行期間可能出現(xiàn)的請求分配情況。但先適法無論分配和回收均需要搜尋鏈結(jié)串列,因此最費(fèi)時(shí)間。78先適法先適法(FirstFit):是從可用記憶體串列開始在多元程式電腦環(huán)境中,記憶體可用空間大小包括下列之順序:10k,4k,20k,18k,7k,9k,12k,15k,請就最適法、先適法和最不適法這三種方法,探討下列三種記憶體要求,應(yīng)該配置在那一個(gè)空間大小?12k10k9k79在多元程式電腦環(huán)境中,記憶體可用空間大小包括下列之順序:79解答放入20k記憶體空洞最不適法放入20k記憶體空洞先適法放入12k記憶體空洞最適法12k記憶體要求放入20k記憶體空洞最不適法放入20k記憶體空洞先適法放入10k記憶體空洞最適法10k記憶體要求放入20k記憶體空洞最不適法放入10k記憶體空洞先適法放入9k記憶體空洞最適法9k記憶體要求abc80解答放入20k記憶體空洞最不適法放入20k記憶體空洞先適法伙伴系統(tǒng)

伙伴系統(tǒng)(BuddySystem)是以2的冪次方來動(dòng)態(tài)配置及歸還記憶體的管理方法。當(dāng)某程式或資料請求一塊記憶體空間,系統(tǒng)會(huì)依採行的演算法配置一塊記憶體給予使用?;锇橄到y(tǒng)中無論是佔(zhàn)用的記憶體空間或未被使用的記憶體空間,其大小都是2的乘冪次方,當(dāng)使用者申請n單位的記憶體空間,系統(tǒng)就分配2k位元組給它,其中2k-1<=n<=2k。81伙伴系統(tǒng)伙伴系統(tǒng)(BuddySystem)是以2的冪次方如果全部的記憶體空間大小為2m,所佔(zhàn)用的位址介於0~2m-1之間,在伙伴系統(tǒng)的動(dòng)態(tài)記憶體管理中,其可能空閒的區(qū)段可能有20、21、22、…2m等大小。有256k可用空間,有四個(gè)程式(Program),欲分配給此空間,且P1(33k),P2(85k),P3(12k),P4(25k),我們將以下圖表示二元夥伴系統(tǒng)的分配方式82如果全部的記憶體空間大小為2m,所佔(zhàn)用的位址介於0~2m-15-7虛擬記憶體虛擬記憶體(VirtualMemory)是一種記憶體管理技術(shù),允許執(zhí)行中的程式不必全部載入主記憶體中,程式的邏輯地址空間可以大於主記憶體的實(shí)體地址空間。虛擬記憶體的功用就是作業(yè)系統(tǒng)將程式使用的程式段(程式頁)放主記憶體中,其餘存放在輔助記憶體(如磁碟),程式不受實(shí)際記憶體可用空間的限制,使得在實(shí)體記憶體不足的系統(tǒng)上,可執(zhí)行花費(fèi)記憶體較多的應(yīng)用程式。載入或置換使用者程式所須I/O的次數(shù)減少,執(zhí)行速度也會(huì)加快,更增加了CPU使用率。835-7虛擬記憶體虛擬記憶體(VirtualMemoryTips所謂「置換」(Swapping),是指行程從主記憶體中移到磁碟的虛擬記憶體,再從虛擬記憶體移到主記憶體執(zhí)行的動(dòng)作。84Tips所謂「置換」(Swapping),是指行程從主記憶體虛擬記憶體交換檔磁碟內(nèi)劃分為虛擬記憶體的檔案稱為「虛擬記憶體交換檔」,例如Windows98中,是win386.swp檔案,而在WindowsXP中,則為pagefiles.sys檔案。虛擬記憶體常用的設(shè)計(jì)方式有「分頁」(Paging)、「分段」(Segmentation)與「分段/分頁」(Paging/Segmentation)三種,都是屬於「區(qū)塊對應(yīng)」(BlockMapping)模式,以下將分別為您介紹。85虛擬記憶體交換檔磁碟內(nèi)劃分為虛擬記憶體的檔案稱為「虛擬記憶體分頁模式分頁是將記憶體切割成固定大小,然後依照程式需求量而給予足夠記憶體空間,目前大多數(shù)CPU都支援這種機(jī)制。分頁(Paging)是將整個(gè)實(shí)體記憶體固定等分成與頁面相同大小的區(qū)塊,稱為「頁框」(Frames),而程式中邏輯記憶體所分割大小相同的區(qū)塊,就稱為「分頁」(Page)。86分頁模式分頁是將記憶體切割成固定大小,然後依照程式需求量而分頁對映表執(zhí)行一個(gè)程式時(shí),會(huì)將所需的分頁放入主記憶體的頁框(Frame)內(nèi),使用者所看到的空間是虛擬的邏輯位址,作業(yè)系統(tǒng)會(huì)透過「分頁對映表」(PageMapTable,PMT)來處理邏輯位址與實(shí)體位址的對映轉(zhuǎn)換及頁面交換的處理?!阜猪搶τ潮砘讜捍嫫鳌?PageMapTableBaseRegister,PMTBR)則用來儲(chǔ)存「分頁對映表」的起始位址。87分頁對映表執(zhí)行一個(gè)程式時(shí),會(huì)將所需的分頁放入主記憶體的頁框(說明分頁法概念第1步:將程式邏輯記憶體分割成大小相同的「分頁」(Page)。88說明分頁法概念第1步:將程式邏輯記憶體分割成大小相同的「分頁第2步:將實(shí)體記憶體也分割成和「分頁」大小一致的「頁框」(Frame)。89第2步:將實(shí)體記憶體也分割成和「分頁」大小一致的「頁框」(F第3步:查詢分頁表,在分頁表中記錄著程式中的每一「分頁」和實(shí)體記憶體中的「頁框」的對應(yīng)關(guān)係。90第3步:查詢分頁表,在分頁表中記錄著程式中的每一「分頁」和實(shí)第4步:根據(jù)分頁表的對應(yīng)關(guān)係,將邏輯記憶體的每一分頁載入到實(shí)體記憶體中的對應(yīng)的頁框。91第4步:根據(jù)分頁表的對應(yīng)關(guān)係,將邏輯記憶體的每一分頁載入到實(shí)尋頁失敗PageFault如果程式所要存取的分頁不在主記憶體中,則存取該記憶體頁框的動(dòng)作便會(huì)失敗,這種現(xiàn)象稱為「尋頁失敗」(PageFault)。打算使用到的那一頁不在主記憶體頁框內(nèi)。「尋頁失敗」並不會(huì)造成系統(tǒng)的錯(cuò)誤,而作業(yè)系統(tǒng)也必須再度由磁碟中載入該分頁,並在主憶體中找到可用頁框(FreeFrame),以供該分頁載入之用。92尋頁失敗PageFault如果程式所要存取的分頁不在主記憶外部破碎分頁模式的特點(diǎn)是可以不需暫用連續(xù)記憶體,但仍可順利執(zhí)行程式,分頁法絕對不會(huì)發(fā)生「外部破碎」的問題。由於用不到的程式部份不會(huì)佔(zhàn)主記憶體的空間,這樣就有更多的空間留給其他程式來使用。93外部破碎分頁模式的特點(diǎn)是可以不需暫用連續(xù)記憶體,但仍可順利執(zhí)分段模式「分段模式」(Segmentation)是程式所需的記憶體實(shí)際大小,以分段(Segmentation)分配記憶體位址,也是將輔助記憶體內(nèi)的程式,依邏輯功能切割成可變動(dòng)的區(qū)段。每個(gè)分段大小未必相同,可以不需佔(zhàn)用連續(xù)的記憶體。分段法與可重定位分割法非常類似,不過分段模式的對象是虛擬記憶體,而可重定位分割法則是實(shí)際記憶體。94分段模式「分段模式」(Segmentation)是程式所「分段模式」將程式內(nèi)容以模組(如程式碼、資料與堆疊等)區(qū)隔,並將程式邏輯記憶體用分段式記憶體分配。每個(gè)工作都切割成不等的分段,每個(gè)分段再執(zhí)行相關(guān)功能。作業(yè)系統(tǒng)會(huì)透過「分段對映表」(SegmentationMapTable,PMT)來處理邏輯位址與實(shí)體位址的對映轉(zhuǎn)換及頁面交換的處理,可記錄程式中哪區(qū)段在主記憶體內(nèi),及其主記憶體內(nèi)的位置。而「分段對映表基底暫存器」(SegmentationMapTableBaseRegister,SMTBR)則是用來儲(chǔ)存「分段對映表」的起始位址。95「分段模式」將程式內(nèi)容以模組(如程式碼、資料與堆疊等)區(qū)隔,第1步:將程式邏輯記憶體以模組為單位,切割成許多分段(Segment)。96第1步:將程式邏輯記憶體以模組為單位,切割成許多分段(Seg第2步:查詢分段表,在分段表中記錄著程式中每一模組的大小,與對應(yīng)到實(shí)體記憶體的起始位址97第2步:查詢分段表,在分段表中記錄著程式中每一模組的大小,與第3步:根據(jù)分段表的對應(yīng)關(guān)係將程式的每一分段載入到實(shí)體記憶體中的對應(yīng)位置。98第3步:根據(jù)分段表的對應(yīng)關(guān)係將程式的每一分段載入到實(shí)體記憶體分段模式優(yōu)缺點(diǎn)「分段模式」優(yōu)點(diǎn)是能充份掌控分段內(nèi)程式的存取權(quán),且能讓各個(gè)佔(zhàn)用一個(gè)區(qū)塊的模組於執(zhí)行時(shí)才載入,且充分利用記憶體,而且不會(huì)產(chǎn)生「內(nèi)部碎片」現(xiàn)象,程式大小也不會(huì)受記憶體限制?!阜猪撃J健故菍⒂洃涹w切割成固定大小的頁框,因此分頁比較浪費(fèi)空間?!阜侄文J健贡仨毣ㄙM(fèi)當(dāng)主記憶體中某些片斷程式碼取出使用後,要再回存至磁碟時(shí)所需尋可用空間,缺點(diǎn)就是增加了CPU的處理時(shí)間。99分段模式優(yōu)缺點(diǎn)「分段模式」優(yōu)點(diǎn)是能充份掌控分段內(nèi)程式的存取權(quán)分段且分頁模式「分段且分頁」模式(SegmentationWithPaging)同時(shí)結(jié)合了「分頁模式」與「分段模式」的優(yōu)點(diǎn),可將每個(gè)分段細(xì)分成數(shù)頁,也就是並不把每一分段視為單一連續(xù)的單位,而是把它分成一樣大小分頁,比大部分的分段小,而且比整個(gè)分段容易操作。優(yōu)點(diǎn)是對系統(tǒng)而言,可以提高CPU的速度,並且減少不必要的運(yùn)算時(shí)間100分段且分頁模式「分段且分頁」模式(Segmentation5-8行程管理介紹「行程」(Process)可視為一個(gè)執(zhí)行中的程式,程式本身也並非行程。行程不只是程式碼,包含程式計(jì)數(shù)器(ProgramCounter)與如行程堆疊等存放資訊。每個(gè)行程執(zhí)行時(shí),CPU都會(huì)分給適當(dāng)?shù)南到y(tǒng)資源與CPU時(shí)間。執(zhí)行緒(Thread),可稱為「輕量化行程」(LightweightProcess),一個(gè)行程是多個(gè)「執(zhí)行緒」(thread)所組合而成。由於這些同時(shí)存在的執(zhí)行緒,會(huì)一起分享程序在系統(tǒng)中的共用資源(例如記憶體區(qū)塊、CPU處理時(shí)脈等),所以可以形容成是「行程中的行程」。1015-8行程管理介紹「行程」(Process)可視為一個(gè)多執(zhí)行緒「多執(zhí)行緒」功能,將程式中的每個(gè)工作劃分開來,能夠同時(shí)地獨(dú)立去執(zhí)行。網(wǎng)頁瀏覽器中,各位可以同時(shí)欣賞音樂、背景列印文件、開啟新的網(wǎng)頁連結(jié)並下載資料檔案,這些動(dòng)作之間並不會(huì)因?yàn)槠渌ぷ鞯膱?zhí)行而引發(fā)休眠狀態(tài)。每項(xiàng)工作都能夠共享及分配既有的系統(tǒng)資源,達(dá)到獨(dú)立運(yùn)作的需求。102多執(zhí)行緒「多執(zhí)行緒」功能,將程式中的每個(gè)工作劃分開來,能夠同瀏覽器的多執(zhí)行緒應(yīng)用103瀏覽器的多執(zhí)行緒應(yīng)用103行程狀態(tài)行程狀態(tài)(ProcessState)行程目前的動(dòng)作,行程在執(zhí)行時(shí)會(huì)改變其狀態(tài),在任何時(shí)候只有一項(xiàng)行程在執(zhí)行狀態(tài)(Running),但是卻可以有許多行程在等待(Blocked)和就緒狀態(tài)(Ready)。104行程狀態(tài)行程狀態(tài)(ProcessState)行程目前的各種狀態(tài)介紹新產(chǎn)生(new):該行程正在產(chǎn)生中,包含建立行程的各種資訊。執(zhí)行(running):行程正在執(zhí)行,擁有CPU的控制權(quán)。等待(block):在某事件(通常是I/O事件)發(fā)生前無法執(zhí)行,等待某件事件的發(fā)生。就緒(ready):處於準(zhǔn)備執(zhí)行,但尚未執(zhí)行的狀態(tài)。結(jié)束(terminated):該行程完成執(zhí)行,並釋放所佔(zhàn)用的資源105各種狀態(tài)介紹105106106工作排程簡介多元程式(Multi-programming)系統(tǒng)中,行程進(jìn)入系統(tǒng)時(shí),它們是放在等待佇列(ReadyQueue)之中。工作無法同時(shí)執(zhí)行,系統(tǒng)會(huì)從等待佇列中選擇一個(gè)來執(zhí)行。作業(yè)系統(tǒng)如何安排與選擇CPU的作業(yè)排程、哪一個(gè)程式優(yōu)先被執(zhí)行、執(zhí)行時(shí)間的長短、使用的記憶體大小與下一個(gè)要被載入的程式等,必須借由排程演算法(SchedulingAlgotithm)來挑選行程。107工作排程簡介多元程式(Multi-programming常見的排程演算法與相關(guān)名詞說明CPU排程名詞解釋與說明生產(chǎn)量生產(chǎn)量(throughput),單位時(shí)間內(nèi)完成的行程個(gè)數(shù)?;貞?yīng)時(shí)間回應(yīng)時(shí)間(ResponseTime),行程開始執(zhí)行到第一次輸出所花費(fèi)的時(shí)間。等待時(shí)間等待時(shí)間(WaitingTime),行程在等待佇列中所花費(fèi)的時(shí)間?;貜?fù)時(shí)間回復(fù)時(shí)間(TurnaroundTime),行程開始執(zhí)行到結(jié)束所花費(fèi)的時(shí)間。108常見的排程演算法與相關(guān)名詞說明CPU排程名詞Tip除了工作排程外,在多元程式(Multi-programming)作業(yè)系統(tǒng)的電腦中,會(huì)有許多行程(Process)同時(shí)在等待佇列中等待分配使用CPU的權(quán)利,這些行程時(shí)常會(huì)存取磁碟上的資料,但是由於磁碟的存取速度較為緩慢。因此,就必須藉助磁碟排程(DiskScheduling)來改善存取的效率。常見的磁碟排程有先來先做(FirstComeFirstSearch,FCFS)、搜尋時(shí)間最短者先做(ShortestSearchTimeFirst,SSTF)、掃描法(SCAN)、循環(huán)掃描法(CircularSCAN)、觀察法(LOOK)、循環(huán)觀察法(CircularLOOK)。109Tip除了工作排程外,在多元程式(Multi-program先來先做(First-Come,First-Served,FCFS)

FSCF是一種相當(dāng)容易的演算法,愈早到的行程,可以優(yōu)先取得CPU控制權(quán),屬於一種「非搶奪式」方式。假設(shè)有4個(gè)行程P1,P2,P3,P4,其在很短的時(shí)間內(nèi)先後到達(dá)等待佇列,每個(gè)行程所執(zhí)行時(shí)間如下表所示行程名稱各行程所需的執(zhí)行時(shí)間P130P240P320P410110先來先做(First-Come,First-Served,以甘特圖(GanttChart)繪出先來先做(First-Come,First-Served,FCFS)的排班情況,並分別計(jì)算平均等待時(shí)間(WaitingTime)及平均回復(fù)時(shí)間(TurnaroundTime)。解答:FCFS排班所繪出的甘特圖如下平均等待時(shí)間=47.5平均回復(fù)時(shí)間=72.5111以甘特圖(GanttChart)繪出先來先做(First-Tips系統(tǒng)允許執(zhí)行中的行程被中斷(Interrupt),稱為「搶奪式」(Preemptive),能夠讓使用者感受到的反應(yīng)時(shí)間較短,並且容易延遲行程的執(zhí)行結(jié)束時(shí)間。而不允許執(zhí)行中的行程被中斷,稱為「非搶奪式」(nonreemptive),使用者所感受到的反應(yīng)時(shí)間較長,不過每個(gè)行程執(zhí)行結(jié)束時(shí)間較容易預(yù)測。112Tips系統(tǒng)允許執(zhí)行中的行程被中斷(Interrupt),最短工作優(yōu)先(Shorest–Job-First,SJF)執(zhí)行時(shí)間最愈短的行程可優(yōu)先取得CPU控制權(quán),而且所挑選的行程會(huì)直行到結(jié)束為止,屬於「非搶奪式」(nonreemptive)排程。範(fàn)例:假設(shè)有4個(gè)行程P1,P2,P3,P4,其在很短的時(shí)間內(nèi)先後到達(dá)等待佇列,每個(gè)行程所執(zhí)行時(shí)間如下表所示:行程名稱各行程所需的執(zhí)行時(shí)間P130P240P320P410113最短工作優(yōu)先(Shorest–Job-First,SJF請您以甘特圖(GanttChart)繪出最短工作優(yōu)先(Shorest–Job-First,SJF)的排班情況,並分別計(jì)算平均等待時(shí)間(WaitingTime)及平均回復(fù)時(shí)間(TurnaroundTime)。解答:平均等待時(shí)間=25平均回復(fù)時(shí)間=50114請您以甘特圖(GanttChart)繪出最短工作優(yōu)先(Sh循環(huán)分配(RoundRobin,RR)適合用於分時(shí)系統(tǒng),訂並每個(gè)行程使用CPU的時(shí)間額度(TimeSlice),等到時(shí)間額度(TimeSlice)用盡後,若未能在此時(shí)間額度內(nèi)完成工作,則會(huì)被迫放棄CPU控制權(quán),等待下一回合,CPU也會(huì)將控制權(quán)移轉(zhuǎn)到下一個(gè)等待執(zhí)行的工作。如此循環(huán)執(zhí)行,直到所有行程結(jié)束為止。適合用於分時(shí)系統(tǒng),首先會(huì)訂並每個(gè)行程使用CPU的時(shí)間額度(TimeSlice),等到時(shí)間額度(TimeSlice)用盡後,若未能在此時(shí)間額度內(nèi)完成工作,則會(huì)被迫放棄CPU控制權(quán),等待下一回合,CPU也會(huì)將控制權(quán)移轉(zhuǎn)到下一個(gè)等待執(zhí)行的工作。如此循環(huán)執(zhí)行,直到所有行程結(jié)束為止。115循環(huán)分配(RoundRobin,RR)115假設(shè)有4個(gè)行程P1,P2,P3,P4,其在很短的時(shí)間內(nèi)先後到達(dá)等待佇列,每個(gè)行程所執(zhí)行時(shí)間如下表所示行程名稱各行程所需的執(zhí)行時(shí)間P130P240P320P410116假設(shè)有4個(gè)行程P1,P2,P3,P4,其在很短的時(shí)間內(nèi)先後到設(shè)定每個(gè)行程使用CPU的時(shí)間額度(TimeSlice)為10,請您以甘特圖(GanttChart)繪出循環(huán)分配(RoundRobin,RR)的排班情況,並分別計(jì)算平均等待時(shí)間(WaitingTime)及平均回復(fù)時(shí)間(TurnaroundTime)。解答:以RR排班所繪出的甘特圖如下平均等待時(shí)間=47.5平均回復(fù)時(shí)間=72.5117設(shè)定每個(gè)行程使用CPU的時(shí)間額度(TimeSlice)為1優(yōu)先權(quán)排程(PriorityScheduling,PS)為優(yōu)先佇列(priorityqueue)的應(yīng)用,等待佇列的每一個(gè)行程都賦予一個(gè)優(yōu)先權(quán)(priority),但有最高優(yōu)先權(quán)者(HighestPriorityOutFirst:HPOF),優(yōu)先得到CPU的控制權(quán)。範(fàn)例:假設(shè)有4個(gè)行程P1,P2,P3,P4,其在很短的時(shí)間內(nèi)先後到達(dá)等待佇列,每個(gè)行程所執(zhí)行時(shí)間如下表所示行程名稱各行程所需的執(zhí)行時(shí)間P130P240P320P410118優(yōu)先權(quán)排程(PriorityScheduling,PS設(shè)定每個(gè)P1、P2、P3、P4的優(yōu)先次序值分別為2,8,6,4(此處假設(shè)數(shù)值越小其優(yōu)先權(quán)越低;數(shù)值越大其優(yōu)先權(quán)越高),以甘特圖(GanttChart)繪出優(yōu)先權(quán)排程(PriorityScheduling,PS)的排班情況,並分別計(jì)算平均等待時(shí)間(WaitingTime)及平均回復(fù)時(shí)間(TurnaroundTime)。解答:平均等待時(shí)間=42.5平均回復(fù)時(shí)間=67.5119設(shè)定每個(gè)P1、P2、P3、P4的優(yōu)先次序值分別為2,8,6,最短剩餘優(yōu)先(ShortestRemainingTimeFirst,SRTF)若其執(zhí)行時(shí)間大於新到達(dá)行程的執(zhí)行時(shí)間,則此行程會(huì)被迫放棄CPU控制權(quán),交由新的行程來執(zhí)行,屬於「搶奪式」(Preemptive)排程。SRTF和SJF類似,唯一不同之處是SJF排程執(zhí)行時(shí),不可被新行程插隊(duì),要等到執(zhí)行完畢才會(huì)交出CPU控制權(quán)。但SRTF即使在執(zhí)行時(shí),新進(jìn)入等待佇列的行程仍可隨時(shí)插隊(duì)。120最短剩餘優(yōu)先(ShortestRemainingTime範(fàn)例:假設(shè)有4個(gè)行程P1,P2,P3,P4,分別先後到達(dá)等待佇列,且到達(dá)時(shí)間分別為0,5,10,12,每個(gè)行程所執(zhí)行時(shí)間如下表所示: 行程名稱各行程所需的執(zhí)行時(shí)間P140P230P320P410平均等待時(shí)間=25平均回復(fù)時(shí)間=50121範(fàn)例:假設(shè)有4個(gè)行程P1,P2,P3,P4,分別先後到達(dá)等待5-9常見作業(yè)系統(tǒng)接下來,我們將為各位介紹作業(yè)系統(tǒng)演進(jìn)史上幾種常見的作業(yè)系統(tǒng):1225-9常見作業(yè)系統(tǒng)接下來,我們將為各位介紹作業(yè)系統(tǒng)演進(jìn)史Ms-DOSMS-DOS是由美國微軟(Microsoft)公司為了配合IBM當(dāng)時(shí)極力推出的16位元個(gè)人電腦而設(shè)計(jì)發(fā)展出來的,由於DOS是採取命令列介面的方式操作。三個(gè)系統(tǒng)檔案(COMMAND.COM、IO.SYS、MSDOS.SYS)與一些公用程式組合而成。123Ms-DOSMS-DOS是由美國微軟(MicrosofTipsMS-DOS是一套以文字命令列操作介面為主的單人單工作業(yè)系統(tǒng),包含以下三個(gè)主要程式:輸入/輸出控制程式(IO.SYS):功用是作為DOS與其他週邊設(shè)備的溝通橋樑,更可以在螢?zāi)簧巷@示偵錯(cuò)狀況。磁碟管理程式(MSDOS.SYS):用來建立和管理磁碟中的檔案與系統(tǒng)中的服務(wù)功能。命令處理程式(COMMAND.COM):儲(chǔ)存內(nèi)部指令,可辯識使用者所輸入的指令,為使用者直接溝通的程式。124TipsMS-DOS是一套以文字命令列操作介面為主的單人單工Windows3.x微軟公司後續(xù)發(fā)展出具有圖形化使用者介面(GUI)的Windows3.X作業(yè)系統(tǒng),以具有親和力的介面與簡易的操作方式,來拉近使用者與作業(yè)系統(tǒng)之間的距離。125Windows3.x微軟公司後續(xù)發(fā)展出具有圖形化使用者Windows95/98/CE/Me圖形使用者介面、支援32位元CPU架構(gòu),可以執(zhí)行32位元的應(yīng)用程式,支援長檔名及網(wǎng)路作業(yè)環(huán)境,提供了「隨插即用」的功能。Windows98和Windows95的,差別是加強(qiáng)了Web與Windows的結(jié)合,並讓InternetExplorer4.01瀏覽器正式與作業(yè)系統(tǒng)結(jié)合。126Windows95/98/CE/Me圖形使用者介面、支援WindowsMe畫面127WindowsMe畫面127WindowsNT/2000/XP/Server2003NT(NewTechnology)是微軟擺脫Intel晶片限制,而邁向跨平臺的多功能網(wǎng)路作業(yè)系統(tǒng)的開始。支援Intelx86、Alpha、PowerPC、MIPS等晶片與多工處理器的電腦系統(tǒng)。WindowsNT4.0推出,不論在穩(wěn)定性、安全性及執(zhí)行效率上,都遠(yuǎn)遠(yuǎn)超越了Windows95/98,是一套真正的32位元多人多工作業(yè)系統(tǒng)。128WindowsNT/2000/XP/Server2003Windows2000Windows2000,具有網(wǎng)域管理、單機(jī)作業(yè)、負(fù)載平衡功能、系統(tǒng)安全性高並支援多重平臺所設(shè)計(jì)的作業(yè)系統(tǒng),因此常被用在網(wǎng)路的主從式架構(gòu)及單機(jī)作業(yè)系統(tǒng)。129Windows2000Windows2000,具有網(wǎng)域管WindowsXP操作畫面WindowsServer2003操作畫面130WindowsXP操作畫面WindowsServerWindowsServer2003是針對企業(yè)伺服器的強(qiáng)大需求,而對Windows2000伺服器加以改良,使用較少資源處理更多工作,並加強(qiáng)安全性、可靠性、安全性和可調(diào)整性等微軟也對Windows伺服器作業(yè)系統(tǒng)進(jìn)行了改良和擴(kuò)充,合併了Microsoft.NET軟體在連接資訊、人員、系統(tǒng)和裝置上的優(yōu)點(diǎn)。131WindowsServer2003是針對企業(yè)伺服器的強(qiáng)Windows檔案管理簡介在Windows作業(yè)系統(tǒng)中,檔案依照不同的屬性與型態(tài)又可區(qū)分為多種類型。文字檔、執(zhí)行檔、HTML檔、文件檔等,而且每一個(gè)檔案都會(huì)以「檔名.副檔名」格式來表示。「檔名」說明了此檔案的用途或功能,在WindowsXP作業(yè)統(tǒng)中最多可以使用255英文字母,包括空格在內(nèi)。不過檔名中不可包含下列任一字元:\/:*?"<>|132Windows檔案管理簡介在Windows作業(yè)系統(tǒng)中,檔案127個(gè)中文字來表示檔名的內(nèi)容,而「副檔名」則表示檔案的類型,不過通常是隱藏起來。常見副檔名如下:副檔名名稱程式種類EXE應(yīng)用程式的執(zhí)行檔TXT純文字檔HTMHTML檔DOCWORD檔PPTPOWERPOINT檔XLSEXCEL活頁簿檔BMP小畫家圖檔WAV音效檔133127個(gè)中文字來表示檔名的內(nèi)容,而「副檔名」則表示檔案的類型檔案與檔案結(jié)構(gòu)電腦中所使用的檔案數(shù)量相當(dāng)多,可以使用「資料夾」將同性質(zhì)的檔案集中存放。料夾中的檔案還是太多,建立「子資料夾」的方式,再次進(jìn)行分類。如此將檔案分門別類後,日後要尋找特定檔案時(shí),也能夠快速地搜尋到目標(biāo)檔案。134檔案與檔案結(jié)構(gòu)電腦中所使用的檔案數(shù)量相當(dāng)多,可以使用「資料檔案總管是以樹狀結(jié)構(gòu)儲(chǔ)存各種資料檔案

檔案總管是以樹狀結(jié)構(gòu)儲(chǔ)存各種資料檔案135檔案總管是以樹狀結(jié)構(gòu)儲(chǔ)存各種資料檔案檔案總管是以樹狀結(jié)構(gòu)儲(chǔ)清楚了檔案結(jié)構(gòu)後,當(dāng)要表示某一個(gè)檔案的儲(chǔ)存路徑或位置時(shí),通常會(huì)採用下面的表示方法:磁碟代號:\資料夾名稱\資料夾名稱…\檔案名稱.副檔名136清楚了檔案結(jié)構(gòu)後,當(dāng)要表示某一個(gè)檔

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論