- 相關(guān)推薦
工作站與PC之間進(jìn)程的實(shí)時(shí)通訊
摘 要 該文簡(jiǎn)要介紹了SUN工作站與PC之間進(jìn)行通訊的常用方法,著重論述了一種基于Socket編程,實(shí)現(xiàn)進(jìn)程間直接實(shí)時(shí)通訊的方法,并舉例說(shuō)明。
隨著計(jì)算機(jī)的日益普及和應(yīng)用領(lǐng)域的不斷擴(kuò)展,人們對(duì)計(jì)算機(jī)性能的要求也越來(lái)越高,特別是在科學(xué)計(jì)算、圖形圖像處理、網(wǎng)絡(luò)工程、計(jì)算機(jī)輔助設(shè)計(jì)和制造(CAD/CAM)以及軟件工程等領(lǐng)域。這些領(lǐng)域的要求對(duì)于一般的微型計(jì)算機(jī)來(lái)說(shuō)是難以勝任的,而工作站的出現(xiàn)又恰好滿(mǎn)足了這些方面的需要。SUN工作站是工作站中的典型代表,由于它采用了RISC技術(shù)等一系列先進(jìn)的技術(shù)和方法,使得其性能價(jià)格比遠(yuǎn)遠(yuǎn)超出傳統(tǒng)的微、小型計(jì)算機(jī)系統(tǒng),因而具有很高的市場(chǎng)占有率。另一方面,IBM PC及其兼容機(jī)在我國(guó)也相當(dāng)普遍,它們?cè)诟餍懈鳂I(yè)得到了廣泛的應(yīng)用,擁有眾多的用戶(hù)和軟硬件產(chǎn)品。
如何將SUN工作站與PC這兩者之間有機(jī)地結(jié)合起來(lái),使它們各盡其長(zhǎng),就成了一個(gè)非,F(xiàn)實(shí)的問(wèn)題。比如在分布式應(yīng)用系統(tǒng)中,由于PC擁有眾多像開(kāi)關(guān)量和模擬量這樣的I/O接口板,因此可以用它作為工業(yè)控制現(xiàn)場(chǎng)中的下位機(jī),完成現(xiàn)場(chǎng)數(shù)據(jù)的實(shí)時(shí)采集與相關(guān)的控制操作;而用SUN工作站作為上位機(jī),進(jìn)行總的數(shù)據(jù)處理和分析。在這樣的分布式應(yīng)用系統(tǒng)中,SUN工作站與PC之間的通訊便是一個(gè)十分關(guān)鍵的問(wèn)題。
SUN工作站與PC之間的通訊可分為兩個(gè)方面:一是硬件連接,二是軟件編程。對(duì)于硬件連接,一般說(shuō)來(lái)可有以下兩種作法,第一種是利用SUN工作站本身的RS-232/RS-423串口與PC的RS-232串口,進(jìn)行串行異步通訊。這種方法最大的優(yōu)點(diǎn)是成本低,缺點(diǎn)是數(shù)據(jù)傳輸速度慢,數(shù)據(jù)的查錯(cuò)和糾錯(cuò)工作需由用戶(hù)自己完成,另外還需對(duì)硬件直接編程。第二種方法是利用SUN工作站本身配備的以太網(wǎng)接口,這時(shí)要求也為PC配上一塊網(wǎng)絡(luò)接口卡,兩者通過(guò)同軸電纜相連,構(gòu)成以太網(wǎng),從而實(shí)現(xiàn)它們之間的通訊。這種方法的優(yōu)點(diǎn)是數(shù)據(jù)傳輸速度快,非常適合對(duì)實(shí)時(shí)性要求較高的應(yīng)用項(xiàng)目,再加上有系統(tǒng)軟件與編程工具軟件包的支持,因此編程工作相對(duì)來(lái)說(shuō)也比較簡(jiǎn)單。該方法的缺點(diǎn)是成本比第一種方法稍高一些。
本文將著重介紹一下在第二種硬件連接方式下,即在以太網(wǎng)絡(luò)環(huán)境中,為了實(shí)現(xiàn)SUN工作站與PC之間的進(jìn)程通訊,在軟件上需要做的一些工作。
我們知道,SUN工作站采用了一種稱(chēng)為NFS(Network File System)的分布式文件系統(tǒng),該系統(tǒng)最大的優(yōu)點(diǎn)是獨(dú)立于機(jī)型、操作系統(tǒng)以及網(wǎng)絡(luò)體系結(jié)構(gòu),實(shí)現(xiàn)了在異構(gòu)環(huán)境下的文件共享。在NFS系統(tǒng)的支持下,文件存取對(duì)用戶(hù)透明,即用戶(hù)使用網(wǎng)絡(luò)上文件的方法與使用本地文件的方法完全一致。
為了實(shí)現(xiàn)PC與SUN工作站之間的文件共享,我們還必須在PC上安裝一套稱(chēng)為PC-NFS的軟件,該軟件由SUN公司提供。在安裝完該軟件之后,PC的用戶(hù)就可以像使用本地上的軟、硬盤(pán)那樣使用SUN工作站上的文件了。
到此為止,由于有了SUN NFS和PC-NFS這兩個(gè)系統(tǒng)軟件的相互配合,已經(jīng)可以完成SUN工作站與PC進(jìn)程之間的通訊,其通訊方式是通過(guò)文件共享。但這種方法在實(shí)際應(yīng)用中往往顯得速度不夠理想,而且由于需要依靠文件作媒介,因此在時(shí)間上和操作上造成的額外開(kāi)銷(xiāo)較大。于是,我們有必要探索一種SUN工作站與PC之間的進(jìn)程不通過(guò)文件共享,而是直接進(jìn)行實(shí)時(shí)通訊的方法。作者通過(guò)一段時(shí)間的摸索與實(shí)踐,找到了一種可行的方案,現(xiàn)提出來(lái)供大家參考。
這種實(shí)現(xiàn)進(jìn)程間直接通訊方法的實(shí)質(zhì)是在互連網(wǎng)域(Internet Domain)支持的TCP/IP協(xié)議下,進(jìn)行基于Socket(套接字)系統(tǒng)調(diào)用的程序設(shè)計(jì)。Socket是網(wǎng)絡(luò)在傳輸層上提供給應(yīng)用程序的接口,其目的主要是用來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)上進(jìn)程之間的通訊。下面我們就通過(guò)一個(gè)具體的實(shí)例來(lái)詳細(xì)說(shuō)明這一方法。
由于Socket程序設(shè)計(jì)通常都使用Client/Server(客戶(hù)/服務(wù)器)的模型,因此我們?cè)诰唧w實(shí)現(xiàn)上也遵循這一原則,把SUN工作站作為Server, PC作為Client,兩者在程序設(shè)計(jì)上分工不同。在本例中,我們要完成的任務(wù)是在工作站上的進(jìn)程與在PC上的進(jìn)程之間進(jìn)行雙向的數(shù)據(jù)傳輸,程序中分別各以一個(gè)字符串來(lái)代表實(shí)際要傳送的信息。
由于Socket程序設(shè)
[1] [2] [3] [4]
【工作站與PC之間進(jìn)程的實(shí)時(shí)通訊】相關(guān)文章:
GPS數(shù)據(jù)實(shí)時(shí)通訊中數(shù)據(jù)解碼問(wèn)題的算法研究04-27
基于嵌入式操作系統(tǒng)VxWorks的實(shí)時(shí)通訊的實(shí)現(xiàn)05-02
進(jìn)程04-30
什么是移動(dòng)PC04-26
什么是PC卡插槽04-26
PC電腦之路---機(jī)箱05-01
什么是PC卡插槽04-26
中國(guó)與APEC進(jìn)程04-28
外貿(mào)談判進(jìn)程05-04
淺議進(jìn)程與線(xiàn)程04-30