電腦詞典/進程間通信 Interprocess Communication

出自 Tw.18dao.net
前往: 導覽搜尋

內容目錄: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


【名稱】:進程間通信 Interprocess Communication

【解釋】:  Interprocess Communication 進程間通信(IPC) 進程間通信(IPC)是運行在多任務操作系統中或聯網計算機上的程式和進程使用的一組技術。IPC分為兩種類型:

       口本地過程調用(LPC)LPC在多任務操作系統中使用,它們允許併發運行的任務能彼此對話。LPC能共享內存空間、同步任務並相互發送消息。

       遠程過程調用(RPC) RPC類似於LPC,但卻工作在網路上。RPC首先出現在運行UNIX操作系統的SUN微系統公司和HP公司的計算機上。

       程式使用IPC的一個好處是,能有效地利用其它程式或計算機的過程。客戶機/服務器模式就利用了RPC。客戶在他自己的機器上執行部分任務,但還要依賴服務器提供的後端檔案服務。RPC為客戶提供通信機制,以使服務請求發送到後端服務器。如果把一個客戶機/服務器應用程式想像成為一個被分拆在前端和後端系統之間的程式,則RPC 就能被看作是在網路上重新集成它們的部件,RPC有時稱作耦合(coupling)機制。

       UNIX中正常的進程間通信機制是管道(pipe),而套節字(socket)是工作在多個網路上的進程間通信的機制。80年代初,當TCP/IP協議棧被集成到BerkeleyUNIX中時,它就成為UNIX的一部分。這項工程是由DARPA投資的,若想詳細瞭解請參看“傳輸控制協議/Internet協議”討論。

       在OS/2保護模式中,程式運行在屬於它自己的一片內存保護區,或能在諸如IBM LAN Server或Microsoft LAN Manager一樣的網路上通訊。保護模式禁止一個程式破壞其它程式所用的內存區。如果程式需要相互通信或共享內存區,則可使用這裏描述的IPC特性。

       共享內存(shared memory) 借助使用共享內存,進程能改變內存中其他進程也能讀的值。這個內存空間變成一種公告牌,在公告牌中進程能公告狀態信息和需要在進程間共享或傳遞的數據。共享內存總是一片指定區域,這個區域通常是在存放正常程式數據區域的外面。

       隊列(Queues) 一個IPC隊列是一個結構化的排序內存段表,這個隊列就是進程存放或檢索數據的地方。隊列的順序可有多種,包括先進先出(FIFU)和後進先出(LIFO)。

       信號標(Semaphores)信號標為那些訪問相同資源的進程提供一個同步機制。注意信號標不是用於傳輸數據,它只是簡單地協調對共享資源的訪問。信號標可以包含一個增加或減小的值,用以指出什麼資源正被訪問和訪問的次數。

       口管道(Pipes) 一個管道通過交換消息為進程間通訊提供了一種途徑。而命名管道(named pipes)為運行在不同計算機系統上的多個進程提供了一種在網路上通信的方法。郵槽(Mai1 slots)是一個存儲轉發消息傳遞系統,它不需要站點之間相互同步。命名管道和郵槽是OS/2的擴展,僅僅用在IBM LAN Server和Microsoft LAN Manager環境中。

       相關條目:Application Program Interface應用程式編程接口;Remote Procedure Calls遠程過程調用。

【序號】:403

關于“電腦詞典/進程間通信 Interprocess Communication”的用戶留言:

目前暫無留言

新增相關留言✍