程序通訊
程序間相互傳遞資訊的過程
低階通訊
效率低,通訊對使用者不透明。
高階通訊
適用於大批量資料傳達
(不是為了控制速度,為了在程序間傳輸大批量資料)
訊息通訊機制
程序間的資料交換以格式化的資訊為單位,在計算機網路中,又把這種訊息叫做報文。(利用一組通訊原語,實現大量資料的傳遞,通訊對使用者透明。)
實現原理
訊息通訊機構管理一組空閒緩衝區的訊息。
程序a向程序b傳送訊息的時候,申請乙個緩衝區,填入有關資料後,傳送訊號給b程序。
程序b讀取資料並釋放訊息緩衝區。
通訊過程:
傳送程序→開闢乙個傳送緩衝區 →填入訊息及控制資訊→ 呼叫傳送訊息系統,spn-pir指標指向緩衝區首位址。
接收程序 →開闢乙個接收緩衝區 → 呼叫接收訊息
系統。
訊息一般形式有傳送程序名,接收程序名,資料,有關資料的操作。
實現訊息通訊的兩種方法:
直接通訊:
程序間直接傳送訊息,一方傳送,一方接收,沒有中間環節。兩個原語實現:send(receiver,message); receive(sender,message);
管道通訊
用乙個共享檔案方式連線乙個讀程序和寫程序,以實現他們之間通訊。
先進先出,乙個程序不能同時讀寫,寫滿則傳送程序阻塞,讀空則接收程序阻塞。
郵箱通訊
間接通訊方式,可滿足實時與非實時通訊。
傳送程序申請乙個與接收程序連線的郵箱,實現收,發進城之間的資訊交換。郵箱相當於計算機網路中的資料報。
特點:
郵箱為空的時候才能發,有資料的時候才能接收。
收發程序之間至少存在乙個郵箱。
類別:
私用信箱:有程序建立,為該程序的一部分,程序結束,郵箱消失。可採用單向通訊鏈路的信箱來實現。
公用信箱:它由作業系統建立,為系統中所有的核准程序使用。雙向通訊。
共享信箱
一對一,多對一,一對多,多對多。
通訊鏈路——為使在發、收程序之間通訊,必須在兩者之間建立一條通訊鏈路。(程序自主建立;系統自動建立)
程序管理4 程序替換
一 fork函式建立子程序後,子程序往往要呼叫一種exec函式以執行了另乙個程式。當程式呼叫一種exec函式時,該程序執行的程式完全替換為新程式,而新程式則從其main函式開始執行。因為exec並不建立新程序,所以前後的程序id並未改變,只是用乙個全新的程式替換了當前程式的正文 資料 堆和棧段。in...
linux管理和程序(4)
selinux 由美國 局開發的,security enhanced linux的縮寫。傳統的檔案許可權與賬號關係 自主訪問控制 dac,就是一句程序的所有者與檔案資源的rwx許可權來決定有無訪問能力 這種dac的缺點 root具有最高許可權,可以在系統上進行任何資源的訪問 使用者可取得程序來更改檔...
第4章 程序管理
第四章 程序管理 入門學習 什麼是程序?程序的生命週期?程序的狀態?程序 乙個程式執行起來就是程式 生命週期 這個程式從啟動到結束的時間 程序的狀態 程序狀態有,正在執行,暫停執行,殭屍 卡機了 這個圖大家都很熟悉吧 沒錯就是我們電腦上的 任務管理器 可以在這裡面 看到我們所開啟的程式 和系統程式 ...