905作业系统.ppt

上传人:sccc 文档编号:5679785 上传时间:2023-08-09 格式:PPT 页数:50 大小:1.05MB
返回 下载 相关 举报
905作业系统.ppt_第1页
第1页 / 共50页
905作业系统.ppt_第2页
第2页 / 共50页
905作业系统.ppt_第3页
第3页 / 共50页
905作业系统.ppt_第4页
第4页 / 共50页
905作业系统.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

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

1、作業系統,第四章 行程與執行緒,教學目標,行程的概念行程的操作 執行緒 行程間的通訊(IPC),行程的概念,行程 v.s.程式行程的狀態行程控制表本文切換(Context Switch),行程 v.s.程式,程式(program)被動的觀念一堆程式碼,定義要執行的任務行程(process)主動的觀念主動執行被賦予的任務執行的基本單位,行程的狀態,剛產生(new)作業系統正在產生這個行程,包括從硬碟將程式碼載入到記憶體中,和配置使該行程能夠執行所需要的系統資源等 執行中(running)該行程正在使用CPU做某些運算中 等待(waiting)該行程正等待某件事情的發生而暫停執行,例如:等待某次I

2、/O運算的完成或等待其他行程送訊號過來等就緒(ready)該行程目前只有在等待使用CPU的機會,而CPU正被其他的行程使用中 結束(terminated)該行程目前已經完成了任務,並且結束了執行,行程狀態之間的轉移,行程控制表(PCB),目的方便管理各個行程每一個行程會有一個相對應的行程控制表依據各平台,記錄該行程的相關資訊行程狀態CPU排班CPU暫存器狀態記憶體管理輸入輸出,Linux的行程控制表範例,本文切換(Context Switch),目的多工、增加CPU的使用效率方法先釋放出CPU使用權的行程,儲存其執行時的狀態,包括CPU內暫存器的內含值,以及所屬記憶體的內容等將整個系統的狀態,

3、回復成下個要執行的行程被系統儲存下來的狀態,行程的觀點與CPU的觀點,本文切換的範例,PC:程式計數器,記錄執行到程式的哪一行SP:堆疊指標,記錄行程相關資料的所在位址,本文切換的問題,缺點整體系統的額外負擔解決策略調整本文切換的頻率另外增加硬體(e.g.多CPU暫存器組、多CPU)使用執行緒(thread),行程的操作,行程的產生行程的結束,行程的產生,配置新行程在執行時所需的系統資源PCB、記憶體、檔案、輸入輸出裝置、.行程樹通常除了系統的第一個行程外,其餘的所有行程都是由該行程產生被產生的行程也可以產生另外的新行程產生的行程為父行程,被產生的為子行程產生的方式-系統呼叫 POSIX AP

4、I的fork(),Unix/LinuxWin32 API的CreateProcess(),Windows,行程樹示意圖,行程的產生與替換之範例,行程的結束,釋放該行程擁有的系統資源 時機該行程的父行程呼叫行程結束的系統呼叫,以結束該行程的執行該行程已經執行完畢分類串接式結束非串接式結束,執行緒(thread),概念層級與對應模式,執行緒的概念,Why?行程的產生、結束和本文切換的負擔大What?執行的基本單位輕量型行程同個行程內的所有執行緒,共用相同的位址空間(程式碼、資料、.),行程 v.s.執行緒,執行緒的優點(相較於行程),加快反應速度資源分享經濟性本文切換(1/5 in Solaris

5、)產生與結束執行緒(1/3 in Solaris),執行緒的層級,核心層級完全由作業系統操作、管理在執行(running)狀態下,表示正佔據CPU時間所有此層級的執行緒,可看成屬於同一行程(核心)使用者層級屬於某個使用者模式的行程若全由使用者模式執行緒函式庫來管理在執行(running)狀態下,不見得一定正佔據CPU時間具有較高的可攜性(e.g.POSIX PThreads)依實作方式不同,和核心層級執行緒有不同的對應方式:,兩個層級間執行緒的對應,1:1對應模式N:1對應模式M:N對應模式,1:1對應模式,1:1對應模式的優缺點,優點每增加一個使用者層級的執行緒,就可以有多一個搶到的CPU執

