IPC 中 LPC、RPC 的區別和聯系

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

進程間通信(IPC,Inter-Process Communication),指至少兩個進程或線程間傳送數據或信號的一些技術或方法。

進程是計算機系統分配資源的最小單位。每個進程都有自己的一部分獨立的系統資源,彼此是隔離的。

為了能使不同的進程互相訪問資源并進行協調工作,才有了進程間通信。

這些進程可以運行在同一計算機上或網絡連接的不同計算機上。?

進程間通信技術包括消息傳遞、同步、共享內存和遠程過程調用。 IPC是一種標準的Unix通信機制。

?

有兩種類型的進程間通信(IPC)

  本地過程調用(LPC)LPC用在多任務操作系統中,使得同時運行的任務能互相會話。這些任務共享內存空間使任務同步和互相發送信息。

  遠程過程調用(RPC)RPC類似于LPC,只是在網上工作。RPC開始是出現在Sun微系統公司和HP公司的運行UNIX操作系統的計算機中。

  通過IPC和RPC,程序能利用其它程序或計算機處理的進程。客戶機/服務器模式計算把遠程過 程調用與其它技術如消息傳遞一道,作為系統間通信的一種機制。客戶機執行自己的任務,但靠服務器提供后端文件服務。RPC為客戶機提供向后端服務器申請服 務的通信機制,如圖R-4所示。如果你把客戶機/服務器應用程序想作是一個分離的程序,服務器能運行數據訪問部分,因為它離數據最近,客戶機能運行數據表 示和與用戶交互的前端部分。這樣,遠程過程調用可看作是把分割的程序通過網絡重組的部件。LPC有時也稱耦合(Coupling)機制。

  用這種方式分割程序,當用戶要訪問數據時就無需每次拷貝整個數據庫或它的大部分程序到用戶系統。其實,服務器只處理請求,甚至只執行一些數據計算,把得出的結果再發送給用戶。因為當數據存放在一個地方時,數據庫同步很容易實現,所以多個用戶可同時訪問相同的數據。

?

----------------------------------------------? 我 是 分 隔 線? ------------------------------------------------------

?

進程間通信(IPC):是在多任務操作系統或聯網的計算機之間運行的程序和進程所用的通信技術。

有兩種類型的進程間通信(IPC)。

?

1 本地過程調用(LPC):

LPC用在多任務操作系統中,使得同時運行的任務能互相會話。這些任務共享內存空間使任務同步和互相發送信息。

2 遠程過程調用(RPC):

RPC類似于LPC,只是在網上工作RPC開始是出現在Sun微系統公司和HP公司的運行UNIX操作系統的計算機中。

?

分布式計算環境是由一個通信系統——網絡連接的計算機集群。很容易把這個網絡看成一個計算平臺,若是對等方式,其中任何一臺計算機都能成為客戶機或服務器。一些處理任務可被分成獨立運行程序在不同的網絡計算機上并行處理,而獨立的程序被交給最適合這個任務的計算機處理。這種策略可利用計算機空閑資源,提高網絡的效益。一個典型的企業網包括許多運行著不同操作系統的異構計算機系統。

?

?

?

遠程過程調用中間件技術

?

隨著企業網的產生,開發商必須編制可在各種計算機和網絡通信協議中都能運行的程序。現在人們正努力使得遠程過程調用獨立,這意味著開發商就不用考慮底層的網絡和網絡上數據傳輸所用的協議,下面介紹RPC在開放式軟件基金(OSF)的分布式計算環境(DCC)中實現的相關方法。

RPC工作于多種分布式計算環境。

?

Open Software Foundation(OSF)RPC 開放軟件基金會(OSF)的RPC

?

RPC工具提供了一種編程語言和編譯器,它們使用可看作是本地過程的可運行于客戶機和服務器上的模塊開發分布式應用程序。運行時設施(run-timefacility)使得分布式應用程序能在多機種異構系統上運行,這樣使得底層體系結構和運輸協議對于應用程序是透明的。

?

