第0章作业系统导论.ppt

上传人:sccc 文档编号:6614859 上传时间:2023-11-18 格式:PPT 页数:74 大小:1.57MB
返回 下载 相关 举报
第0章作业系统导论.ppt_第1页
第1页 / 共74页
第0章作业系统导论.ppt_第2页
第2页 / 共74页
第0章作业系统导论.ppt_第3页
第3页 / 共74页
第0章作业系统导论.ppt_第4页
第4页 / 共74页
第0章作业系统导论.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《第0章作业系统导论.ppt》由会员分享,可在线阅读,更多相关《第0章作业系统导论.ppt(74页珍藏版)》请在三一办公上搜索。

1、1,第 0 章 作業系統導論,內容:作業系統簡介行程管理處理機排班記憶體管理虛擬記憶體管理輸入/輸出裝置管理檔案系統管理,2,0-1 作業系統簡介,內容何謂作業系統電腦系統的架構作業系統的功能作業系統的種類,第 0-1 章 作業系統簡介,3,作業系統簡介(1),0-1-1 何謂作業系統?使用者與電腦硬體間的溝通橋樑,提供使用者個執行及操作程式的環境,讓使用者能夠很方便且迅速的操作電腦主機與作業系統MS-DOS 作業系統單一使用者/單一工作 的工作平台Windows 作業系統Win 95.98.Me是單一使用者/多工作 的平台Win NT開始 是多使用者/多工作 的平台Linux 作業系統完全免

2、費且於網路上公開原始碼的作業系統Fedora,4,主機與作業系統,5,電腦系統的架構,硬體(含韌體)硬體為電腦的實體裝置,包含記憶體、磁碟機、磁帶機、螢幕、鍵盤、滑鼠等設備;這些設備都需透過適當的驅動程式來操作般電腦都將管理程式燒錄在主機板上的EPROM,並保持隨時可以啟動,稱之為【韌體】(Firmware)核心依照韌體提供的功能,編寫一些較容易連結的函數,以供其他程式連結並透過它來存取周邊設備,這些函數的整合體稱為【核心】(Kernel)外殼編寫可以存取核心的程式,好讓般使用者操作,這就是【外殼】(Shell)應用程式使用者利用核心與外殼的標準介面程式來編寫應用軟體(Application

3、Program),大部分情況與硬體無關,程式設計師可以完全不用理會周邊硬體,6,電腦系統架構,7,系統程式與系統呼叫,我們會將硬體控制程式與最基本的電腦運作程序整合成一個稱之為【系統程式】(System Program),該程式提供電腦最根本的運作平台,再由此平台擴充功能,整合個強大的【作業系統】系統程式提供許多關於週邊設備的函數,一般稱為【系統呼叫】(System call),藉由這些函數的呼叫,使用者就可以輕易存取周邊設備我們習慣將常駐於記憶體的庫存函數稱為核心,因為這些函數隨時會被呼叫通常Unix/Linux的核心可讓使用者選擇所欲載入的函數,這是Unix/Linux系統最引以為傲的地方

4、,而widows就望塵莫及,8,作業系統的功能,控制程式(Control program)OS提供控制所有周邊設備的功能人機介面(User-machine interface)使用者透過OS所提供的人機介面工具方便的操作電腦此類型工具大多稱之為【命令】(command)延伸機器(Extended machine)使用者不需利用0/1操作電腦,只要使用接近人類的語言就可以控制電腦,進一步讓電腦更接近人類的邏輯思維來處理事務資源管理者(Resource manager)負責將CPU、記憶體空間、磁碟空間、印表機與資料等資源分配給使用者程式,為了避免衝突發生,OS必須快速且合適地分配資源,9,作業系

