<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種嵌入式RPC的設計與實現

          一種嵌入式RPC的設計與實現

          作者: 時間:2011-06-10 來源:網絡 收藏

          摘要:在研究遠程過程調用的原理和系統(tǒng)特點的基礎上,提出一種遠程過程調用的以及在VxWorks操作系統(tǒng)上服務器端和在Win-dows探作系統(tǒng)上客戶端的。經在項目中的應用,本體現了良好的實用性、移植性和擴展性。
          關鍵詞:遠程過程調用;系統(tǒng);網絡;狀態(tài)機

          遠程過程調用(Renmte Procedure call,)最早是在B.J.Nelson的博士論文中論述的。這里的過程等價于例程,函數的意思。的思想源于大多數的程序都以過程作為最小單位。擴展了過程調用機制,允許客戶端的過程通過網絡調用服務器端的過程。
          從RPC的思想出發(fā),不同的組織和公司開發(fā)了不同的RPC協(xié)議。有SUN公司的ONC RPC,開放軟件基金會的DCE RPC,微軟公司的MSRPC等。這些RPC都依賴與特定操作系統(tǒng),并且定義了自己的接口描述語言(IDL),對于開發(fā)過于復雜。

          1 RPC的機制
          1.1 過程調用
          典型的過程調用就是過程A將參數和控制權交給過程B,過程B經過一系列運算或者下一級過程,最后把結果和控制權返回給過程A。
          1.2 RPC流程
          RPC分為同步RPC和異步RPC。在同步RPC中客戶端發(fā)出RPC調用的線程將被阻塞,直到從服務器端完成。異步RPC中客戶端發(fā)出調用的線程不會被阻塞而是繼續(xù)執(zhí)行。本文以同步RPC為研究對象。
          RPC的思想就是使遠程過程調用看上去就像在本地的過程調用一樣。從程序運行角度來看,其流程如圖1所示??蛻舳?MACHINE A)的進程通過網絡發(fā)送遠程過程調用請求給服務器(MACHINE B)。服務器收到請求后處理,調用相應的過程執(zhí)行,執(zhí)行完畢后服務器返回結果給客戶進程??蛻暨M程在發(fā)出遠程過程調用后被阻塞,直到服務器返回結果給客戶進程。

          本文引用地址:http://www.ex-cimer.com/article/150615.htm

          a.JPG


          1.3 RPC的結構模型
          從描述的角度出發(fā),產生不同的RPC模型如Andrew S.Tanenhum在其著作分布式操作系統(tǒng)中論述的模型以及B.J.Nelson論文中的RPC模型等。但這些模型的主要組件都是相同的。圖2是B.J.Nelson博士的RPC結構模型。客戶進程、客戶存根和RPC運行庫實例在客戶端執(zhí)行。服務進程、服務器存根和RPC運行庫實例在服務器端執(zhí)行??蛻暨^程調用相應的客戶存根??蛻舸娓虬鼌???蛻舳说腞PC運行庫將打包好的參數通過網絡發(fā)送給服務器RPC運行庫。服務器存根拆包參數,然后調用服務器過程。完成后返回結果給服務器存根。服務器存根打包結果給服務器RPC運行庫。服務器RPC運行庫發(fā)送打包好的參數給客戶RPC運行庫??蛻舸娓鸢⒔Y果取出返回給客戶。

          b.JPG


          盡管RPC的思想比較簡單,但有很多問題需要考慮。由于有很多不同的CPU,如X86、ARM、SPARC等以及各種DSP、單片機,產生了參數傳遞問題。如X86采用最低有效字節(jié)優(yōu)先,而SPARC是最高字節(jié)優(yōu)先。有些大型機采用EBCDIC碼,而其他處理器采用ASCII碼。存根就是用來解決這些問題。還有指針問題,涉及物理地址、虛擬地址、地址空間等很多考慮。我們知道不同計算機之間無法直接訪問彼此的地址。還有過程的參數如果為數據結構,這就引出數據對齊的問題。由此可以推斷所有的RPC都在一定的范圍適用。本文的RPC設計假定客戶端和服務器端有相同的大小端和并且都是32位處理器。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          關鍵詞: 實現 設計 RPC 嵌入式

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();