版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上精選優(yōu)質文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質文檔-傾情為你奉上專心-專注-專業(yè)操作系統(tǒng)概論知識總結第一章 操作系統(tǒng)簡介操作系統(tǒng)是覆蓋在裸機上的第一層系統(tǒng)軟件操作系統(tǒng)的兩個主要目標:與硬件部分相互作用,為包含在硬件平臺上的所有底層可編程部件提供服務為運行在計算機系統(tǒng)上的應用程序(即所謂用戶程序)提供執(zhí)行環(huán)境現(xiàn)代計算機系統(tǒng)的一個重要特點就是支持多任務操作系統(tǒng)所管理的資源主要包括處理機、內存、設備和文件,在網(wǎng)絡操作系統(tǒng)中還包括網(wǎng)卡、寬帶等操作系統(tǒng)的主要功能:處理機管理內存管理設備管理文件管理操作系統(tǒng)的發(fā)展從時間順序上經(jīng)歷了從無操作系統(tǒng)到單道批處理系統(tǒng)、
2、多道程序系統(tǒng)(多道批處理系統(tǒng)、分時系統(tǒng))的發(fā)展過程,隨著計算機應用領域的擴大、計算機體系結構的多樣化,又出現(xiàn)了微機操作系統(tǒng)、網(wǎng)絡操作系統(tǒng)、實時操作系統(tǒng)、嵌入式操作系統(tǒng)和物聯(lián)網(wǎng)操作系統(tǒng)單道批處理系統(tǒng)內存中只有一道作業(yè),可以自動成批處理作業(yè)。單道批處理系統(tǒng)特點:自動性、順序性、單道性。單道批處理系統(tǒng)與無操作系統(tǒng)相比,減少了等待人工操作的時間多道批處理系統(tǒng)的特點是多道性、無序性、調度性、復雜性。其優(yōu)點是能夠提高CPU、內存和I/O設備的利用率和系統(tǒng)的吞吐量,缺點是系統(tǒng)平均周轉時間長,缺乏交互能力。分時操作系統(tǒng)允許多個用戶通過終端同時使用計算機,特點是多路性、獨立性、及時性和交互性,優(yōu)點是向用戶提供了
3、人機交互的方便性,使多個用戶可以通過不同的終端共享主機。分時系統(tǒng)的實現(xiàn)需要解決兩個關鍵問題,即及時接收和及時處理實時系統(tǒng)主要用于實時控制和實時信息處理領域。實時系統(tǒng)必須能及時響應外部事件的請求,在規(guī)定的時間內完成對該事件的處理,并控制所有實時任務協(xié)調一致地運行實時系統(tǒng)的特點:多路性、獨立性、及時性、交互性、可靠性實時系統(tǒng)比分時系統(tǒng)要求有更高的可靠性現(xiàn)代操作系統(tǒng)都支持多任務,具有并發(fā)、共享、虛擬和異步性特征并發(fā)兩個或多個事件在同一時間間隔內發(fā)生共享是指系統(tǒng)中的資源可供內存中多個并發(fā)執(zhí)行的進程共同使用,資源共享有兩種方式:互斥共享和同時共享內存管理的主要任務是為多道程序的運行提供良好的環(huán)境,方便用
4、戶使用內存,提高內存的利用率,以及從邏輯上擴充內存以實現(xiàn)虛擬存儲內存管理應具有內存分配、內存保護、地址映射和內存擴充功能操作系統(tǒng)可以采用兩個方式實現(xiàn)內存分配,即靜態(tài)分配方式和動態(tài)分配方式內存保護的任務:使操作系統(tǒng)內核的空間不會被用戶隨意訪問,以保證系統(tǒng)的安全和穩(wěn)定確保每道用戶程序都在自己的內存空間中運行,互不干擾CPU執(zhí)行程序過程中訪問內存時,需要把程序的邏輯地址轉變?yōu)槲锢淼刂?,這個轉換過程稱為地址映射內存擴充的任務是借助于虛擬存儲技術,從邏輯上擴充內容容量,使系統(tǒng)能夠向用戶提供比物理內存大的存儲容量。為了能從邏輯上擴充內存,系統(tǒng)必須具有內存擴充機制,以實現(xiàn)請求調入功能和置換功能進程的管理功能
5、主要包括進程的描述與組織、進程控制、進程同步、進程通信及進程調度設備管理主要功能:緩沖管理設備分配設備處理設備獨立性和虛擬設備目錄項包括文件名、文件屬性、文件的地址等信息。操作系統(tǒng)向用戶提供了用戶與操作系統(tǒng)之家的接口。主要包括:命令接口、圖形接口和程序接口命令接口分為聯(lián)機用戶接口和脫機用戶接口。聯(lián)機用戶接口是為聯(lián)機用戶設計的。脫機用戶接口是為批處理作業(yè)的用戶提供的,也稱處理廠用戶接口操作系統(tǒng)提供給程序員的接口是系統(tǒng)調用軟件系統(tǒng)結構是一個復雜軟件體系的高層結構,為軟件系統(tǒng)提供了一個結構、行為和屬性的高級抽象明確清晰的軟件系統(tǒng)結構是一條貫穿軟件系統(tǒng)整個生命周期的主線,是軟件設計成功的基礎和關鍵,也
6、是對軟件大型化、復雜化趨勢的一種很好的應對決策單體內核是操作系統(tǒng)中最早、最常見的體系結構微內核技術是操作系統(tǒng)發(fā)展的一個里程碑,它的核心思想是核心功能外移程序是指令的集合,程序的執(zhí)行就是按照某種控制流執(zhí)行指令的過程一個單一指令需要的處理稱為指令周期,一個指令周期可以劃分成兩個步驟,分別是取指周期和執(zhí)行周期在每個執(zhí)行周期開始時,處理器從存儲器中取一條指令程序的執(zhí)行就是反復取指令和執(zhí)行指令取指令和執(zhí)行指令都是由硬件完成的。進程管理操作系統(tǒng)中最核心的概念是進程程序的順序執(zhí)行的特點:順序性,封閉性,可再現(xiàn)性程序的并發(fā)執(zhí)行的特點:間斷性、失去封閉性、不可再現(xiàn)性引入進程的原因:當操作系統(tǒng)支持程序并發(fā)執(zhí)行時,
7、并發(fā)執(zhí)行的程序可能是同一程序在不同數(shù)據(jù)集合上的執(zhí)行,也可能是不同的程序在不同數(shù)據(jù)集合上的執(zhí)行,它們共享系統(tǒng)資源,用程序已不能描述程序的并發(fā)執(zhí)行,所以引入了進程的概念進程的定義:進程是允許并發(fā)執(zhí)行的程序在某個數(shù)據(jù)集合上的運行過程進程是由正文段、用戶數(shù)據(jù)段和進程控制塊共同組成的執(zhí)行環(huán)境。正文段存放被執(zhí)行的機器指令,用戶數(shù)據(jù)段存放進程在執(zhí)行時直接進行操作的用戶數(shù)據(jù),進程控制塊存放程序的運行環(huán)境,操作系統(tǒng)通過這些數(shù)據(jù)描述和管理進程進程的特征:并發(fā)性。動態(tài)性獨立性異步性結構特征進程與程序的區(qū)別:程序是靜態(tài)的,進程是動態(tài)的。程序是永久的,進程是暫時存在的程序與進程的存在實體不同。進程與程序的聯(lián)系進程是程序
8、的一次執(zhí)行,進程總是對應至少一個特定的程序,執(zhí)行程序的代碼一個程序可以對應多個進程。同一個程序可以在不同數(shù)據(jù)集合上運行,因而構成若干個不同的進程,幾個進程能并發(fā)地執(zhí)行相同的程序代碼,而同一個進程能順序地執(zhí)行幾個程序進程由程序、用戶數(shù)據(jù)和操作系統(tǒng)管理進程所需要的進程控制塊構成。進程實體存在的標志是操作系統(tǒng)管理進程所使用的數(shù)據(jù)結構進程控制塊進程控制塊中包含的信息:進程標識符信息(用于唯一標識一個進程)、處理機狀態(tài)信息(通用寄存器、指令計數(shù)器、程序狀態(tài)字PSW、用戶棧指針)、進程調度信息(進程狀態(tài)信息、進程優(yōu)先級和進程調度所需的其他信息)、進程控制信息(包括程序、數(shù)據(jù)的地址、進程同步、通信機制、資源
9、清單、鏈接指針)進程的三種基本狀態(tài):就緒態(tài)、阻塞態(tài)和執(zhí)行態(tài)進程的組織:鏈接方式、索引方式和進程隊列需要創(chuàng)建新進程的情況:用戶登錄、作業(yè)調度、提供服務、應用請求調用創(chuàng)建新進程的系統(tǒng)調用來創(chuàng)建進程的步驟:1.申請空白PCB,2.為新進程分配資源,3.初始化進程控制塊,4.將新進程插入就緒隊列進程的阻塞和喚醒操作:請求系統(tǒng)服務啟動某種操作新數(shù)據(jù)尚未到達無新工作可做完成進程阻塞的簡化過程如下:將進程的狀態(tài)改為阻塞態(tài)將進程插入相應的阻塞隊列轉進程調度程序,從就緒隊列中選擇進程為其分配CPU進程喚醒的過程:將進程從阻塞隊列中移出將進程狀態(tài)由阻塞態(tài)改為就緒態(tài)將進程插入就緒隊列進程終止:當進程正常秩序完畢,調
10、用終止進程的系統(tǒng)調用,請求操作系統(tǒng)刪除該進程一個進程調用適當?shù)南到y(tǒng)調用,終止另外一個進程。父進程終止其子進程的原因:子進程使用了超過它所分配到的一些資源分配給子進程的任務已經(jīng)不再需要父進程退出。完成進程終止的過程:從進程PCB中讀進程狀態(tài)若進程正在執(zhí)行,則終止進程的執(zhí)行若進程由子孫進程,在大多數(shù)情況下需要終止子孫進程釋放資源將終止進程的PCB移出操作系統(tǒng)內核是計算機硬件的第一次擴充,內核執(zhí)行操作系統(tǒng)與硬件關系密切,執(zhí)行頻率高的模塊,常駐內存操作系統(tǒng)內核的功能:支撐功能(中斷處理、時鐘管理和原語操作)和資源管理功能(包括進程管理、存儲管理和設備管理)中斷是改變處理器執(zhí)行指令順序的一種事件,這樣的
11、事件與CPU芯片內外部硬件電路產生的電信號相對應計算機在執(zhí)行程序的過程中,當出現(xiàn)中斷時,計算機停止現(xiàn)行程序的運行,轉向對這些中斷事件的處理,處理結束后再返回到現(xiàn)行程序的間斷處引入中斷的原因:使CPU可以與其他設備并行工作,能有效提高CPU的利用率,改善系統(tǒng)性能,支持系統(tǒng)的異步性。中斷的類型:同步中斷(內部中斷或異常),是指指令執(zhí)行時由CPU控制單元產生的,之所以稱為同步,是因為只有在一條指令終止執(zhí)行后CPU才會發(fā)出中斷,如除法出錯、調試、溢出和浮點出錯等異步中斷(外部中斷),是由其他硬件設備隨機產生的,又分為外部可屏蔽中斷和外部不可屏蔽中斷。外部不可屏蔽中斷是由緊急事件引起的中斷,如硬件故障引
12、起中斷的原因:人為設置中斷、程序性故障、硬件故障、I/O設備和外部事件單重中斷的處理過程:系統(tǒng)管理中斷,保護斷點,把當前要執(zhí)行的下一條指令的地址保存到內存中,以便中斷返回時,能把這個地址恢復到程序計數(shù)器PC中,使被中斷的程序從斷點處開始繼續(xù)執(zhí)行轉中斷處理程序。在中斷處理程序中完成保護現(xiàn)場的工作,就是把相關的硬件上下文信息保存到內存中,硬件上下文就是中斷返回恢復被中斷程序的執(zhí)行時,需要寫回CPU寄存器的值保護完現(xiàn)場后,要根據(jù)中斷向量到中斷向量表中找到與中斷處理子例程入口地址相關信息,由這些信息得到中斷處理子例程的入口地址,以執(zhí)行中斷處理子例程,完成本次中斷處理的特定處理工作最后,恢復現(xiàn)場,開中斷
13、,CPU返回斷點處繼續(xù)執(zhí)行被中斷的程序時鐘的重要性:時鐘是計算機系統(tǒng)的脈搏,計算機的很多活動都是由定時測量來驅動的;操作系統(tǒng)的內核可以利用時鐘機制防止一個進程壟斷CPU或其他資源;計算機中當前時間顯示功能、即時通信程序等與時間相關的軟件都需要時鐘機制的支持大部分PC中有兩個時鐘源,分別稱為實時時鐘(RTC)和OS時鐘。RTC時鐘也稱CMOS時鐘,是一塊時鐘芯片,靠電池供電,為計算機提供計時標準,是最原始、最底層的數(shù)據(jù)。OS時鐘產生于PC主板上的定時/計數(shù)芯片,在開機時有效,由操作系統(tǒng)控制操作系統(tǒng)內核需要完成兩種主要的定時測量,一是保存當前的日期和時間,以便能通過系統(tǒng)調用把它們返回給用戶程序,讓
14、用戶程序獲得當前的日期和時間,也可以由內核本身把當前時間作為文件和網(wǎng)絡包的時間戳。二是維持定時器,這種機制能夠告訴內核或用戶程序某一時間間隔已經(jīng)過去操作系統(tǒng)依靠時鐘硬件和時鐘驅動程序完成上述兩種定時測量功能時鐘驅動程序也成為時鐘中斷處理程序,每產生一次時鐘中斷信號,操作系統(tǒng)內核要執(zhí)行時鐘驅動程序,時鐘驅動程序完成如下功能:維護日期和時間;遞減當前進程在一個時間片內的剩余執(zhí)行時間,并檢查是否為零,防止進程運行超時;對CPU的使用情況記賬;遞減報警計數(shù)器系統(tǒng)調用是一群預先定義好的模塊,它們提供一條管道讓應用程序或一般用戶能由此得到核心程序的服務。用戶空間是指用戶進程所處的地址空間,一個用戶進程不能
15、訪問其他進程的用戶空間,只有系統(tǒng)程序才能訪問其他用戶空間。當CPU執(zhí)行用戶空間的代碼時,稱該進程在用戶態(tài)執(zhí)行系統(tǒng)空間是指含有一切系統(tǒng)核心代碼的地址空間,當CPU執(zhí)行系統(tǒng)核心代碼時,稱進程處于系統(tǒng)態(tài)執(zhí)行系統(tǒng)調用與一般函數(shù)的區(qū)別:系統(tǒng)調用運行在系統(tǒng)態(tài)(核心態(tài)),而一般函數(shù)運行在用戶態(tài)系統(tǒng)調用與一般函數(shù)調用的執(zhí)行過程不同。系統(tǒng)調用執(zhí)行時,當前進程被中斷,由系統(tǒng)找到相應的系統(tǒng)調用子程序,并在系統(tǒng)態(tài)下執(zhí)行,執(zhí)行結果返回進程系統(tǒng)調用要進行“中斷處理”,比一般函數(shù)調用多了一些系統(tǒng)開銷系統(tǒng)調用的類型:進程控制類系統(tǒng)調用。創(chuàng)建、撤銷進程;獲得、改變進程屬性文件操縱類系統(tǒng)調用。創(chuàng)建、刪除、打開、關閉和讀/寫文件設
16、備管理類系統(tǒng)調用。請求、釋放設備通信類系統(tǒng)調用。打開、關閉連接,交換信息信息維護類系統(tǒng)調用。返回系統(tǒng)當前日期、時間、版本號、用戶數(shù)、空閑內存和磁盤空間大小等信息進程同步的任務:對具有資源共享關系的進程,保證諸進程以互斥的方式訪問臨界資源對具有相互合作關系的進程,保證相互合作的諸進程協(xié)調執(zhí)行。同步機制應遵循的準則:空閑讓進忙則等待有限等待讓權等待管程是描述共享資源的數(shù)據(jù)結構和在數(shù)據(jù)結構上的共享資源管理程序的集合。其中包括變量的定義、變量的初始化代碼,以及管理共享資源的過程管程的特征:管程是可供程序員調用的軟件包。進程可以在任何需要調用的時候調用管程中的過程,但是他們不能再管程外的過程中直接訪問管
17、程內的數(shù)據(jù)結構每次只有一個進程調用管程執(zhí)行,任意時刻管程中只能有一個活躍進程管程是一種編程語言的構件,所以編譯器知道他們很特殊,并可以調用與其他過程不同的方法來處理他們。進程之間的高級通信機制類型:共享存儲器系統(tǒng)。又分為基于共享數(shù)據(jù)結構的通信方式和基于共享存儲區(qū)的通信方式消息傳遞系統(tǒng)。又分為直接通信方式和間接通信方式管道通信。管道是連續(xù)讀寫進程的一個特殊文件,也稱為管道文件消息緩沖隊列。廣泛用于本地進程直接的通信,該機制包括數(shù)據(jù)結構、發(fā)送原語和接收原語。進程是進行資源分配和獨立執(zhí)行的基本單位,線程是被系統(tǒng)獨立調度和分派的基本單位引入線程的原因:由于進程既是獨立執(zhí)行的基本單位,又是資源擁有者,在
18、進程創(chuàng)建、撤銷和切換時需要較大的時空開銷,所以,系統(tǒng)中所設置的進程數(shù)和進程切換的頻率都收到了限制,影響了操作系統(tǒng)被冰封程度的提高。引入線程作為獨立調度和分派的單位,不獨立永不資源,而與其他線程共享同一進程資源,減小了系統(tǒng)的時空開銷線程的實質是把進程的任務劃分成更小、具有獨立功能的單位,以線程的形式來并發(fā)執(zhí)行,以提高程序并發(fā)執(zhí)行的程度。線程是進程中的一個實體,是被系統(tǒng)獨立調度和分派的基本單位。線程只擁有在運行中必須的資源,包括程序計數(shù)器、一組寄存器和棧,但是它可以與同屬一個進程的其他線程共享進程所擁有的全部資源。一個線程可以創(chuàng)建和撤銷另一個線程。同一進程中的多個線程可以并發(fā)執(zhí)行線程的實現(xiàn)可以分為
19、兩類,即用戶級線程和內核級線程。內核級線程依賴于內核,用戶級線程不依賴于內核,用戶級線程的創(chuàng)建、撤銷和切換都與內核無關線程與進程的關系:資源和調度。線程是程序執(zhí)行的基本單位,進程是擁有資源的基本單位地址空間資源。不同進程的地址空間是相互獨立的,而同一進程中的各線程共享同一地址空間通信關系。進程之間的通信必須使用操作系統(tǒng)提供的進程間通信機制,而同一進程中的各線程間可以通過之間讀或寫全局變量來進行通信,甚至無需操作系統(tǒng)的參與并發(fā)性。多進程之間可以并發(fā)執(zhí)行,多線程之間也可以并發(fā)執(zhí)行,而且同一進程中的多個線程之間也可以并發(fā)執(zhí)行系統(tǒng)開銷。由于創(chuàng)建進程或撤銷進程時,系統(tǒng)都要為之分配或回收資源,操作系統(tǒng)所付
20、出的開銷遠大于創(chuàng)建或撤銷線程時的開銷用戶線程的創(chuàng)建時通過調用線程庫中的實用程序完成的。內核線程的創(chuàng)建是由內核完成的線程的終止的原因:正常結束、異常結束、外界干預線程同步機制有原語操作和信號量機制不同進程的線程間通信,必須使用操作系統(tǒng)提供的線程間通信機制進程調度與死鎖進程調度功能由操作系統(tǒng)內核的進程調度程序完成的。進程調度的功能是按照某種策略和算法從就緒態(tài)進程中為當前空閑的CPU選擇在其上運行的新進程進程調度的時機:當一個進程運行結束(包括正常結束和異常結束)、進程阻塞、中斷返回、在支持搶占式調度的系統(tǒng)中有比當前運行進程優(yōu)先級更高的進程到來、當前運行進程的時間片用完時,系統(tǒng)都會通過執(zhí)行進程調度程
21、序重新進行進程調度選擇調度方式和算法的若干準則:周轉時間短響應時間快截止時間的保證系統(tǒng)吞吐量高處理機利用率好調度算法:先來先服務調度算法(FCFS),適合長進程,不利于短進程短進程優(yōu)先調度算法(SPF),對長進程不理,不能保證緊迫進程的及時處理,進程的長短根據(jù)用戶的估計而定,故不一定能真正做到短進程優(yōu)先。優(yōu)先權調度算法,又分為非搶占式優(yōu)先權調度算法和搶占式優(yōu)先權調度算法時間片輪轉調度算法,是現(xiàn)代分時系統(tǒng)中廣泛使用的進程調度算法。時間片是一個較小的時間單元,通常是10100ms,用戶進程分配的時間片大小一般為50ms多級隊列調度多級反饋隊列調度優(yōu)先權調度算法的一個主要問題是無窮阻塞,或稱饑餓問題
22、低優(yōu)先權進程無窮等待問題的解決方案之一是老化技術時間片大小確定時考慮的因素:系統(tǒng)對響應時間的要求就緒隊列中進程的數(shù)目系統(tǒng)的處理能力實現(xiàn)實時調度的基本條件:提供必要的調度信息、系統(tǒng)處理能力強、采用搶占式調度機制、具有快速切換機制為了實現(xiàn)實時調用,必要的調度信息包括就緒時間、開始截止時間和完成截止時間、處理時間、資源要求和優(yōu)先級在實時系統(tǒng)中廣泛采用搶占式調度,可以滿足實時進程對截止時間的要求。搶占式調度算法根據(jù)搶占CPU的時機不同,可以分為基于時鐘中斷的搶占和立即搶占。立即搶占調度策略中,一旦接收到觸發(fā)實時進程運行的信號,這通常是一個外部中斷信號,系統(tǒng)立即剝奪當前進程的CPU,把他分配給請求中斷的
23、新的實時進程??焖偾袚Q機制具有兩個方面的能力對外部中斷的快速響應能力??焖俚倪M程切換能力。常用的幾種實時調度算法:最早截止時間優(yōu)先算法(EDF)和最低松弛度優(yōu)先算法(LLF)松弛度用來表示一個實時進程的緊迫程度進程切換的步驟:保存包括程序計數(shù)器和其它寄存器在內的CPU上下文環(huán)境更新被替換進程的進程控制塊修改進程狀態(tài),把執(zhí)行態(tài)改為就緒態(tài)或阻塞態(tài)將被替換進程的進程控制塊移到就緒隊列或阻塞隊列執(zhí)行通過進程調度程序選擇的新進程,并更新該進程的進程控制塊更新內存管理的數(shù)據(jù)結構恢復被調度程序選中的進程的硬件上下文對處理器系統(tǒng)有多種不同的分類方式,根據(jù)處理器的耦合程度,可以把多處理器系統(tǒng)分為緊密耦合多處理器
24、系統(tǒng)和松弛耦合多處理器系統(tǒng);根據(jù)處理器結構是否相同,可以把多處理器系統(tǒng)分為對稱多處理器系統(tǒng)和非對稱多處理器系統(tǒng)對于非對稱多處理器系統(tǒng),大多數(shù)采用主從式操作系統(tǒng),即操作系統(tǒng)的核心部分駐留在一臺主機上,而從機上只運行用戶程序,只有主機執(zhí)行調度程序,所有從機的進程都是由主機分配的多處理器的調度方法:自調度、成組調度和專用處理器分配自調度算法是當前多處理器系統(tǒng)中最常用的調度方式之一,也是最簡單的一種調度方式。就是設置一個公共的就緒隊列,任何一個空閑的處理器都可以自行從該就緒隊列中選取一個進程或一個線程運行自調度的優(yōu)點:宜移植和有利于提高CPU的利用率自調度方式的缺點是:瓶頸問題、低效率和線程切換頻繁成
25、組調度是由系統(tǒng)將一組相互合作的進程或線程同時分配到一組處理器上運行,進程或線程與處理器一一對應。其優(yōu)點是減少線程切換,改善系統(tǒng)性能和減少調度開銷專用處理器的優(yōu)點是加速了應用程序的運行速度和避免了進程切換產生死鎖的原因是:競爭共享資源且分配資源的順序不當死鎖產生的必要條件是必須同時滿足4個條件,分別是:互斥條件、請求和保持條件、不剝奪條件、環(huán)路等待條件處理死鎖的基本方法有預防死鎖、避免死鎖、檢測并解除死鎖和忽略死鎖問題。操作系統(tǒng)可以采用死鎖預防或死鎖避免方案死鎖的預防:摒棄請求和保持條件、摒棄不剝奪條件、摒棄環(huán)路等待條件摒棄請求和保持條件是系統(tǒng)要求所有進程執(zhí)行前要一次性地申請在整個運行過程中所需
26、要的全部資源,只要有一個資源申請不成功,其他所有資源也不分配給該進程,并阻塞該進程摒棄不剝奪條件是一個已保持了某些資源的進程,當它再提出新的資源要求而不能立即得到滿足時,必須釋放它已經(jīng)保持的所有資源摒棄環(huán)路登錄的方法是指進程必須按規(guī)定的順序申請資源,對所有不同類型的資源排序,要求每個進程按規(guī)定的順序申請資源死鎖的避免的方法是把系統(tǒng)的資源的分配狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要資源分配使系統(tǒng)資源分配狀態(tài)處于安全狀態(tài),死鎖就不會發(fā)生。在避免死鎖的方法中,允許進程動態(tài)地申請資源。系統(tǒng)在資源分配之前,先計算資源分配的安全性,若本次資源分配不會導致系統(tǒng)進入不安全狀態(tài),便將資源分配給進程,否則拒絕進程的資
27、源請求,進程阻塞起來不安全狀態(tài)不一定是死鎖狀態(tài),但當系統(tǒng)進入不安全狀態(tài)之后,便可能進入死鎖狀態(tài)。避免進程死鎖的實質在于使系統(tǒng)處于安全狀態(tài)。銀行家算法的基本思想是一個進程提出資源請求后,系統(tǒng)先進行資源的試分配,然后檢查本次的試分配是否使系統(tǒng)處于安全狀態(tài),若安全則按試分配方案分配資源,否則不分配資源。調用檢測算法的時機:死鎖可能發(fā)生的頻率和當死鎖發(fā)生時受影響的進程數(shù)量死鎖定理:S為死鎖狀態(tài)的充分條件是當且僅當S狀態(tài)的資源分配圖是不可完全簡化的。死鎖定理用于檢測系統(tǒng)所處的資源分配狀態(tài)S是否為死鎖狀態(tài)解除死鎖的途徑:終止處于死鎖狀態(tài)的進程和搶占死鎖進程占有的資源 內存管理存儲器系統(tǒng)是一個具有不同容量、
28、成本和訪問時間的存儲設備的層次結構程序的執(zhí)行遵循局部性原理,局部性原理表現(xiàn)在時間和空間的局部性時間局部性,如果程序中的某一條指令一旦執(zhí)行,則不久后該指令可能再次執(zhí)行空間局部性,一旦程序訪問了某個單元,在不久后,其附近的存儲單元也將被訪問CPU寄存器保存最常用的數(shù)據(jù)程序執(zhí)行的局部性原理的幾個論點:程序在執(zhí)行時,除了少部分的轉移和過程調用指令以外,在大多數(shù)情況下是順序執(zhí)行的過程調用將會使程序的執(zhí)行軌跡由一部分內存區(qū)域轉到另一部分內存區(qū)域程序中存在很多循環(huán)結構,他們雖然由少數(shù)指令構成,但多次執(zhí)行程序中往往包括許多對數(shù)據(jù)結構的處理高級語言程序必須經(jīng)過編譯、鏈接才能成為可執(zhí)行程序,操作系統(tǒng)需要為程序的執(zhí)
29、行分配內存空間。鏈接程序不屬于操作系統(tǒng)的構成部分,但是它為操作系統(tǒng)提供可裝入的程序模塊鏈接程序要解決的問題是將編譯后的目標模塊裝配稱一個可執(zhí)行的程序根據(jù)鏈接進行的時間和實現(xiàn)方式的不同,可以把鏈接分為靜態(tài)鏈接和動態(tài)鏈接靜態(tài)鏈接是在程序運行前,用鏈接程序將目標模塊鏈接稱一個完整的裝入模塊。靜態(tài)鏈接程序的任務是對邏輯地址進行修改和變換外部調用符號靜態(tài)鏈接的缺點是程序開發(fā)不夠靈活、方便,修改某一個模塊會導致整個程序的重新鏈接動態(tài)鏈接可將某些目標模塊的鏈接推遲到這些模塊中的函數(shù)被調用執(zhí)行時才進行動態(tài)鏈接的優(yōu)點是節(jié)省內存和外存空間,方便程序開發(fā)將一個用戶的源程序變?yōu)橐粋€可在內存中執(zhí)行的程序,通常要經(jīng)過編譯
30、、鏈接和裝入3個階段多數(shù)系統(tǒng)允許操作系統(tǒng)將用戶進程放在物理內存的任意位置根據(jù)形成在內存中物理地址的時機不同,把程序的裝入分為絕對裝入方式、可重定位裝入方式(靜態(tài)重定位)和動態(tài)運行時裝入方式在程序裝入時對目標程序中的指令和數(shù)據(jù)地址修改過程稱為重定位可重定位方式的特點:編譯程序使目標模塊的起始地址從0開始程序裝入時,裝入程序根據(jù)內存的使用情況將裝入模塊裝入到內存的某個位置,并對模塊進行重定位程序在裝入內存后,還可能從內存的一個區(qū)域移動到另一區(qū)域,這種情況可能發(fā)生在支持虛擬存儲的系統(tǒng)中一個進程在被換出之前所在的內存位置與后來被從外從中重新調入內存時所在的內存位置不同,在這種情況下,地址映射必須延遲到
31、進程執(zhí)行時再進行,把這種裝入方式稱為動態(tài)運行時裝入連續(xù)分配是指操作系統(tǒng)分配內存時,為每個進程分配一塊物理地址連續(xù)的內存空間連續(xù)分配方式有單一連續(xù)區(qū)分配方式、固定分區(qū)分配方式和動態(tài)分區(qū)分配方式單一連續(xù)分配方式僅適用于單用戶、單任務的系統(tǒng)在單用戶、單任務操作系統(tǒng)中較常用的方法是設置一個基址寄存器和一個界限寄存器固定分區(qū)分配實現(xiàn)簡單,但是由于每個分區(qū)的大小固定,必然造成存儲空間的浪費,使內存利用率低下。在一些實時控制系統(tǒng)中,使用固定分區(qū)分配還是簡單而有效的動態(tài)分區(qū)分配算法的原理:系統(tǒng)初始只有一個大空閑區(qū),當進程請求空間時,由系統(tǒng)根據(jù)進程需要的空間大小劃分出一片空閑區(qū)分配給進程。系統(tǒng)允許一段時間后,內
32、存的空閑區(qū)可能散步在不連續(xù)的區(qū)域。系統(tǒng)維護一個記錄當前空閑分區(qū)情況的數(shù)據(jù)結構,當進程請求內存時,系統(tǒng)從所有空閑區(qū)中找到大小合適的空閑區(qū)進行分配。系統(tǒng)中分區(qū)的大小和數(shù)量都是變化的,空閑區(qū)的大小和數(shù)量也是變化的動態(tài)分區(qū)分配算法包括首次適應算法、循環(huán)首次適應算法和最佳適應算法循環(huán)首次適應算法優(yōu)點是:空閑區(qū)分布均勻、查找開銷較小。缺點是容易是系統(tǒng)缺乏大空閑區(qū)最佳適應算法的優(yōu)點是避免了大材小用,能提高內存利用率,但是容易留下難以利用的小空閑區(qū)把進程離散地存儲在內存中物理地址不連續(xù)的區(qū)域中,這種內存管理方式稱為離散內存管理方式,該方法是為了支持虛擬內存管理根據(jù)離散內存管理分配內存空間的基本單位不同,分位三
33、種不同的管理方式:分頁存儲管理、分段存儲管理和段頁式存儲管理將一個進程的邏輯地址空間分成若干個大小相等的片,稱為頁將物理內存空間分成與頁大小相同的若干個存儲塊,稱為頁框或頁幀在為進程分配內存時,以頁框為單位將進程中的若干頁分別裝入多個可以不相鄰的頁框中進程的最后一頁一般裝不滿一個頁框,而形成了不可利用的碎片,稱為“業(yè)內碎片”,是一種內部碎片頁表是系統(tǒng)為進程建立的數(shù)據(jù)結構,頁表的作用是實現(xiàn)從頁號到頁框號的映射基于分頁的邏輯地址結構包含兩部分:頁號P和頁內偏移量W在分頁系統(tǒng)中,頁的大小是由機器的體系結構和操作系統(tǒng)共同決定的。一般頁的大小為2的整數(shù)次冪,在目前的計算機系統(tǒng)中,大多數(shù)選擇4KB大小的頁
34、影響頁大小設計的因素有:管理內存的開銷和內存的利用率為了減少CPU在有效訪存上的時間開銷,提高訪存速度,在硬件上引入了快表機制快表也稱轉換后援緩沖(TLB),是為提高CPU訪存速度而采用的專用緩存,用來存放最近被訪問過的頁表項TLB是關聯(lián)的快速閃存。TLB的條目由兩部分組成:鍵和值。鍵對應頁號,值對應頁所在的頁框號引入TLB之后的地址變換過程:CPU產生分頁的邏輯地址頁號和頁內偏移后,將該邏輯地址的頁號提交給TLB查找TLB,如果找到頁號,則把該頁所在的頁框號用于形成物理地址,否則查找內存頁表,從內存頁表中找到相應的頁表項,讀取頁所在的頁框號,以形成物理地址如果所查找的頁表項不在TLB中,在訪
35、問完內存頁表后,要把找到的頁表項中的頁號和頁框號寫到TLB中,如果TLB中的條目已滿,系統(tǒng)會根據(jù)某種策略選擇一個TLB中的條目,用剛訪問的頁表項信息替換選中的這個TLB條目在二級分頁系統(tǒng)中,為了能在地址映射時得到離散存放的頁表在物理內存中的地址,需要為頁表再建立一個連續(xù)存放的外層頁表,本書也稱為頁目錄表。頁目錄表的表項中存放了每個頁表再物理內存中所在的頁框號。 虛擬存儲器是指具有請求調入和置換功能,能從邏輯上對內存容量進行擴充的一種存儲器系統(tǒng)。虛擬存儲技術實現(xiàn)的基本思想是,只把進程的一部分裝入內存。虛擬存儲技術帶來的好處是:提高內存的利用率。因為虛擬存儲技術只把進程的一部分裝入內存,原則上盡量
36、吧必須或常用的部分裝入內存提高多道程序度。因為只把每個進程的一部分裝入內存,因此可以在內存中裝入更多的進程把邏輯地址空間和物理地址空間分開,使程序員不用關心物理內存的容量對編程的限制虛擬存儲系統(tǒng)具有的主要特征:離散性。離散性是指進程可以分散地存儲在物理內存中。分頁、分段和段頁式存儲都屬于離散的內存管理方式。離散性是實現(xiàn)虛擬存儲管理的基礎多次性。多次性是指不必把進程一次性全部裝入內存,可以先將執(zhí)行當前進程所必須的部分代碼和數(shù)據(jù)裝入內存,其余部分等進程運行需要時再裝入,可以將進程分多次裝入內存對換性。對換性是指在內存中進程可以換出,以騰出內存空間換入外存中的進程。虛擬性。虛擬性是指虛擬存儲系統(tǒng)為用
37、戶提供了比實際物理內存大的邏輯內存空間,使程序員不必再編輯時受物理內存空間大小的限制。虛擬性是實現(xiàn)虛擬存儲系統(tǒng)的重要的目標請求分頁系統(tǒng)是最基本、最常用的虛擬存儲系統(tǒng)的實現(xiàn)方式。頁表是支持請求分頁系統(tǒng)最重要的數(shù)據(jù)結構,其作用是記錄描述頁的各種數(shù)據(jù),包括在實現(xiàn)邏輯地址到物理地址映射時需要的頁號與頁框號的對應關系。除了頁號和頁框號之外,頁表中增加了請求換入和置換是需要的數(shù)據(jù)。缺頁異常機構的主要作用是在訪問內存過程中發(fā)現(xiàn)缺頁時產生缺頁異常信號,使CPU中斷當前控制流的執(zhí)行,轉去執(zhí)行操作系統(tǒng)的缺頁異常處理程序,完成請求調頁。具體過程如下:分頁硬件通過頁表完成邏輯地址到物理地址的映射時,通過檢查頁表中的狀
38、態(tài)位P,判斷當前被訪問的頁是否在內存中,如果不在,產生缺頁異常信號執(zhí)行操作系統(tǒng)的缺頁異常處理過程,先在內存中為請求調入的頁找一個空閑頁框。然后,調度磁盤操作,把需要的頁裝入找到的空閑頁框中修改頁表,更新已經(jīng)調入也的存在位、在內存中的頁框號、訪問位和保護位等字段的值重新開始執(zhí)行因缺頁而被中斷的指令在請求分頁系統(tǒng)中,從分配給進程的頁框數(shù)量上來看,可以采用固定分配和可變分配策略從選擇淘汰頁的侯選頁是請求調入頁的進程頁還是系統(tǒng)中的所有用戶進程頁來看,可以采用局部置換和全局置換兩種策略最佳置換算法主要用于理論研究先進先出頁置換算法(FIFO)實現(xiàn)簡單,但是效率較低,會導致較高的缺頁率FIFO是最簡單的頁
39、置換算法LRU算法是廣泛使用的性能較好的算法。(最近最久未使用置換算法)計算機系統(tǒng)要提供足夠的硬件來支持LRU算法是比較困難的,許多系統(tǒng)在實現(xiàn)時都采用LRU的近似算法,如附加引用算法、簡單Clock算法和改進型Clock算法等引入工作集機制是為了能有效降低缺頁率,從而提高訪存的時間效率多道程序度太高,使運行進程的大部分時間都用于進行頁的換入、換出,而幾乎不能完成任何有效工作的狀態(tài)稱為抖動。引起抖動的主要原因是系統(tǒng)中的進程數(shù)量太多,每個進程能分配到的頁框太少,以至于進程運行過程中頻繁請求調頁抖動的預防:采取局部置換策略、在CPU調度程序中引入工作集算法和掛起若干進程。在使用分段存儲管理的系統(tǒng)中,
40、程序員使用二維的邏輯地址,一個數(shù)用來表示段,另一個數(shù)用來表示段內偏移。引入分段機制的優(yōu)點是方便編程、分段共享、分段保護、動態(tài)鏈接以及存儲空間的動態(tài)增長段表是由操作系統(tǒng)維護的用于支持分段存儲管理地址映射的數(shù)據(jù)結構。每個進程有一個段表,段表有段表項構成。每個段表項包含段號、段基址和段長3個部分。一個進程可能包含若干個段,每個段在段表中有一個段表項與之對應分頁和分段的主要區(qū)別:頁是按物理單位劃分的,分頁的引入是為了提高內存的利用率和支持虛擬存儲。而段是按邏輯單位劃分的,一個段含有一組意義相對完整的信息,引入分段的目的是為了方便程序員編輯頁的大小是固定的,而段的大小不固定,取決于用戶編寫的程序和編譯器
41、分頁的地址空間是一維的,分段的地址空間是二維的,文件系統(tǒng)文件系統(tǒng)的用戶接口包括文件的命名、類型、屬性和對文件的操作多數(shù)操作系統(tǒng)都支持文件名用圓點隔開分為兩部分。圓點后面的部分稱為文件擴展名文件結構分為無結構字節(jié)序列、固定長度記錄序列和樹形結構無結構字節(jié)序列文件也稱為流式文件。文件的類型有正規(guī)文件、目錄文件、字符設備文件和塊設備文件。正規(guī)文件包含用戶信息,一般分為ASCII文件和二進制文件。目錄文件是用于管理文件的系統(tǒng)文件。字符設備文件和輸入/輸出有關,用于串行I/O類設備,如終端、打印機和網(wǎng)絡等。塊設備文件用于磁盤類設備ASCII文件的明顯優(yōu)勢是可以顯示和打印,也可以用通常的文本編輯器進行編輯
42、二進制文件具有一定的內部機構,通常的文本編輯器不能直接顯示或打印二進制文件文件的存取方式是由文件的性質和用戶使用文件的情況確定的,常用文件存取方式有兩種:順序存取和隨機存取文件的創(chuàng)建日期、文件大小和修改時間等,這些附加信息稱為文件屬性文件系統(tǒng)通常提供目錄或文件夾用于記錄文件,很多系統(tǒng)中目錄本身也是文件,目錄是文件系統(tǒng)中實現(xiàn)按名訪問文件的重要數(shù)據(jù)結構目錄文件有兩種常見的數(shù)據(jù)結構:屬性放在目錄項中和放在i結點中文件目錄的組織和管理是文件管理的一個重要方面,包括單層目錄、兩級目錄和樹形目錄使用兩級目錄的優(yōu)點是解決了文件的重命名問題和文件共享問題,查找實際降低,缺點是增加了系統(tǒng)的存儲開銷樹形目錄的優(yōu)點
43、是便于文件的分類,層次結構清晰,便于管理和保護,解決了重命名問題,查找速度加快。缺點是查找一個文件按路徑名逐層查找,由于每個文件都放在外存中,多次訪問磁盤會影響速度,結構相對復雜用目錄樹組織文件系統(tǒng)是,需要有某種方法指明文件名,常用的方法有兩種:絕對路徑名和相對路徑名實現(xiàn)文件存儲的常用方式有連續(xù)分配、使用磁盤鏈接表的分配、使用內存的鏈接表分配和i-結點把分配給文件的連續(xù)扇區(qū)構成的磁盤塊稱為簇連續(xù)分配的優(yōu)點:實現(xiàn)簡單和讀操作性能好連續(xù)分配的缺點:隨著時間的推移,磁盤會變得零碎磁盤鏈接表的優(yōu)點是可以充分利用每個簇,不會因為磁盤碎片而浪費存儲空間,管理也比較簡單,缺點是隨機存取相當緩慢使用內存的鏈接
44、表分配是將文件所在的磁盤的簇號放在內存的表中。該方法不適合大容量的磁盤MS-DOS使用的是使用內存的鏈接表分配方法進行磁盤分配文件系統(tǒng)為文件分配磁盤空間是以簇為單位的。一般簇的大小是2的整數(shù)次冪個連續(xù)的扇區(qū)記錄空閑塊一般使用空閑簇鏈接表和位圖兩種方法I/O設備管理計算機系統(tǒng)中的I/O設備即輸入/輸出設備是用于計算機系統(tǒng)與人通信或與其他機器通信的所有設備,以及所有外存設備I/O系統(tǒng)的結構分為微機I/O系統(tǒng)和主機I/O系統(tǒng)I/O系統(tǒng)可采用四級結構,包括主機、通道、控制器和設備I/O設備的分類按傳輸速率分類低速設備。如鍵盤和鼠標中速設備。如打印機高速設備。如磁帶機、磁盤機、光盤機按信息交互的單位分類
45、塊設備,數(shù)據(jù)的存取以數(shù)據(jù)塊為單位,如磁盤字符設備。傳送字節(jié)流,沒有使用塊結構,如終端、打印機、通信端口、鼠標等按設備的共享屬性分類獨占設備。是必須作為臨界資源以互斥方式訪問的設備。如打印機共享設備。是允許多個進程共同訪問的設備。如磁盤虛擬設備。是通過某種虛擬技術把一臺物理設備變成若干邏輯設備,從用戶角度看,是多個用戶擁有各自的設備,可以隨時向設備發(fā)出訪問請求并得到系統(tǒng)應答設備控制器的功能接收和識別命令數(shù)據(jù)交換設備狀態(tài)的了解和報告地址識別數(shù)據(jù)緩沖差錯控制設備控制器的組成:設備控制器與處理機的接口:數(shù)據(jù)線、控制線和地址線設備控制器與設備的接口:設備與設備控制器接口中的3類信號為數(shù)據(jù)、狀態(tài)和控制信號
46、I/O邏輯:I/O邏輯主要由指令譯碼器和地址譯碼器兩部分功能部件構成,將CPU的命令和地址分別譯碼,控制指定設備進行I/O操作I/O控制方式有輪詢、中斷和DMA控制方式I/O方式有早期的程序輪詢控制方式,在中斷機制被引入計算機系統(tǒng)后,I/O控制采用中斷控制方式,為了提高塊設備的I/O性能,可以利用DMA控制器對I/O進行DMA控制現(xiàn)代計算機系統(tǒng)廣泛采用中斷控制方式完成對I/O的控制中斷控制的工作方式能使CPU與I/O設備在某些時間段上并行工作,提高CPU的利用率和系統(tǒng)的吞吐量采用中斷控制方式的I/O工作模式是CPU執(zhí)行過程中個,發(fā)出輸入/輸出請求,若此時I/O設備忙,則進程阻塞等待DMA控制需
47、要特殊結構的設備控制器,DMA控制器的邏輯組成包括3部分:主機與DMA的接口、DMA與設備的接口、I/O控制邏輯緩沖區(qū)是用來保存兩個設備之間或設備與應用程序之間傳輸數(shù)據(jù)的內存區(qū)域。引入緩沖區(qū)的原因:處理數(shù)據(jù)流的生產者與消費者之間的速度差異協(xié)調傳輸數(shù)據(jù)大小不一致的設備操作系統(tǒng)提供的最簡單的緩沖類型是單緩沖區(qū)雙緩沖的性能比單緩沖所有提高,但是這種提高是以增加復雜性為代價的循環(huán)緩沖的組成:多個緩沖區(qū)空緩沖區(qū)R:生產者進程下一個可用的空緩沖區(qū)已裝滿數(shù)據(jù)的緩沖區(qū)G:用于指示消費者進程下一個可用的裝有產品的緩沖區(qū)現(xiàn)行工作緩沖區(qū)C:消費者進程正在使用的工作緩沖區(qū)多個指針Nextg:用于指示消費者進程下一個可用的裝有數(shù)據(jù)的緩沖區(qū)Nexti:用于指示生產者進程下一個可用的空緩沖區(qū)Current:用于指示進程正在使用的工作緩沖區(qū)消費者進程要使用緩沖區(qū)中的數(shù)據(jù)時,可調用Getbuf過程。當進程使用完緩沖區(qū)之后,調用Releaseb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度技術開發(fā)與委托生產合同
- 2024工礦產品的加工合同
- 2024年大型超市送貨員崗位職責合同
- 2024系統(tǒng)集成合同模板
- 2024年度三人合作開發(fā)旅游服務平臺合同
- 2024年售后服務維修合同
- 2024年城市軌道交通清潔安全合同
- 2024年度品牌授權與合作經(jīng)營合同
- 2024年度某國際物流公司運輸合同
- 2024年南京秦淮區(qū)老字號保護與發(fā)展合同
- 標本溢灑應急預案演練圖
- 廣告攝影的技巧與實踐
- 美的電磁爐產品驗收檢驗指導書
- -天津市南開區(qū)2023-2024學年八年級上學期11月期中英語試題
- 早發(fā)性卵巢功能不全的臨床診療專家共識(2023版)
- 電梯井、集水井內側模板施工工藝
- AOI直通率持續(xù)提升報告
- 職業(yè)生涯規(guī)劃-旅游管理
- 《融合新聞創(chuàng)作》教學課件-項目四 移動直播新聞制作
- 第13課動物與能量(教學課件)六年級科學上冊(冀人版)
- MCS-51單片機為核心的智能電導率測試儀
評論
0/150
提交評論