5、統的種類,批次處理系統(Batch processing system)早期電腦資源昂貴,多利用整批方式輸入給系統一起處理多元處理系統(Multi-programming system)多個程式同時存在記憶體中,CPU以某選定策略輪流執行這些程式使用者會感覺好像多個程式同時被執行(實際某時刻只有個程式執行)分時處理系統(Time-sharing system)將CPU執行時間平均分配給每一個使用者,讓多個程式可以共享CPU所以無論程式大小,只要小段的時間用完,而不論工作是否執行完畢,都必須要換下一個程式使用,10,作業系統的種類,多工處理系統(Multi-task system)多處理機系統(

6、Multi-processor system)部電腦中有多個CPU同時處理提供快速運算環境即時系統(Real-time system)每個程式都有其優先權(優先順序),優先權高的工作有優先處理的特權必須在限定的時間內完成,否則逾時可能不具任何實質意義,11,行程管理(1),內容何謂行程?行程的生命週期行程的同步行程的死結行程的通訊,12,行程管理(2),何謂行程(Process)?行程-執行中的程式,屬於主動元件程式 屬於被動元件行程在執行當中,會根據需要產生其他子行程(Child Process),交付給子行程所要執行的工作行程又可分為【作業系統行程】與【使用者行程】作業系統行程執行系統程式

7、碼使用者行程執行使用者程式碼,13,行程的特性與現象,行程的特性行程式一個動態的概念行程是程式與資料的結合體行程可並行處理CPU速度夠快,可視為所有行程都正在執行中行程的現象以象棋為範例行程間會互相競爭因為CPU次僅能執行一個行程,所以系統中的行程可能需要經過競爭,才能得到CPU資源,所以會涉及行程的排班問題,14,行程生命週期,因為同時間僅有一個行程被選入執行,所以一個行程從產生到執行完畢通常需要幾回合的執行周期才可以完成。執行狀態(Running state)行程執行中預備狀態(Ready state)行程已經取得所需的資源,正準備進入CPU執行等待狀態(Wait state)在執行當中可

8、能因為無法獲得某些資源或者逾時退出執行,就會進入等待停止狀態(Stop state)行程執行完畢,等待被註銷死結狀態(Deadlock state)行程可能在等待一個永遠無法獲得的資源,並繼續無止境等待,15,行程生命週期,16,行程生命週期,掛起等待狀態(Suspend waited state)當CPU工作負荷過重且難以承受時,會選擇某些行程將其掛起,並進入掛起等待狀態。甚至行程的程式與資料可能會被置換出去到外部輔助記憶體(Swap out)掛起預備狀態(Suspend ready state)被掛起的行程欲再次進入執行階段,須先到掛起預備狀態,然後等待進入預備狀態。,17,行程的命令,建

9、立(fork)Fork系統呼叫會產生一個子行程(Child Process),產生行程者稱為父行程停止(stop)撤銷(destroy)無論行程是正常停止或非正常停止,都需藉由撤銷命令釋回行程所佔用的記憶體空間與相關資源阻斷(block)行程從執行狀態 等待狀態喚醒(wakeup)行程從等待狀態預備狀態掛起(suspend)激活(activate)藉由激活讓系統重新配置記憶體空間以執行該行程,18,行程生命週期,19,臨界區間(Critical Section),臨界區間就是指共享區域以交通系統為例,臨界區間就是交叉入口以程式而言,臨界區間就是整體變數(Global Variable)Ex.S

10、UM 變數次只能允許個行程執行,否則會有競爭條件(Race Condition)出現測試與設定(Test-And-Set,TAS)K=flag;If(flag=0)flag=1;/flag=表示該資源已經被取用,20,行程同步,號誌與 P/V 操作(Semaphore)多重資源S:可使用資源數量P(S):取得共享資源if S 0 then S=S-1else Waiting.V(S):釋放共享資源S=S+1 wakeup process,21,行程的死結預防,互斥(mutual exclusion)除非資源取之不盡用之不竭,否則不可能達到資源互斥的需求佔用與等候(hold and wait)行

11、程佔用一個資源,而另個行程在等待被佔用的資源有可能發生【饑餓現象】不可搶先(no pre-emption)循環式等候(circular wait)個行程等個行程,22,行程的通訊,阻斷傳送(Blocking Send)傳送端一直等到接收端接收訊息為止無阻斷傳送(Nonblocking send)傳送端送出訊息,無須等待接收端接收,馬上可以重新操作阻斷接收(Blocking Receive)接收端一直等到有訊息出現無阻斷接收(nonblocking Receive)接收端收到訊息或指示無有效資料Send(A,message)Receive(B,message),23,訊息緩衝通訊,訊息緩衝通訊分

