嵌入式專業(yè)英語一_第1頁
嵌入式專業(yè)英語一_第2頁
嵌入式專業(yè)英語一_第3頁
嵌入式專業(yè)英語一_第4頁
嵌入式專業(yè)英語一_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、嵌入式專業(yè)英語一200年804月18日星期五08:44(專用集成電路)專用集成電路。一個在一個芯片上定制設(shè)計(jì)的硬件(地址總線)一個連接處理器與所有外設(shè)的,用來通訊的電子線路集。地址總線被處理器用來選擇在特定外設(shè)中的存儲器地址或寄存器。如果地址總線有條電子線路,處理器能唯一尋址高達(dá)的地址空間。(應(yīng)用軟件)見O見O用來描述一個特定的嵌入式項(xiàng)目中的某一軟件模塊。應(yīng)用軟件不象可重用的交叉嵌入式平臺,只是因?yàn)槊恳粋€嵌入式系統(tǒng)有不同的應(yīng)用軟件。(匯編編譯器)一個能把人可讀的匯編語言程序轉(zhuǎn)換到處理器可理解和運(yùn)行的機(jī)器指令的軟件開發(fā)工具。(匯編語言)一種人可讀的處理器指令集的形式。大多數(shù)處理器相關(guān)的功能必須用

2、匯編語言編寫。(板卡支持包)二元信號一種只有兩種狀態(tài)的信號。也叫互斥信號(板卡支持包)軟件包的具有平臺依賴性的那一部分。典型地,板卡支持包的樣例源程序由包開發(fā)者提供。樣例源程序必須能在需要時被修改、編譯并與軟件包的剩下的部分連接起來。(外合處理器)一種特殊版本的處理器,它有一些,內(nèi)部的信號能傳達(dá)到外置的針腳上。一個外合處理器絕大多數(shù)情況下只用在模擬器上,從來不會被特意用在產(chǎn)品系統(tǒng)上。(斷點(diǎn))一個在程序中的地址,在那里程序的執(zhí)行被停止,并且處理器的控制轉(zhuǎn)換到了除錯程序。大多數(shù)除錯工具提供增加與刪除一個斷點(diǎn)的機(jī)制。(復(fù)雜指令集計(jì)算機(jī))復(fù)雜指令集計(jì)算機(jī)。對一種處理器架構(gòu)的描述。處理器一般產(chǎn)生變長的指

3、令,多種地址格式,并且僅僅有少量的通用寄存器。的家族是是典型的處理器。相對于而言。(中央處理器)中央處理器。處理器中執(zhí)行指令的那一部分。(編譯器)把高級編程語言程序轉(zhuǎn)換到只有特定的處理器能了解和執(zhí)行的機(jī)器指令的一種軟件開發(fā)包。(上下文)處理器當(dāng)前的狀態(tài)和標(biāo)志。(上下文切換)在多任務(wù)操作系統(tǒng)中我一個任務(wù)切換到另一個的過程。上下文切換包括保存正在運(yùn)行的任務(wù)的上下文和恢復(fù)早先保存的另一個任務(wù)的上下文。做這個工作的一段代碼必須具有處理器特權(quán)。(計(jì)數(shù)信號)一種用來跟蹤多個相同類型資源的信號燈。僅僅在所有可用的資源都被用完了時才阻塞。相對二元信號而言。(臨界段)一段必須按次序執(zhí)行的代碼,并且不能被中斷,否

4、則不能保證軟件正確地操作。參照:競爭狀況。(交叉編譯器)一個運(yùn)行在不同的平臺上的編譯器,其中之一能產(chǎn)生目標(biāo)代碼。交叉編譯器在主機(jī)上運(yùn)行并且產(chǎn)生目標(biāo)機(jī)的目標(biāo)代碼。(直接內(nèi)存訪問)直接內(nèi)存訪問。一種直接在兩個外設(shè)(通常是內(nèi)存和設(shè)備)之間進(jìn)行數(shù)據(jù)傳輸?shù)募夹g(shù),它只要處理器最少的介入。傳輸由叫控制器的第三方外設(shè)進(jìn)行管理。(動態(tài)隨機(jī)訪問存儲器)動態(tài)隨機(jī)訪問存儲器。一種,存儲在其設(shè)備中的數(shù)據(jù)被定期刷新時才能保存它的內(nèi)容。刷新周期一般由一個叫控制器的外設(shè)完成。(數(shù)據(jù)總線)連接處理器與所有外設(shè)進(jìn)行通訊的電子線路集。當(dāng)一個處理器想去寫(讀)某一特定外設(shè)中的存儲器地址或寄存器中的內(nèi)容時,處理器設(shè)置地址總線并在數(shù)據(jù)總

