首頁>Club>
14
回覆列表
  • 1 # thrfr2643

    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、透過訊息傳遞來實現:多個程式可以使用訊息佇列或者非作業系統管理的通道來進行相互交流,通常用於構建併發模型。

  • 中秋節和大豐收的關聯?
  • 不吹不黑,勒布朗詹姆斯哪項技能退化最嚴重?