12、時系統的任一時間只有一個行程會被啟動,欲達到兩個行程直接通訊是不可能的。可以將傳送行程欲傳送給接收行程的訊息直接投入信箱內,接收行程再由信箱讀取信息,所謂信箱就是主記憶體的某區塊空間,又稱為【訊息緩衝器】Send(A,message)Receive(A,message),24,管道通訊,管道通訊(Pipe)主要缺點是容量有所限制,針對大量傳輸往往會發生緩衝器空間不足的問題。原則上共享檔案只允許相互通訊的兩行程使用,並不分享給其他行程,25,0-3 處理機排班(1),內容何謂處理機排班?先到先服務排班最短工作優先排班最高等級優先排班循環點名排班多層次佇列排班多層次反饋佇列排班,26,處理機排班,

13、何謂處理機排班一部主機系統可以有很多個行程同時處於執行狀態,但是CPU在任一時間內僅能處理一個行程,所以CPU 如何由多個行程中選擇一個行程執行排班的重要因素CPU 使用率(Utilization)CPU的等待是資源浪費,所以使用率越高越好輸出量(Throughput)回覆時間(Turnaround time)行程工作進入電腦系統到執行完畢離開電腦這一段時間稱之等候時間(Waiting time)般行程備CPU執行的時間不會太長,大部分都是花在排班等候CPU,27,處理機排班,先到先服務排班(First Come First Served,FCFS)最基本也是最簡單的排班方法系統只要挪出一個佇

14、列器(Queue),將所有進入等待執行的行程依序排列,先進入者排在前面,後到者排在後面萬一所選擇的行程執行時間很長,或者甚至發生死結現象,將可能導致整個系統停頓,28,處理機排班,最短工作優先排班(Shortest Job First,SJF)在目前所產生的行程當中,選擇最短執行時間的行程優先處理所以必須有預估每一行程所需執行時間的能力,一但行程產生後,就會依照所預估執行時間的長短插入行程佇列器中適當位置等待執行缺點預估行程的執行時間並不容易針對較長時間的行程可能需耗費更多的等待時間,甚至永遠無法執行到,而產生飢餓現象,29,處理機排班,最高等級優先排班(Highest Priority Fi

15、rst,HPF)依照優先權等級由高而低逐一執行當行程不斷產生的同時,一些較低優先權的行程,可能會不斷受到排擠,造成需要更長的等待時間,甚至在某些情況可能永遠執行不到,這就是飢餓現象。,30,處理機排班(6),循環點名排班(Round-Robin Timesharing,RRT)無論FCFS、SJF、HPF都是完成一個行程之後,才選擇下一個行程來執行,所以若是某一行程佔用時間過久或者執行當中發生死結現象,將會導致系統效率低落每一個行程只會執行一小段時間,時間一到,系統會停止行程繼續執行且儲存該行程的所有狀態,然後由Queue選擇一個行程執行,以此類推,直到所有行程執行完畢為止分割時間片段夠小,所

16、有行程就會有並行的感覺,但先決條件是CPU速度要夠快,否則太短的時間片段會造成耗費在行程前置作業時間比例太大導致效能嚴重低落,31,處理機排班,多層次佇列排班(Multi-Level Queue,MLQ)依照優先等級分成幾個不同型態每一個佇列器內的行程具有相同等級的優先權系統依照其優先權高低逐一執行可想而知很容易造成肌餓現象,32,處理機排班,多層次反饋佇列排班(Multi-Level Feedback Queue,MLFQ)基於前者會產生飢餓現象,所以加上會自動提升優先等級的功能低優先權的會隨時間慢慢提升等級,所以最後一定會被執行到,33,處理器排班範例,分別就先到先服務、最短工作優先排班、

