




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第五章 電腦軟體
5-1 系統(tǒng)程式5-2 作業(yè)系統(tǒng)功能簡介5-3 作業(yè)系統(tǒng)的演進發(fā)展5-4 單一程式處理5-5 多元程式處理 5-6 記憶體配置5-7 虛擬記憶體5-8 行程管理介紹5-9 常見作業(yè)系統(tǒng)5-10 應用軟體大觀園1第五章 電腦軟體5-1 系統(tǒng)程式5-6 記憶體配置1一部電腦的完整定義,包含了硬體(hardware)和軟體(software)兩部份?!鸽娔X軟體」,由各種程式語言所撰寫完成。電腦軟體可以分為「系統(tǒng)軟體」(SystemProgram)與「應用軟體」(ApplicationSystem)兩大類,如下圖所示2一部電腦的完整定義,包含了硬體(hardware)和軟體(335-1系統(tǒng)程式系統(tǒng)程式,是驅動電腦硬體工作的相關軟體及韌體(Firemware)程式,主要功用負責電腦中資源的分配與管理,並擔任軟體與硬體間的介面。工作內(nèi)容包括啟動、載入、監(jiān)督管理軟體、執(zhí)行輸出入設備與檔案存取、記憶體管理等,可以區(qū)分為編譯程式、載入程式、巨集處理程式、組合程式與作業(yè)系統(tǒng)五種,45-1系統(tǒng)程式系統(tǒng)程式,是驅動電腦硬體工作的相關軟體及韌體Tips韌體大多針對特定主機設備所編寫,是驅動硬體裝置的最基本程式,也就是其本身具備程式碼的硬體裝置。通常將程式碼燒錄在主機板上的唯讀記憶體內(nèi)以供其他程式連結,並透過他來存取週邊設備。5Tips韌體大多針對特定主機設備所編寫,是驅動硬體裝置的最翻譯程式翻譯程式就是將程式設計師所寫的高階語言原始程式翻譯成能在電腦系統(tǒng)中執(zhí)行的機器碼形式,例如機器語言、可執(zhí)行檔或目的碼。不同的程式語言須配置不同的翻譯程式,也是寫好一個原始程式(SourceProgram),並儲存檔案後,就交由翻譯程式處理。6翻譯程式翻譯程式就是將程式設計師所寫的高階語言原始程式翻譯翻譯器翻譯器會檢查程式是否有「語法錯誤」(SyntaxError)和「語義錯誤」(SemanticError)。沒有任何錯誤後,接著把程式內(nèi)每個句子轉成更低階的語言,通常是「組合語言」形式。接著再由組譯器就會把每個組合語言句子轉成稱為「目的碼」(ObjectCode)的「機械語言」,最後經(jīng)由連結與載入過程,轉成可在電腦上執(zhí)行的檔案。7翻譯器翻譯器會檢查程式是否有「語法錯誤」(SyntaxEr翻譯程式過程三種作業(yè)階段語彙分析階段語法分析與解構階段最佳化與目的碼輸出階段8翻譯程式過程三種作業(yè)階段語彙分析階段8語彙分析階段將程式碼中所有字元逐字讀入,並分解為單語(token)形式,並建立文字表(LiteralTable)、符號表(SymbolTable)、識別字表(IdentifierTable)等,並將原先所定義的各種符號(如運算子、識別字、變數(shù)等)分析出來。因此這個階段也稱為「掃描器」(Scanner)或「語彙分析器」(LexicalAnalyzer)。9語彙分析階段將程式碼中所有字元逐字讀入,並分解為單語(to語法分析與解構階段將程式碼中讀入的單語組合成合乎程式語言語法的架構,並呼叫相對應的函式來轉換成「中間形式矩陣」(IntermediateMatrix),同時在識別表中加入相關訊息,例如條件判斷、迴圈控制、運算式計算、字串連結、陣列存取等語法結構判斷。這個階段也稱為「剖析器」(Parser)10語法分析與解構階段將程式碼中讀入的單語組合成合乎程式語言語最佳化與目的碼輸出階段將剖析器所產(chǎn)生的矩陣進行最佳化工作,目的是節(jié)省儲存空間與執(zhí)行時間。包括迴路最佳化、布林式最佳化與運算式計算最佳化等。另外事先也會預留出記憶體空間,以便儲存目的碼,並進行與機器(MachineDependent)相關的最佳化動作,如選擇指令,暫存器的使用判斷等。最後再輸出可重新定位的目的碼。11最佳化與目的碼輸出階段將剖析器所產(chǎn)生的矩陣進行最佳化工作,翻譯程式的種類組譯器(Assembler)編譯器(Compiler)直譯器(Intepreter)12翻譯程式的種類組譯器(Assembler)12組譯器(Assembler)組譯器是將組合語言所寫的程式翻成機器碼。還必須提供給連結器及載入器所需要的資訊與找到每個變數(shù)的地址,翻譯出來的機器碼,則稱為目的程式(ObjectProgram)。不同的CPU也會有不同的組譯器。13組譯器(Assembler)組譯器是將組合語言所寫的程式翻編譯器(Compiler)編譯器(compiler)是將原始程式區(qū)分為數(shù)個階段轉換為機器可讀的可執(zhí)行檔的目的程式,編譯器必須先把原始程式讀入主記憶體後才可以開始編譯。原始程式每修改一次,就必須重新經(jīng)過編譯器的編譯過程,才能保持執(zhí)行檔為最新的狀況。經(jīng)過編譯後所產(chǎn)生的執(zhí)行檔,執(zhí)行中不須要再翻譯,因此執(zhí)行效率高於直譯程式。針對程式開發(fā)者所使用的程式語言(C++、Java、C等)的不同,就必須選擇其相對的編譯器.。14編譯器(Compiler)編譯器(compiler)是將原直譯器(Intepreter)直譯器(Intepreter)在程式執(zhí)行時,不需要產(chǎn)生目的檔或機器語言,會先檢查所要執(zhí)行那一行敘述的語法,如果沒有錯誤,便直接執(zhí)行該行程式,如果碰到錯誤就會立刻中斷,直到錯誤修正之後才能繼續(xù)執(zhí)行。例如LISP、JavaScript、PROLOG。15直譯器(Intepreter)直譯器(Intepreter編譯器與直譯器間的差異性直譯器(Interpreter)編譯器(Compiler)目的程式不產(chǎn)生會產(chǎn)生所佔記憶體較小較大交談性較高較低16編譯器與直譯器間的差異性直譯器(Interpreter)編翻譯一次後,以後就可以直接執(zhí)行執(zhí)行檔每次執(zhí)行時都必須重新逐行翻譯翻譯次數(shù)翻譯全部敘述但不執(zhí)行逐步翻譯並即時執(zhí)行施行方式較困難較容易除錯(Debug)難易度較快較慢執(zhí)行速度編譯器(Compiler)直譯器(Interpreter)17翻譯一次後,以後就可以直接執(zhí)行執(zhí)行檔每次執(zhí)行時都必須重新逐行機器語言有一種結合編譯及直譯兩種性質的P-碼(P-Code)編譯程式,P-碼編譯程式能將由高階語言所編寫的原始程式碼,轉換成中間形式碼(IntermediateForm)後,再加以執(zhí)行,此處中間形式碼(IntermediateForm)是指某一種虛擬機器(PseudoMachine)的機器語言。P-碼編譯程式是一種軟體,具有可攜性,不會因為電腦不同而必須產(chǎn)生不同的目的碼,P-碼可以在任何具有「P-碼直譯」程式的機器上執(zhí)行。18機器語言有一種結合編譯及直譯兩種性質的P-碼(P-Code)Java程式Java程式編譯方式就是一種P-碼編譯程式的概念。程式執(zhí)行時,必須要有執(zhí)行的平臺(Platform)。平臺是一種包括硬體及軟體的執(zhí)行環(huán)境,例如:個人電腦的Windows作業(yè)系統(tǒng)就是一種執(zhí)行的平臺。Java是一種與硬體無關的架構中立程式語言,所以Java的執(zhí)行環(huán)境屬於一種軟體平臺,它不受限於不同的硬體執(zhí)行環(huán)境,卻能達到跨平臺的執(zhí)行成果。19Java程式Java程式編譯方式就是一種P-碼編譯程式的概念Java程式執(zhí)行的過程是將Java原始程式碼編譯成「位元組碼」(Bytecode),它是一種近於機器語言的虛擬的機器語言,稱為JVM(JavaVirtualMachine)。接著透過各種不同平臺的解譯程式來將這些位元組碼進行解譯並予以執(zhí)行。20Java程式執(zhí)行的過程是將Java原始程式碼編譯成「位元組碼執(zhí)行流程執(zhí)行流程首先將副檔名為.java的Java原始程式碼編譯成副檔名為.class的位元組碼後,就可以分別在不同作業(yè)系統(tǒng)中安裝不同作業(yè)系統(tǒng)版本的JVM解譯程式。JVM解譯程式能將這些位元組碼進行解譯及執(zhí)行。因此同樣的位元組碼,可以拿到不同的作業(yè)系統(tǒng)環(huán)境中執(zhí)行,進而達到跨平臺的特性。21執(zhí)行流程執(zhí)行流程首先將副檔名為.java的Java原始程式碼連結與載入程式連結程式(Linker)會將其他的目的檔及所呼叫到的函數(shù)庫(Library)連結在一起後,成為一個.EXE可以執(zhí)行的檔案。連結的目的在於解決外部參考的問題,可由連結程式完成,或直接加入載入程式中。22連結與載入程式連結程式(Linker)會將其他的目的檔及所以往組合程式將使用者程式轉成目的碼後,便置於主記憶中,作業(yè)系統(tǒng)並將控制權轉移給它,而使得該目的程式真正地執(zhí)行。不過這種作法有兩項缺點:每次執(zhí)行程式時,都必須先組譯,所以相當浪費時間。每次執(zhí)行時,組合程式或編譯程式仍然停留在主記憶中,所以非常浪費記憶體的執(zhí)行空間23以往組合程式將使用者程式轉成目的碼後,便置於主記憶中,作業(yè)系如能將程式所產(chǎn)生的目的碼,先放置在輔助記憶體之中,當需要執(zhí)行該程式時,再從輔助記憶體載入主記憶體之中。每次執(zhí)行時就不再需要組譯一次,不僅可以省下不少的執(zhí)行時間,更由於載入程式遠小於組合程式,所以也節(jié)省了不少的記憶體空間,而這也就是載入程式的由來。24如能將程式所產(chǎn)生的目的碼,先放置在輔助記憶體之中,當需要執(zhí)行目的程式會含有如何載入記憶體的相關資訊,載入程式就根據(jù)這些資訊將目的程式載入記憶體中的適當位址,準備執(zhí)行程式。主要包含四項功能,分別是配置、連結、重定位與載入功能25目的程式會含有如何載入記憶體的相關資訊,載入程式就根據(jù)這些資配置(Allocation):為將要執(zhí)行的程式在主記憶體中分配到一塊位址。連結(Linking):處理各程式目的碼的符號參考與程式庫間的結合。重定址(Relocation):調(diào)整所有和位置相關的位址,並使其對應所分配的位置,特別用於多工作作業(yè)系統(tǒng)。載入(Loading):將資料及程式段實際移入主記憶體中執(zhí)行。26配置(Allocation):為將要執(zhí)行的程式在主記憶體中分Tips所謂BootstrapLoader(啟動載入程式)是電腦開機後,第一個執(zhí)行類似BIOS的程式,主要負責檢查一些硬體的狀態(tài)及主動將載入程式置入主記憶體中,接著將控制權交給載入程式,並載入作業(yè)系統(tǒng)來掌握所有系統(tǒng)資源。27Tips所謂BootstrapLoader(啟動載入程式巨集處理器以單一指令(巨集)代替程式中一段重覆多次的敘述或指令,則稱為巨集指令,而且每個巨集都有一個名稱。巨集在程式編譯之前會用前置處理程式(preprocessor)先將巨集展開成沒有巨集前的樣子後再編譯,當巨集指令撰寫完畢後,一旦我們要使用它時,只要在主程式中寫上巨集的名稱即可,而不需要使用呼叫指令來搭配。28巨集處理器以單一指令(巨集)代替程式中一段重覆多次的敘述或巨集處理器程式經(jīng)由巨集處理器(MacroProcessor)處理時,只要出現(xiàn)巨集的地方會直接以所定義的內(nèi)容直接取代,而和使用副程式必須涉及到控制權轉移有所不同。巨集和批次檔很相似,差別是批次檔是做程式外的指令集合,而由作業(yè)系統(tǒng)控制,巨集則是程式內(nèi)部的動作集合,由所屬的應用程式控制。29巨集處理器程式經(jīng)由巨集處理器(MacroProcessor巨集的意思以組合語言為例,巨集的意思就是在原始程式碼上,將多個指令利用巨集名稱來代替,不過在組譯後,巨集名稱則又會被轉成巨集內(nèi)的指令結構。30巨集的意思以組合語言為例,巨集的意思就是在原始程式碼上,將多巨集組譯前與組譯後的關係圖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巨集組譯前與組譯後的關係圖PrintStr MACRO原始碼巨集的優(yōu)缺點例如上圖中,我們可以看到原始碼上的巨集名稱組譯過後,則轉成巨集中的指令集。巨集的優(yōu)點是主程式不必再轉移到另外的位址上執(zhí)行指令,執(zhí)行速度自然可以大大的提升;缺點則是主程式碼的長度會因此而冗長許多。32巨集的優(yōu)缺點例如上圖中,我們可以看到原始碼上的巨集名稱組譯過組譯器組譯器是將組合語言所寫的程式翻成機器碼。還必須提供給連結器及載入器所需要的資訊與找到每個變數(shù)的地址,至於翻譯出來的機器碼,則稱為目的程式(ObjectProgram)。不同的CPU也會有不同的組譯器,常用的組譯器ASM、MASM、TASM,其中以微軟推出的巨集組譯器(MacroAssembler)MASM最受歡迎。33組譯器組譯器是將組合語言所寫的程式翻成機器碼。33組合語言組合語言是一種低階的程式語言,可對電腦硬體做直接的控制每一種系統(tǒng)的組合語言都不一樣,以PC而言,用的是80x86的組合語言。組合語言是跟晶片有關的機械語言,不同的晶片,其組合語言也不一樣。34組合語言組合語言是一種低階的程式語言,可對電腦硬體做直接的控5-2作業(yè)系統(tǒng)功能簡介「作業(yè)系統(tǒng)」(OperatingSystem)扮演了使用者與應用軟體、電腦硬體、周邊設備間一個掌控與協(xié)調(diào)的角色。電腦與作業(yè)系統(tǒng)的運作示意圖355-2作業(yè)系統(tǒng)功能簡介「作業(yè)系統(tǒng)」(Operating提供使用者方便的操作環(huán)境作業(yè)系統(tǒng)主要功能,為電腦硬體與使用者之間的溝通橋樑,通常稱為「使用者操作介面」(UserInterface,UI)。早期的使用者操作介面中,幾乎都是以文字型態(tài)為主,稱為「命令列操作介面」(Command-lineinterface),不必做圖形運算,較節(jié)省電腦資源。36提供使用者方便的操作環(huán)境作業(yè)系統(tǒng)主要功能,為電腦硬體與使用對於使用者來說,除了視覺感受較為單調(diào)外,就是必須記憶大量操作指令,使用及學習上較不方便。37對於使用者來說,除了視覺感受較為單調(diào)外,就是必須記憶大量操作視窗模式操作介面目前最為普遍的「視窗模式操作介面」(Graphicaluserinterface),使用者可選擇透過滑鼠或鍵盤來操作電腦,此模式的優(yōu)點是親合性較高,不論在視覺、學習與使用上,都能有最方便舒適的操作環(huán)境。WindowsXP是一種視窗模式操作介面38視窗模式操作介面目前最為普遍的「視窗模式操作介面」(Gra管理、分配與監(jiān)視系統(tǒng)資源作業(yè)系統(tǒng)除了可以管理所有的硬體設備資源外,還能夠將這些資源適當?shù)胤峙浣o相關的應用軟體,包括了輸出入管理、記憶體管理、檔案和磁碟管理等等。作業(yè)系統(tǒng)可視為延伸機器(ExtendedMachine)或資源管理者(ResourceManager)角色的代表。39管理、分配與監(jiān)視系統(tǒng)資源作業(yè)系統(tǒng)除了可以管理所有的硬體設備Tips透過作業(yè)系統(tǒng)的操作介面,使用者不需要利用機器語言來操作電腦,而可使用更接近人類的高階語言或應用軟體來控制電腦。因此作業(yè)系統(tǒng)扮演了一種延伸機器的功能。40Tips透過作業(yè)系統(tǒng)的操作介面,使用者不需要利用機器語言來操作業(yè)系統(tǒng)類型功能說明應用說明單人單工作業(yè)系統(tǒng)同一時間內(nèi)只允許一個使用者來執(zhí)行程式,並且電腦在同一時間內(nèi)只能處理一個程序。例如微軟的MS-DOS。單人多工作業(yè)系統(tǒng)同一時間內(nèi)只允許一個使用者來執(zhí)行程式,不過電腦在單一時間內(nèi)能提供多件工作同時作業(yè)的能力,並會依照程式的需求分配CPU時間給每個工作,如此電腦的資源便可以充分利用,使用者也不必等候執(zhí)行工作。例如微軟的Windows95/98/Me/XP與NT/2000、IBM的OS/2作業(yè)系統(tǒng)。多人多工作業(yè)系統(tǒng)此類作業(yè)系統(tǒng)可以允許多個使用者使用多個帳號在同一時間執(zhí)行不同程式,並共享電腦及週邊資源。例如WindowsNT/2000/2003或Unix、Linux作業(yè)系統(tǒng)。41作業(yè)系統(tǒng)類型功能說明提供應用軟體執(zhí)行環(huán)境作業(yè)系統(tǒng)提供多種應用軟體執(zhí)行環(huán)境42提供應用軟體執(zhí)行環(huán)境作業(yè)系統(tǒng)提供多種應用軟體執(zhí)行環(huán)境42網(wǎng)路功能與系統(tǒng)安全作業(yè)系統(tǒng)可以肩負起系統(tǒng)安全維護的功能,防止任何不當?shù)耐獠糠欠ㄈ肭?3網(wǎng)路功能與系統(tǒng)安全作業(yè)系統(tǒng)可以肩負起系統(tǒng)安全維護的功能,5-3作業(yè)系統(tǒng)的演進與發(fā)展作業(yè)系統(tǒng)的設計與發(fā)展,與所要執(zhí)行的電腦硬體架構有相當密切的關係。早期的電腦以打孔卡片儲存資料,而CPU是由讀卡機(CardReader)讀入資料,接著再讀入組譯器、編譯器、連結器後,由於I/O設備的執(zhí)行速度遠低於CPU的執(zhí)行速度,經(jīng)常使得CPU閒置,為了提升工作效率,可將所有的工作一次大量處理,提高單位時間內(nèi)的作業(yè)量。445-3作業(yè)系統(tǒng)的演進與發(fā)展作業(yè)系統(tǒng)的設計與發(fā)展,與所要執(zhí)批次作業(yè)系統(tǒng)使用者必須先把想要執(zhí)行的程式逐次排序好。處理時才會到媒體中讀取資料,並由作業(yè)系統(tǒng)將其放入CPU的批次工作佇列中,排隊等候執(zhí)行。這種方式則稱為「批次作業(yè)系統(tǒng)」(BatchOperatingSystem),通常採用離線(off-line)作業(yè)。優(yōu)點是很適合處理需耗費大量CPU時間的工作。缺點是不具交談能力,且時效性較差。45批次作業(yè)系統(tǒng)使用者必須先把想要執(zhí)行的程式逐次排序好。處理時才線上週邊同時處理高速設備(如磁碟機)等共同裝置來暫存專用裝置輸出入資料,來提高系統(tǒng)的效能,這種作業(yè)系統(tǒng)則稱為「線上週邊同時處理」(SimultaneousPeripheralOperationOn-Line,SPOOL)。46線上週邊同時處理高速設備(如磁碟機)等共同裝置來暫存專用裝特點是在專用裝置間有極大速度差異時,利用速度介於兩者間的共用裝置作為緩衝區(qū)。例如當I/O動作與CPU執(zhí)行重疊時,CPU先行將資料寫入磁碟,等到I/O裝置空閒時,再將磁碟內(nèi)的資料輸出。47特點是在專用裝置間有極大速度差異時,利用速度介於兩者間的共用監(jiān)督程式CPU從8位元火速發(fā)展到目前64位元的時代,使得作業(yè)系統(tǒng)也得跟著快速演進。早期的8位元APPLEⅡ裡,作業(yè)系統(tǒng)被稱為監(jiān)督程式(MonitorProgram),工作相當單純,只是讓某種終端機連接上系統(tǒng),並且監(jiān)督使用者程式與輸出/入裝置之間的程式執(zhí)行狀況。算是一般作業(yè)系統(tǒng)的始祖。48監(jiān)督程式CPU從8位元火速發(fā)展到目前64位元的時代,使得作監(jiān)督程式又可分為「長駐程式」(ResidentProgram)或「暫留程式」(TransientProgram)。監(jiān)督程式的主要工作,管理電腦系統(tǒng)的所有資源,電腦系統(tǒng)中最重要的資源當然就是CPU,讓CPU發(fā)揮最大的效能,是每個作業(yè)系統(tǒng)在設計監(jiān)督程式時最大的考量49監(jiān)督程式又可分為「長駐程式」(ResidentProgra多元程式作業(yè)系統(tǒng)多元程式(Multi-programming)作業(yè)系統(tǒng)的電腦,允許CPU將所要執(zhí)行的多個程式載入主記憶體,或稱為多工作業(yè)系統(tǒng)(Multitasking)。將所要執(zhí)行的數(shù)個程式放入CPU中,當CPU正在執(zhí)行的工作進入等待狀態(tài)時,切換到記憶體中其他工作繼續(xù)進行。目的是充分利用CPU,不受I/O影響,除了分配時間給不同的程式之外,當一個程式進行到輸出輸入而需等待裝置傳送資料時,就可以先去處理其它的程式,等待資料準備完畢後,再回到原來的程式進行進一步的運算處理。50多元程式作業(yè)系統(tǒng)多元程式(Multi-programmin分時作業(yè)系統(tǒng)分時(TimeSharing)作業(yè)系統(tǒng)的運作原理將CPU時間分割成一連串的時間配額(TimeSliceorTimeQuantum)以交替執(zhí)行這些待命程式的做法,提供使用者分時CPU的一小部份,而載入記憶體中執(zhí)行的程式通常叫做「行程」(process)。分時作業(yè)系統(tǒng)允許利用交談方式來與作業(yè)系統(tǒng)溝通,現(xiàn)代電腦的運算速度極快,往往每秒鐘就可執(zhí)行數(shù)以億計的指令,分時作業(yè)系統(tǒng)仍然可以帶給使用者不受其他干擾,而獨立處理其程式的假象。51分時作業(yè)系統(tǒng)分時(TimeSharing)作業(yè)系統(tǒng)的運作多元處理作業(yè)系統(tǒng)多元處理(Multiprocessing)作業(yè)系統(tǒng)是指單一電腦系統(tǒng)中,具有二個以上CPU,由單一作業(yè)系統(tǒng)可以同時存取,平行處理平行處理(parallelprocess),模式處理工作排程,也稱為「平行作業(yè)系統(tǒng)」(Parallelsystem)。各個CPU可同時分別處理不同的程式,並讓每個CPU共享各種資源。例如WindowsServer/NT/XP都是屬於多元處理作業(yè)系統(tǒng)。52多元處理作業(yè)系統(tǒng)多元處理(Multiprocessing)分散式作業(yè)系統(tǒng)分散式作業(yè)系統(tǒng)是架構在網(wǎng)路之上的作業(yè)系統(tǒng),分散式系統(tǒng)的架構中,藉由網(wǎng)路資源共享的特性,提供更強大的功能,並提高系統(tǒng)的計算效能。資訊硬體價格下降與電腦網(wǎng)路技術之發(fā)展與進步,幾乎電腦設備均已上網(wǎng)連線,分散式作業(yè)系統(tǒng)各電腦中的CPU擁有各自的記憶體,當CPU間要交換訊息時,是藉由通訊線路來完成。53分散式作業(yè)系統(tǒng)分散式作業(yè)系統(tǒng)是架構在網(wǎng)路之上的作業(yè)系統(tǒng),分分散式系統(tǒng)優(yōu)點分散式系統(tǒng)中任何遠端的資源,都被作業(yè)系統(tǒng)視為本身的資源,而可以直接存取。優(yōu)點有資源共享,加速運算,可靠性高,訊息交換等。54分散式系統(tǒng)優(yōu)點分散式系統(tǒng)中任何遠端的資源,都被作業(yè)系統(tǒng)視為本分散式作業(yè)系統(tǒng)又可區(qū)分為「鬆耦合系統(tǒng)」(LooselyCoupledSystem)與「緊耦合系統(tǒng)」(TightlyCoupledSystem)
分散式系統(tǒng)模式特色與說明鬆耦合系統(tǒng)每一個CPU有自己的記憶體和作業(yè)系統(tǒng),並且利用外部網(wǎng)路來連結其它處理器,也就是每個處理器節(jié)點都是獨立的。
緊耦合系統(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)路將許多臺設備與效能可能較低的電腦或工作站連結在一起,利用通訊網(wǎng)路聯(lián)接,形成一個設備與效能較高,類似資源庫(resourcepool)的伺服主機系統(tǒng)。叢集式處理系統(tǒng)是多個獨立電腦的集合體,每一個獨立的電腦有它自己的CPU、專屬記憶體(LocalMemory)和作業(yè)系統(tǒng),使用者能夠視需要取用或分享此叢集式系統(tǒng)中的計算及儲存能力。56叢集式作業(yè)系統(tǒng)「叢集式作業(yè)系統(tǒng)」(ClusteredO叢集式作業(yè)系統(tǒng)示意圖57叢集式作業(yè)系統(tǒng)示意圖57嵌入式作業(yè)系統(tǒng)嵌入式系統(tǒng)是一種「控制、監(jiān)視或輔助」工廠運作或機器設備的裝置,它是針對某種特定的用途,開發(fā)出特定功能的系統(tǒng),是所謂的客制化(Customize)。嵌入式系統(tǒng)(EmbededSystem)是軟體與硬體結合的綜合體,強調(diào)「量身定做」幾乎涵蓋所有微電腦控制的裝置。58嵌入式作業(yè)系統(tǒng)嵌入式系統(tǒng)是一種「控制、監(jiān)視或輔助」工廠運作或嵌入式系統(tǒng)為了工業(yè)電腦而設計,在資訊產(chǎn)品普及與數(shù)位家電興起後,嵌入式系統(tǒng)已逐漸普及到我們?nèi)粘I钪校Y訊家電、網(wǎng)路產(chǎn)品,到可攜式裝置,都看得到它的蹤跡,例如WebPad,PDA,SmartPhone、GPS、Set-Top-Box、嵌入式伺服器(embeddedserver)、精簡型終端設備(thinclient)、網(wǎng)路電視、螢幕電話、電子體溫計、飛機自動導航系統(tǒng)、電子書、可攜式全球定位系統(tǒng)裝置、穿戴式電腦(Wearablecomputers)、掌上型遊戲(handheldgame)等。59嵌入式系統(tǒng)為了工業(yè)電腦而設計,在資訊產(chǎn)品普及與數(shù)位家電興起後Tips所謂資訊家電(IA),就是具備網(wǎng)路連線功能並且能與其它裝置做資料雙向溝通、智慧判斷並做適時而準確控制的家電產(chǎn)品。例如在傳統(tǒng)家電產(chǎn)品中,包括電視機、電冰箱等小家電用品,加上一些新的軟體硬體應用技術,所發(fā)展出新的應用方式。目前在寬頻網(wǎng)路及無線通訊的發(fā)展與普及下,資訊家電更可以結合電腦和網(wǎng)路,而具備直接或間接上網(wǎng)或透過網(wǎng)路控制家電的功能。60Tips所謂資訊家電(IA),就是具備網(wǎng)路連線功能並且嵌入式作業(yè)系統(tǒng)常在PDA等嵌入式產(chǎn)品,PDA等嵌入式產(chǎn)品的要求功能並不一定要強大,所以可適用的作業(yè)系統(tǒng)像是Palm使用的PalmOS,CompaqPDA使用的WindowsCE,或是一些廠商專屬的或自行研發(fā)的EPOC、Synergy、RTxc、Avis、Penbex…等。嵌入式系統(tǒng)在硬體方面強調(diào)省電、外觀精美,在軟體則注重穩(wěn)定度、執(zhí)行效率及程式碼小。61嵌入式作業(yè)系統(tǒng)常在PDA等嵌入式產(chǎn)品,PDA等嵌入式產(chǎn)品的要5-4單一程式處理「記憶體管理」(MemoryManagement)主要掌握資料及程式的流向外,避免記憶體的浪費與提高記憶體的最大使用率。也包括提供與保護記憶區(qū)塊以滿足程式的要求及確保不受其它程式的侵入。以程式執(zhí)行的運作流程而言,不管是進行數(shù)值運算或資料搬移,必須在主記憶體中運行,也就必須將程式的邏輯地址(LogicalAddress)轉換到實體地址(PhysicalAddress)空間。625-4單一程式處理「記憶體管理」(MemoryManag記憶體管理方式記憶體管理方式是單一程式處理(Monoprogramming),是一次只讓一個程式使用記憶體,其餘空間則為作業(yè)系統(tǒng)來暫用。要等到程式執(zhí)行完畢,才能載入下一個程式。63記憶體管理方式記憶體管理方式是單一程式處理(Monoprog重疊單一程式處理的缺點是程式比記憶體少許多,就十分浪費剩餘記憶體的空間。當程式比記憶體大時,就無法載入整個程式,就必須採用「重疊」(Overlay)技術來解決?!钢丿B」作用是程式設計師將程式分割成較小片段的模組,執(zhí)行時只載入要執(zhí)行的模組,其餘尚未執(zhí)行的程式模組,則暫時存放在如磁碟的輔助記憶體中,再逐步利用置換(Swapping)方式將其它程式模組載入主記憶體中,缺點是往往會增加程式設計的難度。隨後由於多元程式處理(Monoprogramming)技術的興起,就解決了這種問題。64重疊單一程式處理的缺點是程式比記憶體少許多,就十分浪費剩5-5多元程式處理多元程式(Multi-programming)電腦的作業(yè)系統(tǒng),允許CPU在同一時間內(nèi)執(zhí)行多個程式。每當一個程式要執(zhí)行時,作業(yè)系統(tǒng)便從可用記憶體中挑選一塊足夠的記憶體,以配置給該程式使用。而切割後的記憶體區(qū)塊則稱為分割區(qū)(partion)。655-5多元程式處理多元程式(Multi-programm分割法簡介記憶體分割的重要原則,是程式大小必須放進足夠的連續(xù)記憶體分割區(qū)中,通常記憶體的分割法(partitioning)分兩種:固定分割法變動分割法66分割法簡介記憶體分割的重要原則,是程式大小必須放進足夠的固定分割法固定分割法(FixedPartition)是主記憶體切割為固定大小不等的記憶體區(qū)塊。執(zhí)行的程式會依據(jù)不同的需要載入到不同的分割區(qū)中??煞譃椤附^對定位分割法」與「可重定位分割法」兩種。67固定分割法固定分割法(FixedPartition)是主記內(nèi)部碎片固定式的分割,如果沒有適當大小的程式,往往容易形成記憶體碎片(Fragmentation)。其中記憶體碎片又可分為「內(nèi)部碎片」(InternalFragmentation)與「外部碎片」(ExternalFragmentation)兩種?!竷?nèi)部碎片」是指當分配給某一程式的方割區(qū)大於程式容量時,所剩餘沒有用到的空間。68內(nèi)部碎片固定式的分割,如果沒有適當大小的程式,往往容易形成記「外部碎片」「外部碎片」則代表雖然記憶體所剩空間總和足夠讓此程式執(zhí)行,卻因為空間不連續(xù),導致程式無法載入執(zhí)行。例如現(xiàn)在要放置100KB的程式,但剩餘兩個分割區(qū)的空間為70KB、80KB的不連續(xù)區(qū)間。雖然總共有150KB,但實際上放不下去,這些70KB與80KB的分割區(qū)空間就造成了浪費,稱做「外部碎片」。69「外部碎片」「外部碎片」則代表雖然記憶體所??臻g總和足夠讓此可重定位分割法(RelocatablePartition)隨時將程式集中在記憶體一邊,以便留下完整的區(qū)塊未使用空間,供其他程式載入使用;這種作法稱為垃圾收集(GarbageCollection)??芍囟ㄎ环指罘梢韵獠恐щx破碎問題,並提供一個大的未使用空間,供程式載入使用。缺點為了進行垃圾收集,會使系統(tǒng)整體速度降低,甚至要花費額外硬體設備來加快處理。另外,載入記憶體內(nèi)的程式與資料有可能不被使用到,而造成記憶體空間的浪費。70可重定位分割法(RelocatablePartition)變動分割法變動分割法(VariablePartitioning)的記憶體切割不是當系統(tǒng)開始時就決定,也就是當程式要執(zhí)行時,系統(tǒng)才會依據(jù)程式大小來分配足夠的連續(xù)記憶體區(qū)塊。當程式執(zhí)行完畢後,會將可用的記憶體區(qū)塊以鏈結串列的方式組合,這些片段的區(qū)塊稱為記憶體間隙(hole)。71變動分割法變動分割法(VariablePartition記憶體合併以鏈結串列串連的記憶體間隙,作業(yè)系統(tǒng)除了記錄每個間隙的起始位指與大小等相關資訊外,還必須進行間隙合併(HoleCoalesce)的動作,否則不斷產(chǎn)生的間隙將會越來越小,無法符合新載入程式的需求。72記憶體合併以鏈結串列串連的記憶體間隙,作業(yè)系統(tǒng)除了記錄每個間間隙合併的主要方法
間隙名稱介紹與說明間隙接合間隙接合(CoalescingHoles)是指如果有兩塊相鄰的間隙,則可將其合併為更大的間隙區(qū)塊,方便提供給其他程式所用。間隙壓擠間隙壓擠(CompactingHoles)是指當記憶空間已經(jīng)不足時,可定期將散佈於各處的較小間隙合併為一大區(qū)塊,再提供給其他程式所用。73間隙合併的主要方法間隙名稱介5-6記憶體配置自然和串列有密不可分的關係,以下就從可用空間串列的表示法開始。將每塊記憶體連成一鏈結串列外,還必須記載每塊記憶體大小,因此,在每個細節(jié)點都附有兩個欄位,分別為SIZE和LINK:745-6記憶體配置自然和串列有密不可分的關係,以下就從可用如果某一個程式,在執(zhí)行時必須使用到n單位的記憶體。如何從可用空間串列中配置一塊足夠供給這個程式的記憶體?這時就可從可用空間串列中尋找一塊m>=n的可用空間單位。以下降介紹三種常見的尋找與配置方法。75如果某一個程式,在執(zhí)行時必須使用到n單位的記憶體。如何從可用最適法最適法(BestFit)是選擇可用空間串列中,一塊最接近n而不小於n的可用空間。當找到之後,將其中n個單位配置,其餘則保留。最適法用於請求分配的記憶體大小範圍較廣的情況。使用此法時,總是找大小最接近請求的空閒區(qū)段,這樣容易產(chǎn)生碎片(Fragmentation),需經(jīng)常壓縮碎片成為較大且連續(xù)的記憶體。缺點是必須搜尋全部串列,較為費時。76最適法最適法(BestFit)是選擇可用空間串列中,一塊最不適法最不適法(WorstFit)是選擇可用空間中存在最大m,且m>=n的記憶體空間,然後配置n個單位給該程式,而剩下的則歸還可用記憶空間。雖然也是搜尋全部串列,較費時。最不適法每次都從記憶體最大的節(jié)點中進行分配,會使得AV串列中的節(jié)點大小趨於均勻,因此它適用於請求分配的記憶體大小範圍分佈較為接近的情況。缺點沒有夠大空間可以利用的情況,容易產(chǎn)生外部碎片,回收時必須先進行搜尋以尋求適當?shù)奈恢谩?yōu)點是所剩餘空間的可利用率高。77最不適法最不適法(WorstFit)是選擇可用空間中存在先適法先適法(FirstFit):是從可用記憶體串列開始尋找第一塊大於或等於n個單位記憶體空間切割下來。優(yōu)點費時較少,速度也最快,製作容易,回收時僅需插入可用空間串列前端即可。先適法適用於事先無法掌握執(zhí)行期間可能出現(xiàn)的請求分配情況。但先適法無論分配和回收均需要搜尋鏈結串列,因此最費時間。78先適法先適法(FirstFit):是從可用記憶體串列開始在多元程式電腦環(huán)境中,記憶體可用空間大小包括下列之順序:10k,4k,20k,18k,7k,9k,12k,15k,請就最適法、先適法和最不適法這三種方法,探討下列三種記憶體要求,應該配置在那一個空間大?。?2k10k9k79在多元程式電腦環(huán)境中,記憶體可用空間大小包括下列之順序:79解答放入20k記憶體空洞最不適法放入20k記憶體空洞先適法放入12k記憶體空洞最適法12k記憶體要求放入20k記憶體空洞最不適法放入20k記憶體空洞先適法放入10k記憶體空洞最適法10k記憶體要求放入20k記憶體空洞最不適法放入10k記憶體空洞先適法放入9k記憶體空洞最適法9k記憶體要求abc80解答放入20k記憶體空洞最不適法放入20k記憶體空洞先適法伙伴系統(tǒng)
伙伴系統(tǒng)(BuddySystem)是以2的冪次方來動態(tài)配置及歸還記憶體的管理方法。當某程式或資料請求一塊記憶體空間,系統(tǒng)會依採行的演算法配置一塊記憶體給予使用?;锇橄到y(tǒng)中無論是佔用的記憶體空間或未被使用的記憶體空間,其大小都是2的乘冪次方,當使用者申請n單位的記憶體空間,系統(tǒng)就分配2k位元組給它,其中2k-1<=n<=2k。81伙伴系統(tǒng)伙伴系統(tǒng)(BuddySystem)是以2的冪次方如果全部的記憶體空間大小為2m,所佔用的位址介於0~2m-1之間,在伙伴系統(tǒng)的動態(tài)記憶體管理中,其可能空閒的區(qū)段可能有20、21、22、…2m等大小。有256k可用空間,有四個程式(Program),欲分配給此空間,且P1(33k),P2(85k),P3(12k),P4(25k),我們將以下圖表示二元夥伴系統(tǒng)的分配方式82如果全部的記憶體空間大小為2m,所佔用的位址介於0~2m-15-7虛擬記憶體虛擬記憶體(VirtualMemory)是一種記憶體管理技術,允許執(zhí)行中的程式不必全部載入主記憶體中,程式的邏輯地址空間可以大於主記憶體的實體地址空間。虛擬記憶體的功用就是作業(yè)系統(tǒng)將程式使用的程式段(程式頁)放主記憶體中,其餘存放在輔助記憶體(如磁碟),程式不受實際記憶體可用空間的限制,使得在實體記憶體不足的系統(tǒng)上,可執(zhí)行花費記憶體較多的應用程式。載入或置換使用者程式所須I/O的次數(shù)減少,執(zhí)行速度也會加快,更增加了CPU使用率。835-7虛擬記憶體虛擬記憶體(VirtualMemoryTips所謂「置換」(Swapping),是指行程從主記憶體中移到磁碟的虛擬記憶體,再從虛擬記憶體移到主記憶體執(zhí)行的動作。84Tips所謂「置換」(Swapping),是指行程從主記憶體虛擬記憶體交換檔磁碟內(nèi)劃分為虛擬記憶體的檔案稱為「虛擬記憶體交換檔」,例如Windows98中,是win386.swp檔案,而在WindowsXP中,則為pagefiles.sys檔案。虛擬記憶體常用的設計方式有「分頁」(Paging)、「分段」(Segmentation)與「分段/分頁」(Paging/Segmentation)三種,都是屬於「區(qū)塊對應」(BlockMapping)模式,以下將分別為您介紹。85虛擬記憶體交換檔磁碟內(nèi)劃分為虛擬記憶體的檔案稱為「虛擬記憶體分頁模式分頁是將記憶體切割成固定大小,然後依照程式需求量而給予足夠記憶體空間,目前大多數(shù)CPU都支援這種機制。分頁(Paging)是將整個實體記憶體固定等分成與頁面相同大小的區(qū)塊,稱為「頁框」(Frames),而程式中邏輯記憶體所分割大小相同的區(qū)塊,就稱為「分頁」(Page)。86分頁模式分頁是將記憶體切割成固定大小,然後依照程式需求量而分頁對映表執(zhí)行一個程式時,會將所需的分頁放入主記憶體的頁框(Frame)內(nèi),使用者所看到的空間是虛擬的邏輯位址,作業(yè)系統(tǒng)會透過「分頁對映表」(PageMapTable,PMT)來處理邏輯位址與實體位址的對映轉換及頁面交換的處理?!阜猪搶τ潮砘讜捍嫫鳌?PageMapTableBaseRegister,PMTBR)則用來儲存「分頁對映表」的起始位址。87分頁對映表執(zhí)行一個程式時,會將所需的分頁放入主記憶體的頁框(說明分頁法概念第1步:將程式邏輯記憶體分割成大小相同的「分頁」(Page)。88說明分頁法概念第1步:將程式邏輯記憶體分割成大小相同的「分頁第2步:將實體記憶體也分割成和「分頁」大小一致的「頁框」(Frame)。89第2步:將實體記憶體也分割成和「分頁」大小一致的「頁框」(F第3步:查詢分頁表,在分頁表中記錄著程式中的每一「分頁」和實體記憶體中的「頁框」的對應關係。90第3步:查詢分頁表,在分頁表中記錄著程式中的每一「分頁」和實第4步:根據(jù)分頁表的對應關係,將邏輯記憶體的每一分頁載入到實體記憶體中的對應的頁框。91第4步:根據(jù)分頁表的對應關係,將邏輯記憶體的每一分頁載入到實尋頁失敗PageFault如果程式所要存取的分頁不在主記憶體中,則存取該記憶體頁框的動作便會失敗,這種現(xiàn)象稱為「尋頁失敗」(PageFault)。打算使用到的那一頁不在主記憶體頁框內(nèi)?!笇ろ撌 箒K不會造成系統(tǒng)的錯誤,而作業(yè)系統(tǒng)也必須再度由磁碟中載入該分頁,並在主憶體中找到可用頁框(FreeFrame),以供該分頁載入之用。92尋頁失敗PageFault如果程式所要存取的分頁不在主記憶外部破碎分頁模式的特點是可以不需暫用連續(xù)記憶體,但仍可順利執(zhí)行程式,分頁法絕對不會發(fā)生「外部破碎」的問題。由於用不到的程式部份不會佔主記憶體的空間,這樣就有更多的空間留給其他程式來使用。93外部破碎分頁模式的特點是可以不需暫用連續(xù)記憶體,但仍可順利執(zhí)分段模式「分段模式」(Segmentation)是程式所需的記憶體實際大小,以分段(Segmentation)分配記憶體位址,也是將輔助記憶體內(nèi)的程式,依邏輯功能切割成可變動的區(qū)段。每個分段大小未必相同,可以不需佔用連續(xù)的記憶體。分段法與可重定位分割法非常類似,不過分段模式的對象是虛擬記憶體,而可重定位分割法則是實際記憶體。94分段模式「分段模式」(Segmentation)是程式所「分段模式」將程式內(nèi)容以模組(如程式碼、資料與堆疊等)區(qū)隔,並將程式邏輯記憶體用分段式記憶體分配。每個工作都切割成不等的分段,每個分段再執(zhí)行相關功能。作業(yè)系統(tǒng)會透過「分段對映表」(SegmentationMapTable,PMT)來處理邏輯位址與實體位址的對映轉換及頁面交換的處理,可記錄程式中哪區(qū)段在主記憶體內(nèi),及其主記憶體內(nèi)的位置。而「分段對映表基底暫存器」(SegmentationMapTableBaseRegister,SMTBR)則是用來儲存「分段對映表」的起始位址。95「分段模式」將程式內(nèi)容以模組(如程式碼、資料與堆疊等)區(qū)隔,第1步:將程式邏輯記憶體以模組為單位,切割成許多分段(Segment)。96第1步:將程式邏輯記憶體以模組為單位,切割成許多分段(Seg第2步:查詢分段表,在分段表中記錄著程式中每一模組的大小,與對應到實體記憶體的起始位址97第2步:查詢分段表,在分段表中記錄著程式中每一模組的大小,與第3步:根據(jù)分段表的對應關係將程式的每一分段載入到實體記憶體中的對應位置。98第3步:根據(jù)分段表的對應關係將程式的每一分段載入到實體記憶體分段模式優(yōu)缺點「分段模式」優(yōu)點是能充份掌控分段內(nèi)程式的存取權,且能讓各個佔用一個區(qū)塊的模組於執(zhí)行時才載入,且充分利用記憶體,而且不會產(chǎn)生「內(nèi)部碎片」現(xiàn)象,程式大小也不會受記憶體限制?!阜猪撃J健故菍⒂洃涹w切割成固定大小的頁框,因此分頁比較浪費空間。「分段模式」必須花費當主記憶體中某些片斷程式碼取出使用後,要再回存至磁碟時所需尋可用空間,缺點就是增加了CPU的處理時間。99分段模式優(yōu)缺點「分段模式」優(yōu)點是能充份掌控分段內(nèi)程式的存取權分段且分頁模式「分段且分頁」模式(SegmentationWithPaging)同時結合了「分頁模式」與「分段模式」的優(yōu)點,可將每個分段細分成數(shù)頁,也就是並不把每一分段視為單一連續(xù)的單位,而是把它分成一樣大小分頁,比大部分的分段小,而且比整個分段容易操作。優(yōu)點是對系統(tǒng)而言,可以提高CPU的速度,並且減少不必要的運算時間100分段且分頁模式「分段且分頁」模式(Segmentation5-8行程管理介紹「行程」(Process)可視為一個執(zhí)行中的程式,程式本身也並非行程。行程不只是程式碼,包含程式計數(shù)器(ProgramCounter)與如行程堆疊等存放資訊。每個行程執(zhí)行時,CPU都會分給適當?shù)南到y(tǒng)資源與CPU時間。執(zhí)行緒(Thread),可稱為「輕量化行程」(LightweightProcess),一個行程是多個「執(zhí)行緒」(thread)所組合而成。由於這些同時存在的執(zhí)行緒,會一起分享程序在系統(tǒng)中的共用資源(例如記憶體區(qū)塊、CPU處理時脈等),所以可以形容成是「行程中的行程」。1015-8行程管理介紹「行程」(Process)可視為一個多執(zhí)行緒「多執(zhí)行緒」功能,將程式中的每個工作劃分開來,能夠同時地獨立去執(zhí)行。網(wǎng)頁瀏覽器中,各位可以同時欣賞音樂、背景列印文件、開啟新的網(wǎng)頁連結並下載資料檔案,這些動作之間並不會因為其它工作的執(zhí)行而引發(fā)休眠狀態(tài)。每項工作都能夠共享及分配既有的系統(tǒng)資源,達到獨立運作的需求。102多執(zhí)行緒「多執(zhí)行緒」功能,將程式中的每個工作劃分開來,能夠同瀏覽器的多執(zhí)行緒應用103瀏覽器的多執(zhí)行緒應用103行程狀態(tài)行程狀態(tài)(ProcessState)行程目前的動作,行程在執(zhí)行時會改變其狀態(tài),在任何時候只有一項行程在執(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的控制權。等待(block):在某事件(通常是I/O事件)發(fā)生前無法執(zhí)行,等待某件事件的發(fā)生。就緒(ready):處於準備執(zhí)行,但尚未執(zhí)行的狀態(tài)。結束(terminated):該行程完成執(zhí)行,並釋放所佔用的資源105各種狀態(tài)介紹105106106工作排程簡介多元程式(Multi-programming)系統(tǒng)中,行程進入系統(tǒng)時,它們是放在等待佇列(ReadyQueue)之中。工作無法同時執(zhí)行,系統(tǒng)會從等待佇列中選擇一個來執(zhí)行。作業(yè)系統(tǒng)如何安排與選擇CPU的作業(yè)排程、哪一個程式優(yōu)先被執(zhí)行、執(zhí)行時間的長短、使用的記憶體大小與下一個要被載入的程式等,必須借由排程演算法(SchedulingAlgotithm)來挑選行程。107工作排程簡介多元程式(Multi-programming常見的排程演算法與相關名詞說明CPU排程名詞解釋與說明生產(chǎn)量生產(chǎn)量(throughput),單位時間內(nèi)完成的行程個數(shù)?;貞獣r間回應時間(ResponseTime),行程開始執(zhí)行到第一次輸出所花費的時間。等待時間等待時間(WaitingTime),行程在等待佇列中所花費的時間。回復時間回復時間(TurnaroundTime),行程開始執(zhí)行到結束所花費的時間。108常見的排程演算法與相關名詞說明CPU排程名詞Tip除了工作排程外,在多元程式(Multi-programming)作業(yè)系統(tǒng)的電腦中,會有許多行程(Process)同時在等待佇列中等待分配使用CPU的權利,這些行程時常會存取磁碟上的資料,但是由於磁碟的存取速度較為緩慢。因此,就必須藉助磁碟排程(DiskScheduling)來改善存取的效率。常見的磁碟排程有先來先做(FirstComeFirstSearch,FCFS)、搜尋時間最短者先做(ShortestSearchTimeFirst,SSTF)、掃描法(SCAN)、循環(huán)掃描法(CircularSCAN)、觀察法(LOOK)、循環(huán)觀察法(CircularLOOK)。109Tip除了工作排程外,在多元程式(Multi-program先來先做(First-Come,First-Served,FCFS)
FSCF是一種相當容易的演算法,愈早到的行程,可以優(yōu)先取得CPU控制權,屬於一種「非搶奪式」方式。假設有4個行程P1,P2,P3,P4,其在很短的時間內(nèi)先後到達等待佇列,每個行程所執(zhí)行時間如下表所示行程名稱各行程所需的執(zhí)行時間P130P240P320P410110先來先做(First-Come,First-Served,以甘特圖(GanttChart)繪出先來先做(First-Come,First-Served,FCFS)的排班情況,並分別計算平均等待時間(WaitingTime)及平均回復時間(TurnaroundTime)。解答:FCFS排班所繪出的甘特圖如下平均等待時間=47.5平均回復時間=72.5111以甘特圖(GanttChart)繪出先來先做(First-Tips系統(tǒng)允許執(zhí)行中的行程被中斷(Interrupt),稱為「搶奪式」(Preemptive),能夠讓使用者感受到的反應時間較短,並且容易延遲行程的執(zhí)行結束時間。而不允許執(zhí)行中的行程被中斷,稱為「非搶奪式」(nonreemptive),使用者所感受到的反應時間較長,不過每個行程執(zhí)行結束時間較容易預測。112Tips系統(tǒng)允許執(zhí)行中的行程被中斷(Interrupt),最短工作優(yōu)先(Shorest–Job-First,SJF)執(zhí)行時間最愈短的行程可優(yōu)先取得CPU控制權,而且所挑選的行程會直行到結束為止,屬於「非搶奪式」(nonreemptive)排程。範例:假設有4個行程P1,P2,P3,P4,其在很短的時間內(nèi)先後到達等待佇列,每個行程所執(zhí)行時間如下表所示:行程名稱各行程所需的執(zhí)行時間P130P240P320P410113最短工作優(yōu)先(Shorest–Job-First,SJF請您以甘特圖(GanttChart)繪出最短工作優(yōu)先(Shorest–Job-First,SJF)的排班情況,並分別計算平均等待時間(WaitingTime)及平均回復時間(TurnaroundTime)。解答:平均等待時間=25平均回復時間=50114請您以甘特圖(GanttChart)繪出最短工作優(yōu)先(Sh循環(huán)分配(RoundRobin,RR)適合用於分時系統(tǒng),訂並每個行程使用CPU的時間額度(TimeSlice),等到時間額度(TimeSlice)用盡後,若未能在此時間額度內(nèi)完成工作,則會被迫放棄CPU控制權,等待下一回合,CPU也會將控制權移轉到下一個等待執(zhí)行的工作。如此循環(huán)執(zhí)行,直到所有行程結束為止。適合用於分時系統(tǒng),首先會訂並每個行程使用CPU的時間額度(TimeSlice),等到時間額度(TimeSlice)用盡後,若未能在此時間額度內(nèi)完成工作,則會被迫放棄CPU控制權,等待下一回合,CPU也會將控制權移轉到下一個等待執(zhí)行的工作。如此循環(huán)執(zhí)行,直到所有行程結束為止。115循環(huán)分配(RoundRobin,RR)115假設有4個行程P1,P2,P3,P4,其在很短的時間內(nèi)先後到達等待佇列,每個行程所執(zhí)行時間如下表所示行程名稱各行程所需的執(zhí)行時間P130P240P320P410116假設有4個行程P1,P2,P3,P4,其在很短的時間內(nèi)先後到設定每個行程使用CPU的時間額度(TimeSlice)為10,請您以甘特圖(GanttChart)繪出循環(huán)分配(RoundRobin,RR)的排班情況,並分別計算平均等待時間(WaitingTime)及平均回復時間(TurnaroundTime)。解答:以RR排班所繪出的甘特圖如下平均等待時間=47.5平均回復時間=72.5117設定每個行程使用CPU的時間額度(TimeSlice)為1優(yōu)先權排程(PriorityScheduling,PS)為優(yōu)先佇列(priorityqueue)的應用,等待佇列的每一個行程都賦予一個優(yōu)先權(priority),但有最高優(yōu)先權者(HighestPriorityOutFirst:HPOF),優(yōu)先得到CPU的控制權。範例:假設有4個行程P1,P2,P3,P4,其在很短的時間內(nèi)先後到達等待佇列,每個行程所執(zhí)行時間如下表所示行程名稱各行程所需的執(zhí)行時間P130P240P320P410118優(yōu)先權排程(PriorityScheduling,PS設定每個P1、P2、P3、P4的優(yōu)先次序值分別為2,8,6,4(此處假設數(shù)值越小其優(yōu)先權越低;數(shù)值越大其優(yōu)先權越高),以甘特圖(GanttChart)繪出優(yōu)先權排程(PriorityScheduling,PS)的排班情況,並分別計算平均等待時間(WaitingTime)及平均回復時間(TurnaroundTime)。解答:平均等待時間=42.5平均回復時間=67.5119設定每個P1、P2、P3、P4的優(yōu)先次序值分別為2,8,6,最短剩餘優(yōu)先(ShortestRemainingTimeFirst,SRTF)若其執(zhí)行時間大於新到達行程的執(zhí)行時間,則此行程會被迫放棄CPU控制權,交由新的行程來執(zhí)行,屬於「搶奪式」(Preemptive)排程。SRTF和SJF類似,唯一不同之處是SJF排程執(zhí)行時,不可被新行程插隊,要等到執(zhí)行完畢才會交出CPU控制權。但SRTF即使在執(zhí)行時,新進入等待佇列的行程仍可隨時插隊。120最短剩餘優(yōu)先(ShortestRemainingTime範例:假設有4個行程P1,P2,P3,P4,分別先後到達等待佇列,且到達時間分別為0,5,10,12,每個行程所執(zhí)行時間如下表所示: 行程名稱各行程所需的執(zhí)行時間P140P230P320P410平均等待時間=25平均回復時間=50121範例:假設有4個行程P1,P2,P3,P4,分別先後到達等待5-9常見作業(yè)系統(tǒng)接下來,我們將為各位介紹作業(yè)系統(tǒng)演進史上幾種常見的作業(yè)系統(tǒng):1225-9常見作業(yè)系統(tǒng)接下來,我們將為各位介紹作業(yè)系統(tǒng)演進史Ms-DOSMS-DOS是由美國微軟(Microsoft)公司為了配合IBM當時極力推出的16位元個人電腦而設計發(fā)展出來的,由於DOS是採取命令列介面的方式操作。三個系統(tǒng)檔案(COMMAND.COM、IO.SYS、MSDOS.SYS)與一些公用程式組合而成。123Ms-DOSMS-DOS是由美國微軟(MicrosofTipsMS-DOS是一套以文字命令列操作介面為主的單人單工作業(yè)系統(tǒng),包含以下三個主要程式:輸入/輸出控制程式(IO.SYS):功用是作為DOS與其他週邊設備的溝通橋樑,更可以在螢幕上顯示偵錯狀況。磁碟管理程式(MSDOS.SYS):用來建立和管理磁碟中的檔案與系統(tǒng)中的服務功能。命令處理程式(COMMAND.COM):儲存內(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架構,可以執(zhí)行32位元的應用程式,支援長檔名及網(wǎng)路作業(yè)環(huán)境,提供了「隨插即用」的功能。Windows98和Windows95的,差別是加強了Web與Windows的結合,並讓InternetExplorer4.01瀏覽器正式與作業(yè)系統(tǒng)結合。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í)行效率上,都遠遠超越了Windows95/98,是一套真正的32位元多人多工作業(yè)系統(tǒng)。128WindowsNT/2000/XP/Server2003Windows2000Windows2000,具有網(wǎng)域管理、單機作業(yè)、負載平衡功能、系統(tǒng)安全性高並支援多重平臺所設計的作業(yè)系統(tǒng),因此常被用在網(wǎng)路的主從式架構及單機作業(yè)系統(tǒng)。129Windows2000Windows2000,具有網(wǎng)域管WindowsXP操作畫面WindowsServer2003操作畫面130WindowsXP操作畫面WindowsServerWindowsServer2003是針對企業(yè)伺服器的強大需求,而對Windows2000伺服器加以改良,使用較少資源處理更多工作,並加強安全性、可靠性、安全性和可調(diào)整性等微軟也對Windows伺服器作業(yè)系統(tǒng)進行了改良和擴充,合併了Microsoft.NET軟體在連接資訊、人員、系統(tǒng)和裝置上的優(yōu)點。131WindowsServer2003是針對企業(yè)伺服器的強Windows檔案管理簡介在Windows作業(yè)系統(tǒng)中,檔案依照不同的屬性與型態(tài)又可區(qū)分為多種類型。文字檔、執(zhí)行檔、HTML檔、文件檔等,而且每一個檔案都會以「檔名.副檔名」格式來表示。「檔名」說明了此檔案的用途或功能,在WindowsXP作業(yè)統(tǒng)中最多可以使用255英文字母,包括空格在內(nèi)。不過檔名中不可包含下列任一字元:\/:*?"<>|132Windows檔案管理簡介在Windows作業(yè)系統(tǒng)中,檔案127個中文字來表示檔名的內(nèi)容,而「副檔名」則表示檔案的類型,不過通常是隱藏起來。常見副檔名如下:副檔名名稱程式種類EXE應用程式的執(zhí)行檔TXT純文字檔HTMHTML檔DOCWORD檔PPTPOWERPOINT檔XLSEXCEL活頁簿檔BMP小畫家圖檔WAV音效檔133127個中文字來表示檔名的內(nèi)容,而「副檔名」則表示檔案的類型檔案與檔案結構電腦中所使用的檔案數(shù)量相當多,可以使用「資料夾」將同性質的檔案集中存放。料夾中的檔案還是太多,建立「子資料夾」的方式,再次進行分類。如此將檔案分門別類後,日後要尋找特定檔案時,也能夠快速地搜尋到目標檔案。134檔案與檔案結構電腦中所使用的檔案數(shù)量相當多,可以使用「資料檔案總管是以樹狀結構儲存各種資料檔案
檔案總管是以樹狀結構儲存各種資料檔案135檔案總管是以樹狀結構儲存各種資料檔案檔案總管是以樹狀結構儲清楚了檔案結構後,當要表示某一個檔案的儲存路徑或位置時,通常會採用下面的表示方法:磁碟代號:\資料夾名稱\資料夾名稱…\檔案名稱.副檔名136清楚了檔案結構後,當要表示某一個檔
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第五章 專題 類平拋 集體備課教學設計 -2023-2024學年高一下學期物理人教版(2019)必修第二冊
- 2024中國鐵建港航局集團有限公司招聘29人筆試參考題庫附帶答案詳解
- 2025年具有獨立功能電氣設備及裝置項目發(fā)展計劃
- 2018-2019學年人教版(新)歷史與社會九年級下冊同步教學設計:第五單元 冷戰(zhàn)時期的世界 (共7份打包)
- 2024安徽蕪湖鳩茲水務有限公司下屬子公司第一批招聘及政審考察筆試參考題庫附帶答案詳解
- Unit 8 Lesson 43 What Makes You Unique2024-2025學年八年級英語上冊同步教學設計(冀教版)河北專版
- 2024四川融通安防投資集團有限公司下屬子公司公開招聘生產(chǎn)技術序列合同員工筆試參考題庫附帶答案詳解
- 第五章自然環(huán)境的整體性與差異性(大單元教學設計)高二地理同步備課系列(人教版2019選擇性必修1)
- 課堂常規(guī)評價激勵語100句
- Unit 1 Life Choices Lesson 2 Understanding and Coping with Stress 教學設計-2024-2025學年高中英語北師大版(2019)必修第一冊
- 川教版小學信息技術四年級下冊教案-全冊
- 基于自然語言處理的法律知識圖譜構建
- 高效傾聽模型
- 新能源行業(yè)論文開題報告
- 動物防疫員考試題附答案
- 英語常用動詞表500個
- 《稅法》(第六版)全書教案電子講義
- 2024年電工(高級技師)職業(yè)鑒定理論考試題庫-下(多選、判斷題)
- 20S515 鋼筋混凝土及磚砌排水檢查井
- 血液透析并發(fā)癥頭痛
- 《幼兒園保教質量評估指南》解讀
評論
0/150
提交評論