程序員用接口定義語言(IDL)建立接口定義(interface definition)。IDL是程序員用來設計遠程運行的過程的工具。IDL編譯器把IDL接口定義轉換成與客戶機和服務器相連的占位程序(stub)。客戶機上的占位程序可加入到服務器的過程,而服務器上的占位程序也可加入到客戶機過程。位于客戶機服務器的RPC運行時設施與占位程序合作,來提供RPC操作。
異構環境中使用RPC的一個問題在于,不同的機器有不同的數據表示,OSFRPC通過具有調用機器的基本數據表示的特征調用來解決這個問題。當收到調用時,若根據特征知道兩臺機器數據表示不同的話,接收器就進行數據轉換。

?

RPC運行時設施提供把客戶機請求傳送給服務器和在網上發送和接收響應的功能。DCERPC運行時設施也和網絡上其它DCE服務相互作用,這些DCE服務有命名、安全和定時服務。

運行時設施有下列特征:

?

1 可在多種網絡上運行。開發者無需為每個網絡編寫特定的應用程序。
2 提供客戶機或服務器或網絡上的故障恢復。它支持文件系統、數據庫和其它傳輸可變長數據的服務。
3 提供獨立于任何一個目錄服務的基于名字定位服務器的方法。
4 提供安全工具的接口,以防RPC通信遭受破壞。安全服務保證機密信息的保密性和提供鑒別來保護通信完備性。
5 支持網上并發或并行處理的多線程調度,于是一個應用程序就能同時執行多個操作

?

6 提供多供應商提供的系統環境的可移植性和相互操作性。

?

相關條目:

Application Program Interface應用程序編程接口;

Connectionless and Connection-Oriented Transaction無連接和面向連接事務;

Distributed Computing Environment,OSF OSF的分布式計算環境(DCE);

Enterprise Networks企業網;

Interprocess Communication進程間通信;

Middleware中間件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449733.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449733.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449733.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Laravel 使用 Aliyun OSS 云存儲

對象存儲 ( Object Storage Service, 簡稱 OSS ) OSS 相信大家都聽過, 它是阿里云對外提供的海量, 安全和高可靠的云存儲服務. 大家可以把自己網站的資源存上面加快自己網站速度, aliyun 官網也有文檔不過對于新手來說有點難, 那么這里我給大家推薦一個組件和組件的使用. johnl…

python多級索引修改

創建多級索引 cols pd.MultiIndex.from_tuples([("a","b"), ("a","c")]) pd.DataFrame([[1,2], [3,4]], columnscols) abc012134 df.columns df.columns.droplevel() df bc012134

在線學習新編程 技巧全攻略

摘要:有句俗語叫:“技多不壓身”,如果你有時間和興趣,不妨多了解和掌握編程技能,或許隨時可能有用。本文為你收集了一些編程技巧,讓你輕松學編程。 有句俗語叫:“技多不壓身”,如果你…

第 3 章 鏡像 - 018 - 鏡像命名的最佳實踐

為鏡像命名 創建鏡像時 docker build 命令時已經為鏡像取了個名字,例如: docker build -t ubuntu-with-vi 這里的 ubuntu-with-vi 就是鏡像的名字。通過 dock images 可以查看鏡像的信息。 1 rootubuntu:~# docker images ubuntu-with-vi 2 REPOSITORY …

Jmeter邏輯控制器-ForEach Controller

ForEach Controller 介紹 ForEach Contoller 即循環控制器,顧名思義是定義一個規則。主要有以下一個參數:名稱:隨便填寫注釋:隨便填寫輸入變量前綴:可以在“用戶自定義變量”中定義一組變量。循環控制器可以從中獲取到…

微服務實戰(三):深入微服務架構的進程間通信

見:http://www.dockone.io/article/549簡介 在單體式應用中,各個模塊之間的調用是通過編程語言級別的方法或者函數來實現的。但是一個基于微服務的分布式應用是運行在多臺機器上的。一般來說,每個服務實例都是一個進程。因此,如下…

python輸出與刪除某行或某列

