搜尋此網誌

2011年11月9日 星期三

行程、(Thread)執行緒、與資訊的共享


  1. 第一個方塊中,兩個行程正在分享使用檔案系統中的某個檔案資訊。要存取此資料,每個行程必須透過Kernel(For example: read、write、lseek...etc)。在更新檔案時,必須有某形式的同步機制,一方面防止多個寫入者彼此干擾,另一方面則保護讀取者不會被寫入者干擾。
  2. 第二個方塊,是兩個行程正在分享存在Kernel中的一些資訊(For example: Pipe、System V Queue、Sytem V Semaphore...etc)。存取這些共享資訊必須透過Kernel的系統呼叫(System Call)。
  3. 最後一個方塊中,有兩個行程擁有雙方都能存取的一塊共享記憶體區域。一但雙方的行程都設定好共享記憶體後,它們就能存取此區域的資料,而完全不需要Kernel的參與。共享記憶體的行程之間需要某種形式的同步。

沒有留言:

張貼留言