6、行機會,執行緒的並行性(concurrency)比較好當一個執行緒呼叫系統呼叫而被卡住時(如等待I/O),其他執行緒還有執行機會,而且只透過一層的核心層級排班,執行效率比較高缺點比較耗核心層級的資源,產生過多的核心層級執行緒,會降低整個系統的執行效率多數支援這種模式的作業系統會限制執行緒的總數範例Windows系列的CreateThread(),N:1對應模式,N:1對應模式的優缺點,優點減少核心的負擔方便移植到各個平台的作業系統缺點同個行程內的任何一個執行緒,只要呼叫系統呼叫而被暫停(如等待I/O),則整個行程內的所有執行緒就都必須一起等待,沒有另外取得CPU執行權的機會範例Solaris的

7、Green threadsGNU的POSIX PThreads,M:N對應模式,M:N對應模式的優缺點,優點具有較大的彈性可以避免前兩種對應模式的缺點,例如,某一使用者層級執行緒被卡住時,可以安排別的核心層級執行緒處理同一行程中的其他執行緒,避免同個行程中的所有執行緒都要跟著暫停執行缺點需要比較複雜的使用者層級排班,跟1:1對應模式比起來執行效率就比較差一點範例Solaris有支援過M:N對應模式,但是在Solaris 9之後就改成1:1對應模式,Java執行緒,Java程式是架構在Java虛擬機器(JVM)之上,而JVM則架構在既有的作業系統之上JVM的實作方式並沒有強制性的規範,只需要提供

8、上層Java程式執行介面的一致性就好了在Windows XP採用1:1對應模式,每個Java執行緒對應到一個核心執行緒Solaris剛開始是以N:1對應模式實作JVM,後來又有M:N對應模式的實作出現,而在Solaris 9之後又改成1:1對應模式使用底層作業系統提供的API例如,在Windows下就是使用Win32 API,行程間的通訊,並行行程的分類共用記憶體模式訊息傳遞模式訊息傳遞的行為分類訊息傳遞的實作方式,並行行程的分類,互相獨立執行過程中不會受其他行程的影響,而各自完成自己的任務有合作關係透過共用資源(如資料結構、訊號機制等)的使用,來互相溝通合作以共同完成某些任務但是它們的執行結

9、果常常會因為存取共用資源而彼此受到影響,行程間互相合作的好處,資訊分享提升運算效能模組化便利性,如何達到行程間互相合作的目的?,行程間的通訊(IPC)共用記憶體模式訊息傳遞模式,共用記憶體模式,潛在問題!,A和B兩行程同時用一台印表機做列印?結果可能是A印一行,接著B印一行,交錯而成解決方法同步機制(synchronization mechanism),訊息傳遞模式,本機中的行程訊息傳遞,不同機器上的行程訊息傳遞,基本指令模式,send(訊息)to(目的地)receive(訊息)from(來源),訊息傳遞模式的行為分類,單向與雙向直接與間接暫停式與非暫停式有緩衝區與無緩衝區可靠與不可靠對應模式

10、,直接與間接,會晤現象,等待確認通知(1/2),等待確認通知(2/2),對應模式,一對一,一對多,多對多,訊息傳遞的實作方式,信號(Signal)機制例如:kill(行程代碼,信號種類)虛擬溝通管道例如:管線(pipe)、信箱(mailbox)、訊息佇列(message queue)和承接口(socket)等 輸入輸出裝置例如:檔案系統,信號之使用範例,虛擬溝通管道,訊息佇列之使用範例,檔案系統之使用範例,小結,行程是作業系統內所有動作的核心,其基本狀態包括剛產生、就緒、執行中、等待以及結束等作業系統必須提供一些機制,用來動態產生一個新的行程和將它結束掉執行緒也是基本的執行單位,用來減少作業系統內的行程個數,以及增加整體系統的執行效率行程間要互相合作必須靠行程間通訊(IPC)的機制,包括共用記憶體和訊息傳遞兩種模式,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号