協作程序


協作程序是指可以影響或被系統上執行的其他程序影響的程序。協作程序可以彼此共享資料。

需要協作程序的原因

需要協作程序可能有很多原因。其中一些如下所示:

  • 模組化

    模組化涉及將複雜的任務分解成較小的子任務。這些子任務可以由不同的協作程序完成。這導致更快、更有效地完成所需的任務。

  • 資訊共享

    多個程序之間可以利用協作程序共享資訊。這可能包括訪問相同的檔案。需要一種機制,以便程序可以彼此並行訪問檔案。

  • 便利性

    使用者需要執行許多工,例如編譯、列印、編輯等。如果這些任務可以由協作程序管理,則會很方便。

  • 計算加速

    單個任務的子任務可以使用協作程序並行執行。這會提高計算速度,因為任務可以更快地執行。但是,這隻有在系統具有多個處理單元時才有可能。

合作方法

協作程序可以使用共享資料或訊息相互協調。這些內容的詳細資訊如下:

  • 透過共享進行合作

    協作程序可以使用共享資料(例如記憶體、變數、檔案、資料庫等)相互協作。臨界區用於提供資料完整性,寫入是互斥的,以防止資料不一致。

    演示透過共享進行合作的圖表如下:

    Cooperating Processes

    在上圖中,程序 P1 和 P2 可以使用共享資料(例如記憶體、變數、檔案、資料庫等)相互協作。

  • 透過通訊進行合作

    協作程序可以使用訊息相互協作。如果每個程序都在等待來自另一個程序的訊息以執行操作,則這可能導致死鎖。如果一個程序永遠不會收到訊息,也可能發生飢餓。

    演示透過通訊進行合作的圖表如下:

    Cooperating communication in Processes

在上圖中,程序 P1 和 P2 可以使用訊息相互通訊以進行協作。

更新於:2020年6月24日

8K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.