17、循環點名排班(時間量=1)、優先權排班算出回覆時間算出等候時間,34,回覆時間等候時間,35,0-4 記憶體管理(1),內容記憶體種類基本概念記憶體分配分區管理分頁管理分段管理段頁式管理,36,記憶體種類,主記憶體主機板上的半導體記憶體(SRAM、DRAM、ROM)CPU可以直接存取記憶體上的程式或資料外部記憶體大多指外接的磁碟、光碟、磁帶等輔助記憶體,通常存放CPU暫不執行的程式或資料CPU無法直接執行外部記憶體所存取的程式一般而言當記憶體不足儲存所有行程時,會將一些暫不執行的程式儲存於外部記憶體,當需要使用時,再由外部記憶體移入主記憶體讓CPU執行,37,0-4 記憶體管理(3),0-4-

18、2 基本概念主要工作邏輯位址空間,而不受實際空間限制多個行程同時駐留於主記憶體內,提升系統效能考慮四個問題主記憶體分配位址映射由邏輯位址對應至實體位址的方法主記憶體保護分為系統程式與應用程式兩種位址空間,前者以儲存作業系統的核心程式或常駐系統呼叫為主,不允許使用者直接呼叫存取虛擬記憶體將外部輔助記憶體納入與主記憶體共同使用,讓使用者感覺主記憶體位址空間猶如邏輯位址空間一般,38,記憶體分配,分配策略最先適合(First Fit,FF)選擇第一個滿足請求容量的空閒區最佳適合(Best Fit,BF)找出能滿足請求容量的最小空閒區最壞適合(Worst Fit,WF)從所有空閒區找出能滿足請求的最大

19、空閒區,39,0-4 記憶體管理(5),0-4-3 記憶體分配(2)位址映射與保護,40,0-4 記憶體管理(6),0-4-3 記憶體分配(3)覆蓋,41,0-4 記憶體管理(7),0-4-3 記憶體分配(4)置換 主記憶體與外部輔助記憶體間交換程式或資料置換出(Swap out)程式由主記憶體移至輔助記憶體行程由等待狀態進入掛起狀態時主記憶體空間不足時置換入(Swap in)程式由輔助記憶體移入主記憶體行程由掛起狀態進入等待狀態時某些程序被重新呼叫而須喚起時,42,分區管理,固定分區管理(靜態分區管理)運作方式是將主記憶體分割成若干個固定區塊,各個區塊可以不相等容易產生內部碎片(Intern

20、al Fragmentation),43,分區管理,可變分區管理(動態分區管理)系統一開始不會將記憶體分割成固定區塊,而是作業欲載入時,再依照作業的大小分配一個適當的區塊供其載入,且區塊大小剛好符合作業大小,44,0-4 記憶體管理(10),0-4-5 分頁管理(1)分頁管理之概念,45,0-4 記憶體管理(11),0-4-5 分頁管理(2)位址映射,46,0-4 記憶體管理(12),0-4-6 分段管理(1)實現原理,47,0-4 記憶體管理(13),0-4-6 分段管理(2)位址映射,48,0-4 記憶體管理(14),0-4-7 段頁式管理位址映射,49,0-5 虛擬記憶體管理(1),內容