python輸出字符,主要為結合變量形成新的變量名 year 2016 event Referendum fResults of the {year} {event}Results of the 2016 Referendum yes_votes 42_572_654 no_votes 43_132_495 percentage yes_votes / (yes_votes no_votes) {:-9} YES votes {:2…

為什么應該用模塊取代C/C++中的頭文件?

摘要:本文整理自Apple C工程師Doug Gregor的演講Slide,他表示希望使用模塊(Module)這一概念替代C/C中的頭文件,現已被C標準化委員會任命為Module研究組的主席,研究該提議的可能性。考慮到Apple的開源項目LL…

北向資金進行股票、期貨指數、基金策略

#%%導入包 import tushare as ts import datetime import pandas as pd import numpy as np import akshare as ak import warnings warnings.filterwarnings("ignore")#獲取北向資金數據 df_data2 ak.stock_em_hsgt_north_acc_flow_in(indicator"北上") d…

Kong Api 初體驗、Kong安裝教程

見:https://blog.csdn.net/forezp/article/details/79383631Kong是一個可擴展的開源API層(也稱為API網關或API中間件)。 Kong運行在任何RESTful API的前面,并通過插件擴展,它們提供超出核心平臺的額外功能和服務。 Kon…

Spring Boot2.0+中,自定義配置類擴展springMVC的功能

在spring boot1.0,我們可以使用WebMvcConfigurerAdapter來擴展springMVC的功能,其中自定義的攔截器并不會攔截靜態資源(js、css等)。 Configuration public class MyMvcConfig extends WebMvcConfigurerAdapter {Overridepublic v…

從谷歌宕機事件認識互聯網工作原理

摘要:谷歌服務器經歷了短暫的宕機事件,持續大概27分鐘,對部分地區的互聯網用戶造成了影響。此次事件的原因深究起來需要進入互聯網絡那深邃的、黑暗的角落。 譯者注:本文中提到CloudFlare是一家總部位于美國舊金山的內容分發網絡(…

聊聊技術寫作的個人體會

有群友問過,是什么原因使我開始寫技術公眾號,又是什么動力讓我堅持寫的。 在我看來,寫作是一件不能敷衍的事,通過寫作來學習,反而要比單純地學習的效果要好。為了寫成一篇“拿得出手”的文章,我要反復查找資…

「2019冬令營提高組」全連

傳送門 顯然的 $dp$ 設 $f[i]$ 表示點擊第 $i$ 個音符時的最大價值,$t[i]$ 表示音符 $i$ 的準備時間 那么可以枚舉 $1$ 到 $i-t[i]$ 的所有音符,如果 $j$ ,如果 $jt[j]$ 小于等于 $i$ ,那么 $f[i]max(f[i],f[j]t[i]*val[i])$ 考慮…

Docker常用命令、超實用、講解清晰明了(rm、stop、start、kill、logs、diff、top、cp、restart ...)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 查看docker信息(version、info) # 查看docker版本 $docker version # 顯示docker系統的信息 $docker i…

推薦給開發人員的實用命令行工具

摘要:優秀的工具對于定位問題出在何處有著無可估量的價值,而且能在一開始就幫助我們阻止問題的出現,總的來說能使我們的工作更有效率。本文介紹了6個非常強大且靈活的工具,熟練使用這些工具能使你的生活變得更輕松一些。 作為一名…

雷軍:啟動手機+AIoT雙引擎戰略 5G春天到來前打持久戰

雷帝網 樂天 1月11日報道 小米CEO雷軍今日在小米年會上宣布,2019年,小米將正式啟動“手機AIoT”雙引擎戰略,這將是小米未來五年的核心戰略。未來5年,小米將在AIoT領域持續投入超過100億元。從2019年起,AIoT&#xff0c…

Jenkins自定義主題

x下載自定義樣式 http://afonsof.com/jenkins-material-theme/ 打開連接 最后點擊:DOWNLOAD TOUR THEME! 得到樣式文件:jenkins-material-theme.css 上傳樣式文件到jenkins 將jenkins-material-theme.css 上傳到: /var/jenkins_home/userCont…

SSH (Secure Shell)詳解

Secure Shell(SSH)是一種加密 網絡協議,用于在不安全的網絡上安全地運行網絡服務。 SSH通過客戶端 - 服務器體系結構中的不安全網絡提供安全通道,將SSH客戶端應用程序與SSH服務器相連接。 常見的應用程序包括遠程命令行登錄和遠程…

股票配對收益

import pandas as pd import numpy as npimport matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] # 字體設置 import matplotlib matplotlib.rcParams[axes.unicode_minus]False # 負號顯示問題from arch.unitroot import ADF …