5、線上接收(傳輸)內(nèi)容。(死線)一個特定計(jì)算必須被完成的時間。請看實(shí)時系統(tǒng)。(死鎖)一種不希望出現(xiàn)的軟件狀態(tài),在這個狀態(tài)下,所有的任務(wù)因?yàn)榈却粋€只有在這些被阻塞任務(wù)之一才能產(chǎn)生的事件而被阻塞。如果死鎖發(fā)生,唯一解決的方法是重啟動硬件。但是,通過可靠的軟件設(shè)計(jì)實(shí)踐活動通??梢苑乐顾梨i的發(fā)生。(除錯監(jiān)視程序)嵌入式軟件被特殊設(shè)計(jì)來作為除錯工具的一部分。它一般被放在中,通過串口或網(wǎng)絡(luò)與除錯器進(jìn)行通訊。除錯監(jiān)視程序提供一個簡單的命令集來顯示和內(nèi)存地址和寄存器、建立和移除斷點(diǎn),并且運(yùn)行你的程序。除錯監(jiān)視器組合這些簡單的命令去實(shí)現(xiàn)象程序下載各單步調(diào)試等高端的請求。(除錯器)一個軟件開發(fā)工具,被用來對嵌入式

6、軟件進(jìn)行測試和除錯。除錯器在宿主機(jī)上運(yùn)行并且通過串口或網(wǎng)絡(luò)連接到目標(biāo)機(jī)上。你能使用除錯器下載軟件到目標(biāo)機(jī)并直接運(yùn)行。你也可以設(shè)置斷點(diǎn)并檢查特定內(nèi)存地址或寄存器的內(nèi)容。(設(shè)備驅(qū)動程序)一個軟件模塊,它隱藏特定外設(shè)的細(xì)節(jié)并提供高級的外設(shè)編程接口。(設(shè)備編程器)一種用來對不揮發(fā)內(nèi)存和其他電可編程設(shè)備進(jìn)行編程的工具。典型地,可編程設(shè)備被插到設(shè)備編程器的接口上,接著內(nèi)存緩存器中的內(nèi)容被傳送到它里面。(數(shù)字信號處理器)一種類似于微處理器的的設(shè)備,不同的是它內(nèi)部的被優(yōu)化,用于特定的應(yīng)用,如離散信號處理。除了標(biāo)準(zhǔn)的微處理器指令外,常常支持復(fù)雜指令集去非??斓赝瓿赏ㄓ玫男盘柼幚碛?jì)算。通用家庭是的和的系列。(電可

7、擦的,可編程的只讀存儲器)電可擦的,可編程的只讀存儲器。一種能被電擦除。(可擦的,可編程的只讀存儲器)一種可用紫外線擦除的存儲器。一次擦除后,可以在設(shè)備編程器的幫助下被重編程。(嵌入式系統(tǒng))計(jì)算機(jī)硬件和軟件的結(jié)合體,或許還加上機(jī)械等其他部分,被設(shè)計(jì)來完成專門的功能。在一些情況下,嵌入式系統(tǒng)是一個大的系統(tǒng)或產(chǎn)品的一部分,就象汽車上的防抱死裝置。與通用計(jì)算機(jī)相對。仿真器在線仿真器的簡寫。一個在你的目標(biāo)板上放置仿真的處理器的調(diào)試工具。仿真器經(jīng)常和一目標(biāo)處理器的一種“外合”版本合在一起,這個版本的的處理器充許你運(yùn)行程序時觀察和記錄它的內(nèi)部狀態(tài)。(可執(zhí)行的)一個包含準(zhǔn)備在目標(biāo)機(jī)上運(yùn)行的目標(biāo)代碼的文件。放

8、置目標(biāo)代碼到中或通過調(diào)試工具下載。(固件)是作為目標(biāo)代碼存貯在中的嵌入式軟件。這個名字在數(shù)字信號處理器的用戶中相當(dāng)流行。(閃存)一種的混血兒,它能在軟件的控制下被擦除和重寫。一些設(shè)備被分成叫段組的塊,能個別地可擦。閃存用在需要很便宜的非易失數(shù)據(jù)存貯器的地方,一個大容量的閃存甚至被用作磁盤驅(qū)動器。(通用計(jì)算機(jī))當(dāng)作通用計(jì)算平臺的計(jì)算機(jī)硬件與軟件的組合。例如,。相對于嵌入式計(jì)算機(jī)。查閱高級語言。(堆)一塊被用作動態(tài)內(nèi)存分配的內(nèi)存區(qū)域。調(diào)用和、的操作符、在運(yùn)行時進(jìn)行堆的操作。(高級語言)一種語言,象或+是處理器獨(dú)立的。當(dāng)在高級語言上編程時,不需要考慮特定處理器的細(xì)節(jié),只用關(guān)心算法和應(yīng)用。(主機(jī))一臺

