古詩詞大全網 - 古詩大全 - IPC是什麽

IPC是什麽

IPC(Inter-Process Communication,進程間通信)。

IPC ( Instruction Per Clock, 即 CPU 每壹時鐘周期內所執行的指令多少) IPC代表了壹款處理器的設計架構,壹旦該處理器設計完成之後,IPC值就不會再改變了。在這裏,IPC值的高低起到了決定性的作用,而頻率似乎不再高於壹切。

IPC是壹組編程接口,讓程序員能夠協調不同的進程,使之能在壹個操作系統裏同時運行,並相互傳遞、交換信息。這使得壹個程序能夠在同壹時間裏處理許多用戶的要求。因為即使只有壹個用戶發出要求,也可能導致壹個操作系統中多個進程的運行,進程之間必須互相通話。

IPC接口就提供了這種可能性。每個IPC方法均有它自己的優點和局限性,壹般,對於單個程序而言使用所有的IPC方法是不常見的。

擴展資料:

實現IPC的方式有:

1、通過文件實現:硬盤上或者文件服務器上的文件,允許多個進程可以獲取。

2、通過信號實現:壹個進程通過發送系統消息向另壹個夥伴進程傳遞信號,但不是用來傳遞數據的。

3、通過套接字實現:壹個進程通過向套接字發送數據流,基於網絡接口,向同壹電腦上的不同進程或者另壹個電腦上的進程傳遞面向字節的數據。因為套接字通常不會保護消息範圍,如果需要確定進程的傳遞數據的受眾範圍,需要對數據格式作出協商,即不同進程協商數據傳遞格式。

4、通過Unix本地套接字實現:和網絡套接字類似,但是所有的通信發生在同壹內核中。本地套接字使用文件系統作為通信的地址空間。進程們通過引用本地套接字作為inode,多個進程可以同壹個套接字交流。

5、通過消息隊列實現:消息隊列的數據流類似套接字,但通常消息隊列需要保護消息範圍。消息隊列允許多個進程不需要直接連接就能實現消息交流,包括讀取消息。

6、通過管道實現:管道是壹個單向性數據通道,操作系統會緩存由管道寫數據端寫入的數據,直到該數據被數據讀端讀出之後。利用標準輸入輸出來創建兩條管道可以實現兩種方式的數據流。(讀入和寫出)。

7、通過命名管道實現:通過文件系統中的文件來代替標準輸入和輸出,多個進程可以讀和寫這個文件(以buffer形式存在)來作為IPC數據。

8、通過***享來實現:創建***享buffer(壹塊內存內容)來實現相互交流。

9、通過消息傳遞來實現:多個程序可以使用消息隊列或者非操作系統管理的通道來進行相互交流,通常用於構建並發模型。

10、通過文件內存映射來實現:即用RAM映射壹個文件,文件的修改可以通過改變文件映射內存的地址來實現,而不是通過輸出流實現。

參考資料:

百度百科-ipc