21、基本概念動態分頁管理動態分段管理,50,0-5 虛擬記憶體管理(2),非虛擬記憶體系統之特性整體性一個行程的全部實體在執行之前必須載入主記憶體內駐留性作業系統一但進入主記憶體內,便一直駐留直到執行結束才離開連續性一個行程分配的是一連續的主記憶體空間,51,0-5 虛擬記憶體管理(3),虛擬記憶體管理的三個基本概念局部性只需將局部程式存放在主記憶體置換性目前暫時不使用或今後不再使用的部份程式先置換出記憶體離散性行程佔據的主記憶體空間可以不必完全連續三個管理策略載入策略-什麼時候把需要的部份從外部儲存體載入主記憶體分配策略 決定把載入的行程放置在主記憶體何處 淘汰策略 置換策略(當主記憶體空間已滿

22、或目前可用空間無法容納),52,0-5 虛擬記憶體管理(4),0-5-2 動態分頁管理(1)管理技巧主記憶體劃分若干區塊(block)將程式劃分為若干頁(page)發生“頁失誤中斷”,則置換入(swapping in)主記憶體空間不足,則置換出(swapping out)分頁表欄位,53,0-5 虛擬記憶體管理(5),0-5-2 動態分頁管理(2)頁失誤中斷程序,54,動態分頁管理,淘汰策略(演算法)先進先出(First In First Out,FIFO)最先進入記憶體的那一頁會被移出最佳替換希望被移出的分頁是最久不會再被參考的那一頁最近最少使用(Least Recently Used,LR

23、U)淘汰最進最少使用的分頁最近最不常使用(Least Frequently Used,LFU)將過去參考頻率最低的分頁置換出去,55,0-5 虛擬記憶體管理(7),0-5-3 動態分段管理分段表增加一個“分段長”,56,0-6 輸入/輸出管理(1),內容基本概念輸入/輸出時機字元與區塊裝置緩衝器管理I/O 存取介面Spooling 管理,57,0-6 輸入/輸出管理(2),0-6-1 基本概念,58,0-6 輸入/輸出管理(3),0-6-2 輸入/輸出時機(1)詢問(Polling)讓CPU週期性的詢問I/O裝置是否有資料進入,若有資料進入,CPU再讀取該週邊設備上的資料詢問間隔的長短?,59

24、,0-6 輸入/輸出管理(4),0-6-2 輸入/輸出時機(2-1)中斷處理的運作程序周邊設備需要服務時才提出請求,將可省去不必要的詢問透過I/O裝置送出一個中斷訊號給CPU,確認中斷需求後,會暫停目前正在執行的程式,並去執行事先已準備好中斷程式中斷服務完成後,CPU會回到原先被中斷的地方繼續執行未完成的程式,60,0-6 輸入/輸出管理(5),0-6-2 輸入/輸出時機(2-2)中斷處理的硬體連接,61,0-6 輸入/輸出管理(6),0-6-2 輸入/輸出時機(2-3)中斷處理的I/O 處理器功能,62,0-6 輸入/輸出管理(7),0-6-2 輸入/輸出時機(2-4)多重週邊設備的中斷,6

25、3,0-6 輸入/輸出管理(8),0-6-2 輸入/輸出時機(2-5)記憶體直接存取(DMA)周邊設備直接與記憶體之間做資料讀取或寫入DMA控制器利用CPU不使用匯流排的空閒時間,取得其控制權並做資料的輸入與輸出動作,稱為週期偷取(Cycle Stealing),64,0-6 輸入/輸出管理(9),0-6-3 字元與區塊裝置區塊輸入/輸出裝置串列或並列傳輸字元輸入/輸出裝置串列或並列傳輸,65,0-6 輸入/輸出管理(10),0-6-4 緩衝器管理輸入緩衝器輸出緩衝器,66,0-6 輸入/輸出管理(11),0-6-5 存取介面open(device_name)開取裝置read(device_n

26、ame,address,size)從裝置讀出資料write(device_name,address,size)寫入資料至裝置close(device_name)關閉裝置,67,0-6 輸入/輸出管理(12),0-6-6 Spooling 管理(線上同時周邊處理)無 spooling 管理的共享印表機,68,0-6 輸入/輸出管理(13),0-6-6 Spooling 管理(2)具有 spooling 管理的共享印表機,69,0-6 輸入/輸出管理(14),0-6-6 Spooling 管理(3)Spooling 系統的組成,70,0-7 檔案系統管理(1),內容檔案的屬性檔案的操作檔案的儲存,71,0-7 檔案系統管理(2),0-7-1 檔案的屬性檔案的型態紀錄檔案(Record file)文字串流檔案(Text stream file)檔案的屬性型態(type)大小(size)存取控制(access control)擁有者(owner)日期(date and time),72,0-7 檔案系統管理(3),0-7-2 檔案的操作操作工具有:建立檔案讀取檔案寫入檔案刪除檔案檔案屬性變更,73,0-7 檔案系統管理(4),0-7-3 檔案的儲存(1)磁區儲存結構,74,0-7 檔案系統管理(5),0-7-3 檔案的儲存(2)檔案目錄結構,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号