9、通用計(jì)算機(jī),它通過串口或網(wǎng)絡(luò)連接與目標(biāo)機(jī)通訊。這處名詞一般用來區(qū)別調(diào)試程序運(yùn)行的計(jì)算機(jī)和被開發(fā)的嵌入式系統(tǒng)。在線仿真器。查閱仿真器。(輸入輸出)輸入/輸出。處理器與外界的交互界面。最簡單的例子是開關(guān)(輸入)和發(fā)光二級管(輸出)。(設(shè)備)一種介于處理器和外界之間的硬件設(shè)備。一般的實(shí)例是開關(guān)、串口和網(wǎng)絡(luò)控制器。(映射)一張包含每個外設(shè)的名字和地址的表格或圖表,可由處理器在空間中設(shè)定地址。映射對得知目標(biāo)機(jī)情況非常有利。(空間)一個由處理器提供的特殊內(nèi)存區(qū)域,一般為為設(shè)備的附件保留。在空間的內(nèi)存位置和寄存器只能通過特殊的指定進(jìn)行訪問。例如:家族的處理器有叫做的特殊的空間指令。相對內(nèi)存空間而言。(中斷服

10、務(wù)程序)(指令指針)包含下一條要執(zhí)行指令地址的處理器中的寄存器。也叫程序計(jì)數(shù)器。(中斷)一個從外設(shè)到處理器的異步電信號。當(dāng)外設(shè)發(fā)出這個信號,我們說一個中斷發(fā)生。當(dāng)一個中斷發(fā)生,當(dāng)前的處理器狀態(tài)被保存并且中斷服務(wù)程序開始運(yùn)行。當(dāng)中斷服務(wù)程序退出,對處理器的控制權(quán)轉(zhuǎn)到先前運(yùn)行的那個軟件上。(中斷延遲)在中斷發(fā)生和相關(guān)的中斷服務(wù)程序運(yùn)行之間的時間長短。(中斷服務(wù)程序)響應(yīng)特定中斷而運(yùn)行的一小段軟件。(中斷類型)和每一個中斷相關(guān)聯(lián)的唯一數(shù)字。(中斷向量)中斷服務(wù)程序所在的地址。(中斷向量表)一個表格,包含由中斷類型決定的中斷向量和索引。這個表格包含中斷與中斷服務(wù)程序之間的處理器的映射,必須由程序員進(jìn)行

11、初始化。(進(jìn)程間通訊)一種被用來在任務(wù)和中斷服務(wù)程序之間共享信息和同步它們對共享資源訪問的機(jī)制。大部分進(jìn)程間通訊的建立的基石是信號燈和互斥(內(nèi)核)任何多任務(wù)操作系統(tǒng)的本質(zhì)部分,內(nèi)核僅僅包含調(diào)度程序和上下文切換進(jìn)程。(連接程序)一種能把一個或更多目標(biāo)文件組合成可輸入和輸出的可重定位程序的開發(fā)工具。連接程序在所有的源文件都被編譯或匯編之后運(yùn)行。(定位程序)一種分配物理地址給連接程序處理過的可重定位程序的軟件開發(fā)工具。這是準(zhǔn)備一個軟件在嵌入式系統(tǒng)中運(yùn)行的最后一步,并且結(jié)果文件叫做可執(zhí)行的。在一些情況下,定位程序功能隱藏在連接程序中。(邏輯分析儀)一種硬件調(diào)試工具,能捕獲實(shí)時電信號的許多邏輯電平(0或

12、1)邏輯分析儀在調(diào)試硬件問題和復(fù)雜的處理外設(shè)交互時相當(dāng)有用。應(yīng)用程序的通信連接模式年月日星期五應(yīng)用層與應(yīng)用程序起源于二十世紀(jì)年代末美國政府資助的一個分組交換網(wǎng)絡(luò)研究項(xiàng)目,它是一個真正的開放協(xié)議,很多不同廠家生產(chǎn)各種型號的計(jì)算機(jī),它們運(yùn)行完全不同的操作系統(tǒng),但協(xié)議組件允許它們互相進(jìn)行通信?,F(xiàn)在已經(jīng)從一個只供一些科學(xué)家使用的小實(shí)驗(yàn)網(wǎng)成長為一個由成千上萬的計(jì)算機(jī)和用戶構(gòu)成的全球化網(wǎng)絡(luò),也已成為全球因特網(wǎng)()的基礎(chǔ),越來越多的互聯(lián)網(wǎng)應(yīng)用和企業(yè)商業(yè)應(yīng)用正在改變著世界。通訊協(xié)議采用了四層的層級模型結(jié)構(gòu)(注:這與七層模型不相同),每一層都調(diào)用它的下一層所提供的網(wǎng)絡(luò)任務(wù)來完成自己的需求。的每一層都是由一系列協(xié)

