IPC(Inter-Process?Communication,進程間通信),進程間通信是指兩個進程的數據之間產生交互。
IPC ( Instruction Per Clock, 即 CPU 每壹時鐘周期內所執行的指令多少) IPC代表了壹款處理器的設計架構,壹旦該處理器設計完成之後,IPC值就不會再改變了。在這裏,IPC值的高低起到了決定性的作用,而頻率似乎不再高於壹切。
IPC是壹組編程接口,讓程序員能夠協調不同的進程,使之能在壹個操作系統裏同時運行,並相互傳遞、交換信息。這使得壹個程序能夠在同壹時間裏處理許多用戶的要求。因為即使只有壹個用戶發出要求,也可能導致壹個操作系統中多個進程的運行,進程之間必須互相通話。
實現IPC的方式
1、通過套接字實現:壹個進程通過向套接字發送數據流,基於網絡接口,向同壹電腦上的不同進程或者另壹個電腦上的進程傳遞面向字節的數據。因為套接字通常不會保護消息範圍,如果需要確定進程的傳遞數據的受眾範圍,需要對數據格式作出協商,即不同進程協商數據傳遞格式。
2、通過Unix本地套接字實現:和網絡套接字類似,但是所有的通信發生在同壹內核中。本地套接字使用文件系統作為通信的地址空間。進程們通過引用本地套接字作為inode,多個進程可以同壹個套接字交流。