




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、韓都衣舍官網 http:/ 青島韓都衣舍打折優惠 http:/ 韓都衣舍怎么樣 http:/ 韓都衣舍官方旗艦店 http:/ 韓都衣舍韓國衣服之家 http:/ 1 深度解析深度解析計算機系統進程與操作(四)計算機系統進程與操作(四)進程概念進程概念進程調度進程調度進程操作進程操作進程協作進程協作進程間通信進程間通信客戶機服務器系統通信客戶機服務器系統通信2進程概念進程概念1、進程、進程通常稱執行中的程序為進程通常稱執行中的程序為進程進程包括:進程包括:程序代碼(文本段)程序代碼(文本段)當前活動(程序計數器的值處理器寄存器的內容表示)當前活動(程序計數器的值處理器寄存器的內容表示)堆棧段(
2、臨時數據)堆棧段(臨時數據)1) 數據段(全局變量)數據段(全局變量)3 程序與進程的區別與聯系程序與進程的區別與聯系0進程是程序的一次執行過程進程是程序的一次執行過程0程序是靜態的,進程是動態的程序是靜態的,進程是動態的0一個程序可對應一個進程,也可對應多個進程(只要一個程序可對應一個進程,也可對應多個進程(只要進程所對應的數據集不同)進程所對應的數據集不同)0一個進程運行時可以創建其它進程一個進程運行時可以創建其它進程 進程的特性進程的特性0并發性:多個進程實體在一段時間內同時運行并發性:多個進程實體在一段時間內同時運行0動態性:動態創建并消亡;進程狀態動態變化動態性:動態創建并消亡;進程
3、狀態動態變化0獨立性:是運行獨立性:是運行/ /獲得資源獲得資源/ /調度的獨立單位調度的獨立單位0交互性:進程間由于競爭資源而相互制約交互性:進程間由于競爭資源而相互制約0異步性:按各自獨立的、不可預知的速度前進異步性:按各自獨立的、不可預知的速度前進42、進程狀態、進程狀態新的新的終止終止就緒就緒運行運行等待等待允許允許中斷中斷退出退出調度算法分派調度算法分派I/O操作或事件完成操作或事件完成I/O操作或事件的等待操作或事件的等待5UNIX V的進程狀態的進程狀態就緒且交換就緒且交換內存不足內存不足交換進交換進交換出交換出睡眠且交換睡眠且交換交換進交換進交換出交換出喚醒喚醒僵死狀態僵死狀態
4、exit核心運行態核心運行態內存中睡眠內存中睡眠內存中就緒內存中就緒創建狀態創建狀態fork內存足夠內存足夠喚醒喚醒睡眠睡眠被調度被調度用戶運行態用戶運行態中斷返回中斷返回系統調用系統調用返回返回另另一一進進程程被搶占狀態被搶占狀態被搶占被搶占返回用戶態返回用戶態63、進程控制塊、進程控制塊PCB( process control block)包含與特定進程包含與特定進程相關的信息相關的信息0進程狀態進程狀態0程序計數器程序計數器0CPU寄存器寄存器0CPU調度信息調度信息0內存管理信息內存管理信息0記帳信息記帳信息0I/O狀態信息狀態信息7CPU在進程間的切換在進程間的切換8question
5、 一個多任務單處理機系統,其操作系統是一個多任務單處理機系統,其操作系統是UNIXUNIX,PCBPCB表的規模是表的規模是100100行,則任一時刻,最多可能有行,則任一時刻,最多可能有_個進程處于運行態,最多可能有個進程處于運行態,最多可能有_個進程處于就緒態,最多可能有個進程處于就緒態,最多可能有_ _個進程處于等待態。個進程處于等待態。1991009進程調度進程調度1、調度隊列、調度隊列進程進入系統時進程進入系統時作業隊列作業隊列駐留在內存中就緒的等待運行的進程駐留在內存中就緒的等待運行的進程就緒隊列就緒隊列進程調度的常用表示方法:隊列圖進程調度的常用表示方法:隊列圖就緒隊列就緒隊列C
6、PUI/OI/O隊列隊列I/O請求請求時間片用完時間片用完fork一個子進程一個子進程等待一個中斷等待一個中斷中斷發生中斷發生子進程執行子進程執行102、調度程序、調度程序調度程序(調度程序(scheduler)用于從各種調度隊列中選擇進用于從各種調度隊列中選擇進程,大致分為如下三類:程,大致分為如下三類:0長期調度程序(作業調度程序):從外存的緩沖池長期調度程序(作業調度程序):從外存的緩沖池中選擇進程,并將它們裝入內存以執行中選擇進程,并將它們裝入內存以執行0短期調度程序(短期調度程序(CPU調度程序):從就緒可執行的調度程序):從就緒可執行的進程中選擇進程,并為其中之一分配進程中選擇進程
7、,并為其中之一分配CPU0中期調度程序:將進程換出內存(換出的進程之后中期調度程序:將進程換出內存(換出的進程之后會被換入)會被換入)短期調度程序較長期調度程序執行頻繁短期調度程序較長期調度程序執行頻繁1) 有些系統,長期調度程序可能沒有或很小有些系統,長期調度程序可能沒有或很小11 內存后備作業隊列后備作業隊列輸入井輸入井輸出井輸出井磁盤交換區交換區作業輸入作業輸入作業調度作業調度被選中,被選中,進入內存進入內存運行運行就緒就緒等待等待進程調度進程調度被選中,被選中,占用占用CPU作業撤消作業撤消中期交換調度中期交換調度換出換入減輕內存競爭減輕內存競爭123、上下文切換、上下文切換 定義:將
8、定義:將CPU切換到另一個進程時,需要保存原來進程切換到另一個進程時,需要保存原來進程的狀態并裝入新進程的保存狀態,這一任務稱為上下文切的狀態并裝入新進程的保存狀態,這一任務稱為上下文切換(換(context switch) 進程關聯:由進程的進程關聯:由進程的PCB表示,包括表示,包括CPU寄存器的值、寄存器的值、進程狀態和內存管理信息等進程狀態和內存管理信息等 上下文切換時間:額外開銷,且與硬件支持密切相關上下文切換時間:額外開銷,且與硬件支持密切相關134.3 進程操作進程操作1、進程創建、進程創建父進程、子進程、進程樹父進程、子進程、進程樹子進程資源獲得途徑(系統、父進程)子進程資源獲
9、得途徑(系統、父進程)子進程所需的初始化數據(或輸入)由父進程提供子進程所需的初始化數據(或輸入)由父進程提供當進程創建新進程時,有兩種執行可能當進程創建新進程時,有兩種執行可能0父進程與子進程并發執行父進程與子進程并發執行0父進程等待,直到某個或全部子進程執行完畢父進程等待,直到某個或全部子進程執行完畢新進程的地址空間有兩種可能新進程的地址空間有兩種可能0子進程是父進程的復制品子進程是父進程的復制品1) 子進程裝入另一個程序進來子進程裝入另一個程序進來142、進程終止、進程終止進程終止的時機進程終止的時機0當進程完成執行最后的語句并使用系統調用當進程完成執行最后的語句并使用系統調用exit請
10、求請求操作系統刪除時操作系統刪除時0父進程通過適當的系統調用(如父進程通過適當的系統調用(如abort)可以終止子可以終止子進程進程父進程終止其子進程的原因父進程終止其子進程的原因0子進程使用了超過它所分配到的一些資源子進程使用了超過它所分配到的一些資源0分配給子進程的任務已不再需要分配給子進程的任務已不再需要1) 父進程退出(此時需要終止所有子進程級聯終止)父進程退出(此時需要終止所有子進程級聯終止)15進程協作進程協作 獨立進程:不能影響或被在系統內執行的其他進程所影響獨立進程:不能影響或被在系統內執行的其他進程所影響,即不與其他任何進程共享數據(臨時或永久),即不與其他任何進程共享數據(
11、臨時或永久) 協作進程:能影響或被在系統內執行的其他進程所影響,協作進程:能影響或被在系統內執行的其他進程所影響,即與其他進程共享數據即與其他進程共享數據 協作進程的通用范例:生產者消費者問題協作進程的通用范例:生產者消費者問題bufferproducerconsumer16進程間通信進程間通信(interprocess communication,IPC) IPC機制機制0信號(信號(signal)通信通信0共享存儲區(共享存儲區(shared memory)通信通信0共享文件或管道(共享文件或管道(shared file or pipe)0消息傳遞(消息傳遞(message passing
12、)171、消息傳遞系統、消息傳遞系統 功能:允許進程互相通信而不需要利用共享數據功能:允許進程互相通信而不需要利用共享數據 提供的操作:發送消息,接收消息提供的操作:發送消息,接收消息 通信線路(通信線路(communication link)的邏輯實現及發送的邏輯實現及發送/接接收方法收方法0 直接或間接通信直接或間接通信0 對稱或非對稱通信對稱或非對稱通信0 自動或顯式緩沖自動或顯式緩沖0 復制發送或引用發送復制發送或引用發送1)固定大小或可變大小消息固定大小或可變大小消息182、命名、命名 直接通信直接通信通信的進程必須明確的命名通信的接收者或發送者對稱尋址通信的進程必須明確的命名通信的
13、接收者或發送者對稱尋址q Send(P,message)q Receive(Q,message)發送者命名接受者,而接收者不需要命名發送者非對稱尋址發送者命名接受者,而接收者不需要命名發送者非對稱尋址q Send(P,message)q Receive(id,message)缺點:限制了結果進程定義的模塊化缺點:限制了結果進程定義的模塊化通信線路的屬性通信線路的屬性0在需要通信的一對進程之間,自動建立線路在需要通信的一對進程之間,自動建立線路0一個線路只與兩個進程相關一個線路只與兩個進程相關0每對進程之間只有一個線路每對進程之間只有一個線路19 間接通信間接通信通過郵箱或端口來發送和接收通過郵
14、箱或端口來發送和接收q Send(A,message)q Receive(A,message)通信線路的屬性通信線路的屬性0只要一對進程中的兩個成員共享一個郵箱,就建立了只要一對進程中的兩個成員共享一個郵箱,就建立了他們之間的通信線路他們之間的通信線路0一個線路可以與兩個或更多的進程相關聯一個線路可以與兩個或更多的進程相關聯0兩個通信進程之間可有多個不同的線路,每個線路對兩個通信進程之間可有多個不同的線路,每個線路對應于一個郵箱應于一個郵箱20 問題:進程問題:進程P1、P2和和P3共享郵箱共享郵箱A,進程進程P1發送一個消息到發送一個消息到A,進程進程P2和和P3都對都對A執行執行recei
15、ve。哪個進程能收到哪個進程能收到P1所發送的消息?結果所發送的消息?結果取決于所選擇的方案:取決于所選擇的方案:q 允許一個線路最多只能與兩個進程相關聯允許一個線路最多只能與兩個進程相關聯q 允許一次最多一個進程執行允許一次最多一個進程執行receive操作操作q 允許系統隨意選擇一個進程以接收消息(或而非都)允許系統隨意選擇一個進程以接收消息(或而非都)郵箱的擁有者郵箱的擁有者q 進程(區分擁有者和使用者)進程(區分擁有者和使用者)q 操作系統(創建、刪除郵箱和通過郵箱發送和接收消息)操作系統(創建、刪除郵箱和通過郵箱發送和接收消息)213、同步、同步 同步(阻塞),異步(非阻塞)同步(阻
16、塞),異步(非阻塞)q阻塞阻塞send:發送進程阻塞,直到消息為接收進程或郵發送進程阻塞,直到消息為接收進程或郵箱所接收箱所接收q非阻塞非阻塞send:發送進程發送消息并可再繼續操作發送進程發送消息并可再繼續操作q阻塞阻塞receive:接收進程阻塞,直到有消息可用接收進程阻塞,直到有消息可用q非阻塞非阻塞receive:接收進程收到一個有效消息或無效消接收進程收到一個有效消息或無效消息息 集合點(集合點(rendezvous):):send和和receive都阻塞,在發都阻塞,在發送者和接收者之間就有一個送者和接收者之間就有一個224、緩沖、緩沖 緩沖即通信進程所交換信息駐留的臨時隊列緩沖即
17、通信進程所交換信息駐留的臨時隊列q零容量無緩沖零容量無緩沖q有限容量有限容量q無限容量無限容量 自動緩沖自動緩沖23客戶機服務器系統通信客戶機服務器系統通信 一個用戶需要訪問位于某個服務器上的數據一個用戶需要訪問位于某個服務器上的數據 遠程服務器進行相關處理,計算所需結果,將數據傳送給遠程服務器進行相關處理,計算所需結果,將數據傳送給用戶用戶241、套接字(、套接字(socket)套接字是通信的端點,一對通過網絡通信的進程需要使用一對套接套接字是通信的端點,一對通過網絡通信的進程需要使用一對套接字,即每個進程一個。字,即每個進程一個。套接字由套接字由IP地址和端口號組成。地址和端口號組成。例如
18、例如0:1625是指主機是指主機0上的端口上的端口162525服務器服務器建立套接字建立套接字監聽端口監聽端口和客戶機通信和客戶機通信客戶機客戶機建立套接字建立套接字連接至端口連接至端口和服務器通信和服務器通信Java: ServerSocket(port)C: socket(), bind()Java: accept()C: listen(), accept()Java: getOutputStream() getInputStream()C: recv(), send()Java: Socket(IP,port)C: socket()Java: So
19、cket(IP,port)C: connect()26套接字通信的優缺點套接字通信的優缺點 優點優點0普遍普遍0高效高效 缺點缺點0只允許在通信線程之間交換無結構的字節流,屬于較只允許在通信線程之間交換無結構的字節流,屬于較為低層形式的分布式進程通信為低層形式的分布式進程通信高層的通信方法高層的通信方法 遠程過程調用遠程過程調用(remote process communication,RPC) 遠程方法調用遠程方法調用(remote method invocation,RMI)27客戶機客戶機客戶進程客戶進程客戶機存根客戶機存根服務器服務器服務器存根服務器存根服務器進程服務器進程內內 核核內
20、內 核核RPC調用調用利用參數構成消利用參數構成消息息, 轉換成轉換成XDR格式,調用格式,調用send讓內核發送消息,讓內核發送消息,然后調用然后調用receive阻塞自己阻塞自己1利用利用Receive接接收消息收消息, 將將XDR格式轉換成服務格式轉換成服務器內格式,取出器內格式,取出消息中的參數消息中的參數38消息到,被喚醒。消息到,被喚醒。將將XDR格式轉換格式轉換成客戶機內格式,成客戶機內格式,取出結果取出結果9返回結果返回結果執行相應服執行相應服務程序務程序4根據參數調用根據參數調用相應服務相應服務Call6將結果形成響將結果形成響應消息應消息, 轉換成轉換成XDR格式,用格式,用send發送發送5返回執行返回執行結果結果2發送消息給服務器發送消息給服務器接收消息并轉交服務器存根接收消息并轉交服務器存根接收消息并轉交客戶機存根接收消息并轉交客戶機存根發送消息給客戶機發送消息給客戶機2、遠程過程調用、遠程過程調用28相關問題相關問題 存根(存根(stub)0RPC系統通過在客戶端提供存根來隱藏必要細節,使系統通過在客戶端提供存根來隱藏必要細節,使得客戶機調用位于遠程主機上的過程,如同調用本地得客戶機調用位于遠程主機上的過程,如同調用本地過程一樣過程一樣 外部數據表示(外部數據表示(XDR)0RPC系統定義數據的機器無關表示,即系統定義數據的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 非遺背景下河南通許女紅類方言詞匯調查研究
- 宮頸癌的主要護理診斷
- S71200通信與故障診斷
- 小班心理健康:高興的時候
- 露營設計方案規劃與實施
- 幼兒園生活常規教育課件
- 農村健康科普超聲
- 頸椎肩周中醫課件
- 頸椎與腦部健康課件圖片
- 物業安保消防培訓
- 榆林市榆陽區郝家梁煤礦礦山地質環境保護與土地復墾方案
- 種衣劑專題知識講座
- GB/T 4153-2008混合稀土金屬
- GB/T 12008.2-2010塑料聚醚多元醇第2部分:規格
- 《一粒種子》課件
- 弘揚錢學森精神PPT忠誠擔當踐行科學報國之志PPT課件(帶內容)
- 上半年我國經濟形勢分析與公司應對策略
- 小學語文人教五年級下冊(統編)第六單元-15、自相矛盾學歷案
- 中國教育學會會員申請表
- 黃大年式教師團隊申報
- 新冀人版小學科學三年級下冊全冊教案(2022年春修訂)
評論
0/150
提交評論