13、議來定義的。這層分別為:應(yīng)用層(c應(yīng)用層是個很廣泛的概念,有一些基本相同的系統(tǒng)級應(yīng)用以及應(yīng)用協(xié)議,也有許多的企業(yè)商業(yè)應(yīng)用和互聯(lián)網(wǎng)應(yīng)用。傳輸層s傳輸層包括和,幾乎不對報(bào)文進(jìn)行檢查,而提供傳輸保證。網(wǎng)絡(luò)層(:網(wǎng)絡(luò)層協(xié)議由一系列協(xié)議組成,包括、M、O鏈路層(Li又稱為物理數(shù)據(jù)網(wǎng)絡(luò)接口層,負(fù)責(zé)報(bào)文傳輸。圖1顯示了層級模型結(jié)構(gòu),應(yīng)用層之間的協(xié)議通過逐級調(diào)用傳輸層()、網(wǎng)絡(luò)層()和物理數(shù)據(jù)鏈路層(、而可以實(shí)現(xiàn)應(yīng)用層的應(yīng)用程序通信互聯(lián)。應(yīng)用層需要關(guān)心應(yīng)用程序的邏輯細(xì)節(jié),而不是數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸活動。應(yīng)用層其下三層則處理真正的通信細(xì)節(jié)。在整個發(fā)展過程中的所有思想和著重點(diǎn)都以一種稱為()的文檔格式存在。針對每一

14、種特定的應(yīng)用,有相應(yīng)的文檔。一些典型的應(yīng)用有、等。使一些基本相同的應(yīng)用程序?qū)崿F(xiàn)了標(biāo)準(zhǔn)化,從而使得不同廠家開發(fā)的應(yīng)用程序可以互相通信。層級模型結(jié)構(gòu)Tn詢唯緘ApuHctiori1Wfr-W-W+TRd*WPj?li卡;iXLpTj|iJvn|FlTrier.5HF、洲蛻5mc.TKIP,ApplicaLiuh山!dn無二jiL&ulqomNJiiiJieri5U:i;-rr.iph一-朮=.anx跑肌tpw,應(yīng)n1.gpmkL-tH-61kLi:1hr(ICO.:l:cap.R1R05PFsKeiwFurkLmy色r(ICMP.iC-MPJilP.0PFp然而除了這些已經(jīng)實(shí)現(xiàn)標(biāo)準(zhǔn)化的系統(tǒng)級應(yīng)用程

15、序外,在企業(yè)商業(yè)應(yīng)用和互聯(lián)網(wǎng)應(yīng)用開發(fā)中,存在著大量的商業(yè)應(yīng)用程序通信互聯(lián)問題。如圖1顯示,其中的應(yīng)用層所包含應(yīng)用程序主要可以分成兩類,即系統(tǒng)級應(yīng)用和商業(yè)應(yīng)用,互聯(lián)網(wǎng)商業(yè)應(yīng)用是商業(yè)應(yīng)用中的主要形式之一。不同開發(fā)商和用戶在開發(fā)各自商業(yè)應(yīng)用通信程序時也存在有許多不同的設(shè)計(jì)方式。關(guān)于應(yīng)用層以下的技術(shù)文獻(xiàn)與書籍早已是汗牛充棟,但是關(guān)于應(yīng)用本身,尤其是關(guān)于商業(yè)應(yīng)用的通信設(shè)計(jì)模式技術(shù)討論方面的文章還是比較少的。應(yīng)用通信設(shè)計(jì)模式實(shí)際上是在基礎(chǔ)編程之上的一種應(yīng)用編程設(shè)計(jì)方式,也屬于一種應(yīng)用層協(xié)議范疇,其可以包含有地址族模式設(shè)計(jì)、模式設(shè)計(jì)、通信連接模式設(shè)計(jì)以及通信數(shù)據(jù)格式設(shè)計(jì)等。鑒于目前討論商業(yè)應(yīng)用程序設(shè)計(jì)模式問

16、題這方面的文章還很少見,本文嘗試給出一些通信連接模式設(shè)計(jì)中共同的概念與一些典型的設(shè)計(jì)模式,在以后的文章中將繼續(xù)討論地址族模式設(shè)計(jì)、模式設(shè)計(jì)、以及通信數(shù)據(jù)格式設(shè)計(jì)等方面的模式設(shè)計(jì)實(shí)現(xiàn)話題。通信連接模式設(shè)計(jì)主要考慮內(nèi)容有:通信兩端程序建立通信方式通信連接方式通信報(bào)文發(fā)送與接收方式以下內(nèi)容將介紹建立通信的模型,然后逐一介紹通信連接模式設(shè)計(jì)所需要考慮的這些內(nèi)容。傳輸層接口與應(yīng)用程序模型傳輸層接口應(yīng)用層位于傳輸層之上,應(yīng)用程序需要調(diào)用傳輸層的接口才能實(shí)現(xiàn)應(yīng)用程序之間通信。目前使用最廣泛的傳輸層的應(yīng)用編程接口是套接字接口()。是于年在中引進(jìn)的。年公司引進(jìn)了另一種不同的網(wǎng)絡(luò)層編程接口)f年發(fā)布了一種修改版的

17、,叫做I)。和是用來處理相同任務(wù)的不同方法。關(guān)于使用文章與書籍已相當(dāng)多,本文則是側(cè)重于如何組合使用這些來進(jìn)行應(yīng)用程序連接模式設(shè)計(jì),并歸納出幾種基本應(yīng)用連接模式。如圖2顯示,應(yīng)用層是通過調(diào)用傳輸層接口I或)來與傳輸層和網(wǎng)絡(luò)層進(jìn)行通信的。圖2傳輸層接口不管是使用何種編程接口,要在兩個機(jī)器或兩個程序之間建立通信,通信雙方必須建立互相一致的通信模式。如果雙方的通信設(shè)計(jì)模式不一致就無法建立有效的通信連接。以下是經(jīng)常使用的,是建立應(yīng)用程序的標(biāo)準(zhǔn)接口,也是影響應(yīng)用程序通信方式的幾個主要,不同組合再結(jié)合系統(tǒng)調(diào)用可以實(shí)現(xiàn)不同方式的應(yīng)用。支持多種傳輸層和網(wǎng)絡(luò)層協(xié)議,支持面向連接和無連接的數(shù)據(jù)傳輸,允許應(yīng)用分布式工

18、作。:是用來創(chuàng)建一個,表示通信中的一個節(jié)點(diǎn),其可以在一個網(wǎng)絡(luò)中被命名,用描述符表示,描述符類似于中的文件描述符。:是用來把本地層地址和層端口賦予。:把未連接的轉(zhuǎn)化成一個等待可連接的,允許該可以被請求連接,并指定該允許的最大連接數(shù)。:是等待一個連接的進(jìn)入,連接成功后,產(chǎn)生一個新的描述符,這個新的描述符用來建立與客戶端的連接。:用來建立一個與服務(wù)端的連接。:發(fā)送一個數(shù)據(jù)緩沖區(qū),類似的文件函數(shù)另外是用在無連接的程序中,用來發(fā)送自帶尋址信息的數(shù)據(jù)包。:接收一個數(shù)據(jù)緩沖區(qū),類似的文件函數(shù)。另外是用在無連接的程序中,用來接收自帶尋址信息的數(shù)據(jù)包。s關(guān)閉一個連接模型是以和交互通信方式來使用的。典型的系統(tǒng)配置

19、是把放在一臺機(jī)器中,而把放在另一臺機(jī)器中,連接到交換信息。一個有型系列典型的事件流。例如,在面向連接的模型中,端的總是等待一個端的請求。要實(shí)現(xiàn)這個請求,端首先需要建立能夠被使用的地址,當(dāng)?shù)刂方⒑?等待請求服務(wù)。當(dāng)一個通過連接到后,與之間就可以進(jìn)行信息交換。是通信程序設(shè)計(jì)的基本模式。從軟件開發(fā)的角度講,應(yīng)用程序都是基于方式的。注意本篇文章以下概念是針對程序內(nèi)部調(diào)用所講的概念,與針對整個程序甚至針對機(jī)器而講的客戶端/服務(wù)器概念有所不同。用建立的程序可以被當(dāng)作客戶端使用,用同一個程序里往往同時可以有的代碼,或者多種形式的組合。在實(shí)際應(yīng)用編程中,針對不同有效組合,建立的程序也可以被用作服務(wù)器端使用。

20、建立,建立需要的需要的。在實(shí)際應(yīng)用開發(fā)中,結(jié)合系統(tǒng)調(diào)用可以有多種復(fù)雜的設(shè)計(jì)變化。面向連接的應(yīng)用編程存在三類基本的不同級別的設(shè)計(jì)方式范疇,根據(jù)從上到下順序依次是:通信建立方式通信連接方式通信發(fā)送與接收方式下面內(nèi)容以面向連接的應(yīng)用編程為例來說明這幾種不同通信范疇的設(shè)計(jì)實(shí)現(xiàn)。建立方式設(shè)計(jì)概述一個連接一個如果只有兩臺機(jī)器之間連接,那么一個是,另一個是,如下面圖所示。這是最簡單的的應(yīng)用,也是應(yīng)用早期的概念。其流程基本如圖4所示。圖3應(yīng)用單點(diǎn)圖顯示了應(yīng)用編程最基本的模式,顯示了基本的通信所需要調(diào)用的以及順序。模式應(yīng)用編程基本多個C連接一個多個C同時連接一個是應(yīng)用的主流形式,如圖5所示,其中連連接的數(shù)連可以

21、從幾個到成千上萬。端的應(yīng)用多由于缺省方式下都是阻塞方式的,實(shí)現(xiàn)多個同時連接一個就需要特別的設(shè)計(jì)。其實(shí)現(xiàn)方式可以有多種不同的設(shè)計(jì),這其中也涉及模式設(shè)計(jì)。下面將展開介紹其中幾種設(shè)計(jì)形式。利用一個連接一個形式實(shí)現(xiàn)多連接從程序設(shè)計(jì)角度講,只要和端口是一對一形式,那么就屬于一個連接一個形式。在處理多個端連接時,端輪流使用多個端口建立多個連接,連接關(guān)閉后,被釋放端口可以被循環(huán)使用。在這種多連接形式中需要謹(jǐn)慎處理端的可用端口。比如圖6顯示連端接如何一獲取使用連連實(shí)就有就連一實(shí)個服務(wù)于所有進(jìn)程的進(jìn)程可以先把端的可用端口發(fā)送給端,端再使用該端口建立連接來處理業(yè)務(wù)。針對每一個連接用一個專門的進(jìn)程來處理。由于可用端

22、口數(shù)有限,用一個有限循環(huán)來處理每一個可用的端口連接。由于新端口需要用來綁定,所以需要從開始到結(jié)束都需要包含在循環(huán)體內(nèi)。圖6利用一對一模式實(shí)現(xiàn)多連接使用多個實(shí)現(xiàn)多連接多進(jìn)程一般有一個專注進(jìn)程是服務(wù)于每一個連接的。當(dāng)端完成連接后,專注進(jìn)程可以循環(huán)被另外的連接使用。使用多個也可以實(shí)現(xiàn)處理多連接。多的也只有一個,一個,一個t這與通常情況一樣。但是它建立許多工作子進(jìn)程,每一個工作子進(jìn)程都有,這樣可以為每一個建立描述符。如圖7所示,由于連接成功后,會產(chǎn)生一個新的描述符,這樣通過循環(huán)多進(jìn)程利用產(chǎn)生的多描述符就可以與多個進(jìn)行連接通信。循環(huán)體是從開始到結(jié)束的。圖7使用多實(shí)現(xiàn)多連接使用并發(fā)模式實(shí)現(xiàn)多連接并發(fā)服務(wù)器

23、模式曾經(jīng)是的主流應(yīng)用程序設(shè)計(jì)模式,得到廣泛使用,目前互聯(lián)網(wǎng)上仍有相當(dāng)多的應(yīng)用使用此種模式。其設(shè)計(jì)思路是在之后出一個子進(jìn)程。因?yàn)闀a(chǎn)生監(jiān)聽描述符,會產(chǎn)生連接描述符。連接建立后,子進(jìn)程繼承連接描述符服務(wù)于,父進(jìn)程則繼續(xù)使用監(jiān)聽描述符等待另外一個的連接請求,以產(chǎn)生另外一個連接描述符和子進(jìn)程。如圖8所示,接收到一個連接后,產(chǎn)生一個新的描述符,通過系統(tǒng)調(diào)用,用一個子進(jìn)程來處理該描述符的連接服務(wù)。而父進(jìn)程可以立即返回到,等待一個新的請求,這就是典型的并發(fā)服務(wù)器模式。并發(fā)服務(wù)器模式同時處理的最大并發(fā)連接數(shù)由的第二個參數(shù)來指定。應(yīng)用并發(fā)1JstonfHnczkat()I1Fhir&d01i()|1Iept()

24、block-r-iF使用多路技術(shù)實(shí)現(xiàn)多連接以上三種連接設(shè)計(jì),多端口、多和并發(fā)服務(wù)器模式,都是通過系統(tǒng)調(diào)用產(chǎn)生多進(jìn)程來實(shí)現(xiàn)多連接的。使用多路技術(shù)也可以同時處理多個輸入與輸出問題,即用一個進(jìn)程同時處理多個文件描述符。多路技術(shù)是通過或系統(tǒng)調(diào)用實(shí)現(xiàn)的。與功能完全相同,但是可以更少使用內(nèi)存資源以及有更少的錯誤發(fā)生。調(diào)用需要與操作文件描述符集的配合使用。系統(tǒng)調(diào)用可以使一個進(jìn)程檢測多個等待的是否準(zhǔn)備好,當(dāng)沒有設(shè)備準(zhǔn)備好時,處于阻塞狀態(tài)中,其中任一設(shè)備準(zhǔn)備好后,函數(shù)返回調(diào)用。本身也有一個超時時間參數(shù),超時時間到后,無論是否有設(shè)備準(zhǔn)備好,都返回調(diào)用。其流程如圖所示。在插入調(diào)用。使用這三個宏E在調(diào)用前設(shè)置后使用來

25、檢測描述符的位是否被設(shè)置。描述符是否可以被使用,如果該和之間、和描述符屏蔽位,在調(diào)用描述符集中對應(yīng)于就相當(dāng)通知了一個描述符可用,則可來聲明在一個進(jìn)程中所能操作的文件或?qū)υ撁枋龇M(jìn)行讀寫通信操作。通常,操作系統(tǒng)通過宏描述符的最大數(shù)目。更詳細(xì)的多路技術(shù)實(shí)現(xiàn),可以參考其他相關(guān)文獻(xiàn)。多路技術(shù)實(shí)現(xiàn)多連接的BDcket()bind0listenOPDZHRCKyrradsbleraccept0Frfjarl().)pTocessI1write1(、sendO1FeIds()r(l-b1】*.)ReBoie一個連接多個一個連接多個這種方式很少見,主要用于個客戶需要向多個服務(wù)器發(fā)送請求情況,比如一個端掃描連接

26、多個端情況。如圖10所示。此種方式設(shè)計(jì)主要是端應(yīng)用程序的邏輯設(shè)計(jì),通常需要在端設(shè)計(jì)邏輯循環(huán)來連接多個,在此不做更多描述。圖10單對多圖10單對多Setvet復(fù)雜設(shè)計(jì)與現(xiàn)代最近幾年,對等網(wǎng)絡(luò)技術(shù)-簡稱迅速成為計(jì)算機(jī)界關(guān)注的熱門話題之一,以及影響未來的科技之一。與早期點(diǎn)對點(diǎn)的模式不同,現(xiàn)在的模式是指每個結(jié)點(diǎn)既可充當(dāng)服務(wù)器,為其他結(jié)點(diǎn)提供服務(wù),同時也可作為客戶端享用其他結(jié)點(diǎn)提供的服務(wù)。實(shí)際上模圖11模式式仍然是基于模式的,每個通信節(jié)點(diǎn)都既是,又是i是基于復(fù)雜設(shè)計(jì)的應(yīng)用。圖11顯示模式下兩個用戶之間的對等連接。在技術(shù)上,本身是基于技術(shù)的一種設(shè)計(jì)模式思想,也屬于網(wǎng)絡(luò)應(yīng)用層技術(shù),與和等應(yīng)用是并列的。只是應(yīng)

27、用在設(shè)計(jì)實(shí)現(xiàn)上更要復(fù)雜的多。技術(shù)實(shí)現(xiàn)的協(xié)同工作是無需專門的服務(wù)器支持的,這里的服務(wù)器概念與中的概念是不一樣的。在傳統(tǒng)意義上中心服務(wù)器機(jī)器上往往運(yùn)行的是應(yīng)用的端程序,所以傳統(tǒng)意義上的概念在機(jī)器與應(yīng)用上是重合的。如果更改的應(yīng)用設(shè)計(jì),使應(yīng)用程序既可做又可做,就可以實(shí)現(xiàn)無中心服務(wù)器的模式。在設(shè)計(jì)模式上,的2模的式實(shí)現(xiàn)了網(wǎng)絡(luò)終端用戶不依賴中心服務(wù)器或者服務(wù)商而直接進(jìn)行信息和數(shù)據(jù)交換的可能,因此的2正的在改變著整個互聯(lián)網(wǎng)的一些基礎(chǔ)應(yīng)用,從而極大地增加了用戶之間的信息溝通和交流能力。目前互聯(lián)網(wǎng)的的2應(yīng)的用與網(wǎng)絡(luò)都正在飛速發(fā)展,一些典型的應(yīng)用程序比如有等,另外一些即時通信()類軟件比如、等也正在向無中心服務(wù)器

28、模式轉(zhuǎn)變。無中心服務(wù)器的應(yīng)用程序大大降低應(yīng)用提供商的運(yùn)營成本,而且減少人們對于穩(wěn)定性的依賴。通信連接方式設(shè)計(jì)通信方式建立后,下一步就需要考慮通信連接的方式,主要有兩種方式的連接,即長連接通信與短連接通信。通信連接方式涉及到的主要是和。要實(shí)現(xiàn)某種方式,就必須考慮用某種特定的連接方式。短連接通信短連接通信是指方與方每進(jìn)行一次通信報(bào)文收發(fā)交易時才進(jìn)行通訊連接,交易完畢后立即斷開連接。此種方式常用于多個連接一個情況,常用于機(jī)構(gòu)與用戶之間通信,比如(聯(lián)機(jī)事務(wù)處理)類應(yīng)用。在短連接情況下,端完成任務(wù)后,就關(guān)閉連接并退出。在端,可以通過循環(huán),使不會退出,并連續(xù)處理的請求。圖12顯示了一般情況下短連接通信模式

29、的事件流,不同設(shè)計(jì)的連接多的有不同的循環(huán)流程。圖12短連接模式通信長連接通信長連接通信是指方與方先建立通訊連接,連接建立后不會斷開,然后再進(jìn)行報(bào)文發(fā)送和接收,報(bào)文發(fā)送與接收完畢后,原來連接不會斷開而繼續(xù)存在,因此可以連續(xù)進(jìn)行交易報(bào)文的發(fā)送與接收。這種方式下由于通訊連接一直存在,其狀態(tài)是l可以用操作系統(tǒng)的命令查看連接是否建立。由于在長連接情況下,端和端一樣可以固定使用一個端口,所以長連接下的也需要使用來綁定的端口。在長連接方式下,需要循環(huán)讀寫通信數(shù)據(jù)。為了區(qū)分每一次交易的通信數(shù)據(jù),每一次交易數(shù)據(jù)常常需要在數(shù)據(jù)頭部指定該次交易的長度,接收需要首先讀出該長度,然后再按該長度讀出指定長度的字節(jié)。長連接

30、方式常用于一個端對一個端的通訊,一般常用于機(jī)構(gòu)與機(jī)構(gòu)之間的商業(yè)應(yīng)用通信,以處理機(jī)構(gòu)之間連續(xù)的大量的信息數(shù)據(jù)交換?;蛘哒f可用于兩個系統(tǒng)之間持續(xù)的信息交流情況。通常為了加快兩個系統(tǒng)之間的信息交流,通常還需要建立幾條長連接的并行通信線路。圖13顯示了一般情況下長連接通信模式的事件流,可見其最大特點(diǎn)是和都有循環(huán)體,而且循環(huán)體只包含讀寫。圖13長連接模式通信通信發(fā)送與接收方式設(shè)計(jì)在通信數(shù)據(jù)發(fā)送與接收之間也存在不同的方式,即同步和異步兩種方式。這里的同步和異步與層次的同異步概念不同。主要涉及和的不同組合方式。同步發(fā)送與接收從應(yīng)用程序設(shè)計(jì)的角度講,報(bào)文發(fā)送和接收是同步進(jìn)行的,既報(bào)文發(fā)送后,發(fā)送方等待接收方返

31、回消息報(bào)文。同步方式一般需要考慮超時問題,即報(bào)文發(fā)出去后發(fā)送方不能無限等待,需要設(shè)定超時時間,超過該時間后發(fā)送方不再處于等待狀態(tài)中,而直接被通知超時返回。同步發(fā)送與接收經(jīng)常與短連接通信方式結(jié)合使用,稱為同步短連接通信方式,其事件流程可如上面的圖12所示。異步發(fā)送與接收從應(yīng)用程序設(shè)計(jì)的角度講,發(fā)送方只管發(fā)送數(shù)據(jù),不需要等待接收任何返回?cái)?shù)據(jù),而接收方只管接收數(shù)據(jù),這就是應(yīng)用層的異步發(fā)送與接收方式。要實(shí)現(xiàn)異步方式,通常情況下報(bào)文發(fā)送和接收是用兩個不同的進(jìn)程來分別處理的,即發(fā)送與接收是分開的,相互獨(dú)立的,互不影響。異步發(fā)送與接收經(jīng)常與長連接通信方式結(jié)合使用,稱為異步長連接通信方式。從應(yīng)用邏輯角度講,這

32、種方式又可分雙工和單工兩種情況。異步雙工異步雙工是指應(yīng)用通信的接收和發(fā)送在同一個程序中,而有兩個不同的子進(jìn)程分別負(fù)責(zé)發(fā)送和接收,異步雙工模式是比較復(fù)雜的一種通信方式,有時候經(jīng)常會出現(xiàn)在不同機(jī)構(gòu)之間的兩套系統(tǒng)之間的通信。比如銀行與銀行之間的信息交流。它也可以適用在現(xiàn)代程序中。如圖14所示,和端分別出兩個子進(jìn)程,形成兩對子進(jìn)程之間的連接,兩個連接都是單向的,一個連接是用于發(fā)送,另一個連接用于接收,這樣方式的連接就被稱為異步雙工方式連接。圖14長連接異步雙工模式異步單工應(yīng)用通信的接收和發(fā)送是用兩個不同的程序來完成,這種異步是利用兩對不同程序依靠應(yīng)用邏輯來實(shí)現(xiàn)的。圖15顯示了長連接方式下的異步單工模式

33、,在通信的和端,分別有兩套和程序,端的連接端的,端的只負(fù)責(zé)接收端發(fā)送的報(bào)文。端的連接端的只負(fù)責(zé)向端發(fā)送報(bào)文。圖15長連接異步單工模式NODEIMi1cbacfeandLon訐h&ir1:CfirriwniciLiiininiiiOHi(iiblnd.0?send0boukSindtawthersocket0*rs0lOPrecv0bind()11111(l.l.xl川伽S蘭accept0blockexcept-ClPrFEIIIIwriteOfsend0i-kutirIuncx?2ie)-:socket-0,LI:ipIconnect0典型通信連接模式綜上所述,在實(shí)際應(yīng)用程序設(shè)計(jì)中,就連接模式

34、而言,CCelsiussystem攝氏度我們需要考慮建立方式、連接方式、發(fā)送與接收方式這三個不同級別的設(shè)計(jì)方式。實(shí)際應(yīng)用程序連接模式可以是以上三類不同級別方式的組合。比如一般相關(guān)書籍上提供的范例程序大都是同步短連接的程序。有的組合是基本沒有實(shí)用價(jià)值的,比較常用的有價(jià)值的組合是以下幾種:同步短連接同步長連接異步短連接異步長連接雙工異步長連接單工其中異步長連接雙工是較為復(fù)雜的一種通信方式,有時候經(jīng)常會出現(xiàn)在不同銀行或不同城市之間的兩套系統(tǒng)之間的通信,比如國家金卡工程。由于這幾種通信方式比較固定,所以可以預(yù)先編制這幾種通信方式的模板程序。本文探討了中還將繼續(xù)討論總結(jié)應(yīng)用程序中連接模式的設(shè)計(jì)。在以后的文章應(yīng)用程序設(shè)計(jì)中的其他方面的設(shè)計(jì)話題,包括地址族模式設(shè)計(jì)、模式設(shè)計(jì)、以及通信數(shù)據(jù)格式設(shè)計(jì)等。+plus加號;正號-minus減號;負(fù)號plusorminus正負(fù)號Xismultipliedby乘號=isdividedby除號isequalto等于號i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論