(計(jì)算機(jī)軟件與理論專業(yè)論文)基于嵌入式系統(tǒng)的電子郵件及聊天功能的設(shè)計(jì)與實(shí)現(xiàn).pdf_第1頁(yè)
(計(jì)算機(jī)軟件與理論專業(yè)論文)基于嵌入式系統(tǒng)的電子郵件及聊天功能的設(shè)計(jì)與實(shí)現(xiàn).pdf_第2頁(yè)
(計(jì)算機(jī)軟件與理論專業(yè)論文)基于嵌入式系統(tǒng)的電子郵件及聊天功能的設(shè)計(jì)與實(shí)現(xiàn).pdf_第3頁(yè)
(計(jì)算機(jī)軟件與理論專業(yè)論文)基于嵌入式系統(tǒng)的電子郵件及聊天功能的設(shè)計(jì)與實(shí)現(xiàn).pdf_第4頁(yè)
(計(jì)算機(jī)軟件與理論專業(yè)論文)基于嵌入式系統(tǒng)的電子郵件及聊天功能的設(shè)計(jì)與實(shí)現(xiàn).pdf_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

(計(jì)算機(jī)軟件與理論專業(yè)論文)基于嵌入式系統(tǒng)的電子郵件及聊天功能的設(shè)計(jì)與實(shí)現(xiàn).pdf.pdf 免費(fèi)下載

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

文檔簡(jiǎn)介

查些查蘭塑主蘭堡壘查 塑墨 基于嵌入式系統(tǒng)的電子郵件及聊天功能的設(shè)計(jì)和實(shí)現(xiàn) 摘要 隨著i t 技術(shù)的日益發(fā)展 嵌入式設(shè)備的功能越來(lái)越強(qiáng)大 嵌入式設(shè)備決不 再只是充當(dāng)一個(gè)小小的個(gè)人信息管理工具了 更重要的是可以上網(wǎng)瀏覽 收發(fā)郵 件 在線聊天等 然而就目前國(guó)內(nèi)市場(chǎng)來(lái)說(shuō) 并不是所有的嵌入式設(shè)備都具備以 上所有的功能 即使具備 也可能由于缺乏相應(yīng)的服務(wù)而不能實(shí)現(xiàn) 但可以預(yù)見(jiàn) 嵌入式設(shè)備發(fā)展的趨勢(shì)和潮流就是計(jì)算 通信 網(wǎng)絡(luò) 存儲(chǔ)等功能的融合 目前市場(chǎng)上大多數(shù)的嵌入式系統(tǒng)都是商業(yè)化產(chǎn)品 價(jià)格昂貴 因此在開(kāi)發(fā)過(guò) 程中有必要使用一個(gè)模擬器 使得在p c 上可以模擬一個(gè)嵌入式設(shè)備 在p c 機(jī)上 可以方便的開(kāi)發(fā)和測(cè)試程序 并且可以幫助工程師快速的進(jìn)行分析和改進(jìn) 提高 了工作效率和降低了項(xiàng)目的開(kāi)發(fā)成本 在嵌入式操作系統(tǒng)的領(lǐng)域中 l i n u x 以其特有的魅力得到了眾多開(kāi)發(fā)商的親 睞 l i n u x 這些特性包括可以移植到多個(gè)同結(jié)構(gòu)的c p u 和硬件平臺(tái)上 有很好的 穩(wěn)定性以及各種性能的升級(jí)能力 本文一開(kāi)始對(duì)嵌入式技術(shù)作了簡(jiǎn)潔的介紹 并概括闡述了當(dāng)前嵌入式系統(tǒng)的 開(kāi)發(fā)環(huán)境的類型以及各自的特點(diǎn) 然后針對(duì)大家都很熟悉的t c p i p 協(xié)議進(jìn)行了簡(jiǎn) 單的描述 在第二章 針對(duì)介紹本論文所應(yīng)用到嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境作了一個(gè)簡(jiǎn) 單的介紹 第三章主要介紹了在一個(gè)嵌入式系統(tǒng)模擬器下設(shè)計(jì)和實(shí)現(xiàn)電子郵件功 能 并且實(shí)現(xiàn)的系統(tǒng)具有高實(shí)時(shí)性和高效率的特點(diǎn) 滿足嵌入式系統(tǒng)的特點(diǎn) 第 四章是對(duì)在上述模擬器上設(shè)計(jì)和實(shí)現(xiàn)聊天功能的描述 第五章主要介紹了在嵌入 式l i n u x 下設(shè)計(jì)和實(shí)現(xiàn)電子郵件功能 在最后的第六章是對(duì)本論文的總結(jié)和進(jìn)一步 工作的展望 關(guān)鍵詞嵌入式系統(tǒng)模擬器t c p i p 電子郵件 i i 東北大學(xué)碩士學(xué)位論文 a b s t r a c t t h e d e s i g n a n d i m p l e m e n t a t i o n o fe m a i la n dc h a tf u n c t i o n b a s e do ne m b e d d e d s y s t e m a b s t r a c t w i t h 也e d e v e l o p m e n to f t h ei n f o r m a t i o n t e c h n o l o g y t h e f u n c t i o no ft h e e m b e d d e dd e v i c ei sb e c o m i n gm o r ea n dm o r e p o w e r f u l i ti sn o to n l yu s e da sp e r s o n a l i n f o m l a t i o nm a n a g e r b u ta l s ou s e dt ob r o w s et h ew e b s i t e s r e c e i v ea n ds e n de m a i l c h a t a n ds oo n a n di nt h eh o m em a r k e ta tt h ep r e s e n tt i m e n o ta 1 1t h ed e v i c e sh a v et h e s e f u n c t i o n s b u ti tc a nb ef o r e s e e nt h a ti ti sa t e n d e n c yf o rt h ee m b e d d e dd e v i c et ob e e q u i p p e d t h ea b i l i t i e so f c o m p u t e r c o m m u n i c a t i o n n e t w o r k a n ds t o r a g e a t p r e s e n t m o s to f t h ee m b e d d e ds y s t e r n sa r ev e r ye x p e n s i v e i no r d e r t oc u td o w n t h ec o s to fd e v e l o p m e n t i ti s v e r yn e c e s s a r yt ou t i l i z eas i m u l a t o rt os i m u l a t et h e e m b e d d e d s y s t e m sa c t i o n sa tf i r s t a l s ow i t l lt h es i m u l a t o r t h ed e v e l o p e rc a r ld e v e l o p t e s ta n da n a l y z et h ec o d eq u i e k l v i nt h ee m b e d d e do s r e g i o n l i n u xi sw e l c o m eb ym a n yp r o d u c e r sb e c a u s el i n u x h a sf o l l o w i n gc h a r a c t e r ss u c ha s e a s i l yp o r t a b i l i t y s u p p o r t i n gm a n yd i f f e r e n tc p u a r c h i t e c t u r e s s t a b i l i t ya n de a s i l yb e i n gu p g r a d e d a n d o p e n r e s o u r c ep o l i c y a tt h eb e g i n n i n go ft h et h e s i s e m b e d d e dt e c h n o l o g yi si n t r o d u c e dc o m p a c t l y e s p e c i a l l ye m p h a s i so nt h et y p e so f e m b e d d e ds y s t e md e v e l o pe n v i r o n m e n t s t h e nt h e w e l l k n o w nt c p i pp r o t o c o li s s i m p l ed i s c u s s e d i nt h es e c o n dc h a p t e r t h ed e v e l o p e n v i r o n m e n t su s e di nt h et h e s i sa r es t a t e d i nt h et i f f r d c h a p t e r t h ed e s i g na n d i m p l e m e n to fe m a i li no n ee m b e d d e ds y s t e m ss i m u l a t o r a r ed e s c r i b e d t h e s em o d u l e s m a t d e s i g n e da r es oe f n t i e n ta n d r e a l t i m et h a ti ti ss u i tf o ra ne m b e d d e d s y s t e m i nt h e f o r t hc h a p t e r t h ed e s i g na n di m p l e m e n to fe m a i li nt h ee m b e d d e ds y s t e m ss i m u l a t o r a r ed e s c r i b e d i nt h ef i f t hc h a p t e r t h ed e s i g na n di m p l e m e n to fe m a i lf u n c t i o ni nt h e e m b e d d e dl i n u xa r ed e s c r i b e d a tt h ee n d as u m m a r yo ft h i st h e s i si sm a d ea n ds o m e f u t u r ee x p e c t a t i o n sa r ep r e s e n t e di nt h es i x t hc h a p t e r k e y w o r d se m b e d d e d s y s t e m s i m u l a t o r t c m 只e m a i l i 聲明 本人聲明所呈交的學(xué)位論文是在導(dǎo)師的指導(dǎo)下完成的 論文中取 得的研究成果除加以標(biāo)注和致謝的地方外 不包含其他人已經(jīng)發(fā)表或 撰寫(xiě)過(guò)的研究成果 也不包括本人為獲得其他學(xué)位而使用過(guò)的材料 與我一同工作過(guò)的同志對(duì)本研究所做的任何貢獻(xiàn)均已在論文中作了明 確的說(shuō)明并表示謝意 本人簽名 日期 t 砷搬 v 卑 o 東北大學(xué)碩士學(xué)位論文第一章引言 第一章引言 隨著i t 信息 技術(shù)的飛速發(fā)展 特別是互聯(lián)網(wǎng)的迅速普及 3 c 計(jì)算機(jī) 通訊 消費(fèi)電子 合一的加速 數(shù)字化時(shí)代已經(jīng)來(lái)臨 嵌入式系統(tǒng)是數(shù)字化時(shí)代 的一大主流產(chǎn)品 世界各國(guó)在此領(lǐng)域開(kāi)始了激烈競(jìng)爭(zhēng) 以爭(zhēng)取獲得主導(dǎo)地位 嵌 入式系統(tǒng)是數(shù)字化產(chǎn)品的核心 為適應(yīng)嵌入式分布處理結(jié)構(gòu)和應(yīng)用上網(wǎng)需求 面向2 1 世紀(jì)的嵌入式系統(tǒng)要求 配備標(biāo)準(zhǔn)的一種或多種網(wǎng)絡(luò)通信接口 針對(duì)外部聯(lián)網(wǎng)要求 嵌入設(shè)備必需配有通 信接口 相應(yīng)需要t c p i p 協(xié)議族軟件支持 由于家用電器相互關(guān)聯(lián) 如防盜報(bào)警 燈光能源控制 影視設(shè)備和信息終端交換信息 及實(shí)驗(yàn)現(xiàn)場(chǎng)儀器的協(xié)調(diào)工作等要求 新一代嵌入式設(shè)備還需具備i e e e l 3 9 4 u s b b l u e t o o t h 或i r d a 通信接口 同時(shí) 也需要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動(dòng)軟件 為了支持應(yīng)用軟件的特 定編程模式 如w e b 或無(wú)線w e b 編程模式 還需要相應(yīng)的瀏覽器 如h t m l w m l 等 可以想象 如果一個(gè)體積很小的嵌入式系統(tǒng)能夠進(jìn)行收發(fā)郵件 在線聊 天 h r r p 通信 將是一件多么美妙的事情啊 但是現(xiàn)在大多數(shù)的嵌入式系統(tǒng)都是商業(yè)化產(chǎn)品 價(jià)格昂貴 所以嵌入式系統(tǒng) 開(kāi)發(fā)前期投入比較大 開(kāi)發(fā)工具投入高 為了改變這種狀況 有必要設(shè)計(jì)一個(gè)模 擬器 使得在p c 上可以模擬一個(gè)嵌入式設(shè)備 在p c 機(jī)上可以方便的開(kāi)發(fā)和測(cè)試 程序 并且可以幫助工程師快速的進(jìn)行分析和改進(jìn) 提高了工作效率和降低了項(xiàng) 目的開(kāi)發(fā)成本 隨著自由軟件理念日益為大眾廣為接受 一批自由軟件在i t 的各個(gè)領(lǐng)域取得 了巨大成功 l i n u x 是其中最具代表性的一個(gè) 其自由 開(kāi)放的特性吸引了大批軟 件廠商和獨(dú)立開(kāi)發(fā)人員 多年的發(fā)展和業(yè)界同仁的共同努力已使其成為高效 穩(wěn) 定 低成本的操作系統(tǒng) 而且由于l i n u x 開(kāi)放源代碼 任何人都可以對(duì)其進(jìn)行裁減 修改 以適應(yīng)自行開(kāi)發(fā)的需要 1 1 嵌入式系統(tǒng)概述 1 1 1 嵌入式系統(tǒng)的定義 嵌入式系統(tǒng)是指同時(shí)將操作系統(tǒng)和功能軟件集成于計(jì)算機(jī)硬件系統(tǒng)之中的一 種系統(tǒng) 簡(jiǎn)單的說(shuō)就是應(yīng)用軟件 操作系統(tǒng)和硬件系統(tǒng)一體化 類似于b o s 的工 作方式 具有代碼小 高度自動(dòng)化 響應(yīng)速度快的特點(diǎn) 特別適合于要求實(shí)時(shí)的 和多任務(wù)的體系 東北大學(xué)碩士學(xué)位論文第一章引言 嵌入式系統(tǒng)最初是指用以控制設(shè)備的計(jì)算機(jī) 通常是在葭備內(nèi)部 為了控制 設(shè)備行為或是嵌入在其它系統(tǒng)中的一種專用軟件和硬件 它一旦啟動(dòng)就執(zhí)行某一 特定的程序 中間無(wú)需人工干預(yù) 直到關(guān)機(jī)為止 但通常要求具有實(shí)時(shí)響應(yīng)能力 一般不要求復(fù)雜的用戶界面 甚至不要求支持鍵盤(pán) 顯示器 串行口 硬盤(pán)等鄉(xiāng)卜 設(shè)接口 也不需用戶進(jìn)行二次開(kāi)發(fā) 它被廣泛地用于儀器儀表 工業(yè)控制設(shè)各 電梯 程控交換機(jī) 微波設(shè)備 交通燈 家用電器等設(shè)備中 近年來(lái) 隨著信息 技術(shù)的飛速發(fā)展 嵌入式系統(tǒng)具有了新的內(nèi)涵 同時(shí)萌生了許多形態(tài)各異的接入 設(shè)備 如手持電腦 可上網(wǎng)的無(wú)線移動(dòng)手機(jī) 機(jī)頂盒 家庭網(wǎng)關(guān) 可上網(wǎng)的電視 機(jī) 可上網(wǎng)的車載盒 智能家用電器等等 相應(yīng)地對(duì)嵌入式軟件也提出了與最初 不同的要求 1 1 2 嵌入式系統(tǒng)的特點(diǎn) 嵌入式系統(tǒng)的所有特點(diǎn)都是體現(xiàn)在 嵌入 這個(gè)詞上 既然要嵌入就必須 要要嵌入的主體和嵌入的客體 從這些特點(diǎn)中也要能區(qū)分出嵌入式系統(tǒng)與普通通 用的系統(tǒng)的差別 總體來(lái)說(shuō) 嵌入式計(jì)算機(jī)系統(tǒng)同通用型計(jì)算機(jī)系統(tǒng)相比具有以 下特點(diǎn) 3 0 1 1 嵌入式系統(tǒng)通常是面向特定應(yīng)用的 嵌入式c p u 與通用型的最大不同就 是嵌入式c p u 大多工作在為特定用戶群設(shè)計(jì)的系統(tǒng)中 它通常都具有低功耗 體 積小 集成度高等特點(diǎn) 能夠把通用c p u 中許多由板卡完成的任務(wù)集成在芯片內(nèi) 部 從而有利于嵌入式系統(tǒng)設(shè)計(jì)趨于小型化 移動(dòng)能力大大增強(qiáng) 跟網(wǎng)絡(luò)的耦合 也越來(lái)越緊密 2 嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù) 半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的 具體應(yīng)用相結(jié)合后的產(chǎn)物 這一點(diǎn)就決定了它必然是一個(gè)技術(shù)密集 資金密集 高度分散 不斷創(chuàng)新的知識(shí)集成系統(tǒng) 3 嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計(jì) 量體裁衣 去除冗余 力 爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能 這樣才能在具體應(yīng)用中對(duì)處理囂的選擇 更具有競(jìng)爭(zhēng)力 4 嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起 它的升級(jí)換代也是和具體產(chǎn)品 同步進(jìn)行 因此嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng) 具有較長(zhǎng)的生命周期 5 為了提高執(zhí)行速度和系統(tǒng)可靠性 嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ) 器芯片或單片機(jī)本身中 而不是存貯于磁盤(pán)等載體中 f 6 嵌入式系統(tǒng)本身不具備自行開(kāi)發(fā)能力 即使設(shè)計(jì)完成以后用戶通常也是不 能對(duì)其中的程序功能進(jìn)行修改的 必須有一套開(kāi)發(fā)工具和環(huán)境才能進(jìn)行開(kāi)發(fā) 2 東北大學(xué)碩士學(xué)位論文第一章引言 1 1 3 嵌入式系統(tǒng)開(kāi)發(fā)需要的開(kāi)發(fā)工具和環(huán)境 通用計(jì)算機(jī)具有完善的人機(jī)接口界面 在上面增加一些開(kāi)發(fā)應(yīng)用程序和環(huán)境 即可以對(duì)自身的開(kāi)發(fā) 而嵌入式系統(tǒng)本身不具備自我開(kāi)發(fā)能力 即使設(shè)計(jì)完成后 用戶通常也是不能對(duì)其中的程序功能進(jìn)行修改的 必須有一套開(kāi)發(fā)工具和環(huán)境才 能進(jìn)行開(kāi)發(fā) 這些工具和環(huán)境一般是基于通用計(jì)算機(jī)上的軟硬件設(shè)備以及各種邏 輯分析儀 混合信號(hào)示波器等 嵌入式處理器是一個(gè)復(fù)雜的高科技系統(tǒng) 要在短時(shí)間內(nèi)掌握并開(kāi)發(fā)出所有功 能是很不容易的 而市場(chǎng)競(jìng)爭(zhēng)則需要產(chǎn)品能夠快速上市 這一矛盾需要嵌入式處 理器能夠有容易掌握和使用的開(kāi)發(fā)工具平臺(tái) 提高用戶和程序員的時(shí)間投入回報(bào) 率 目前嵌入式系統(tǒng)的開(kāi)發(fā)工具平臺(tái)主要包括下面幾類 1 實(shí)時(shí)在線仿真系統(tǒng)i c e i t c i r c u i te m u l a t o r 直到計(jì)算機(jī)輔助設(shè)計(jì)非常發(fā)達(dá)的今天 實(shí)時(shí)在線仿真系統(tǒng)仍是進(jìn)行嵌入式系 統(tǒng)調(diào)試最有效的開(kāi)發(fā)工具 i c e 首先可以通過(guò)實(shí)際執(zhí)行 對(duì)應(yīng)用程序進(jìn)行原理性檢 驗(yàn) 排除以人的思維難以發(fā)現(xiàn)的設(shè)計(jì)邏輯錯(cuò)誤 i c e 的另一個(gè)主要功能是在應(yīng)用系 統(tǒng)中仿真硬件的實(shí)時(shí)執(zhí)行 發(fā)現(xiàn)和排除由于硬件干擾等原因引起的異常執(zhí)行行為 此外 高級(jí)的i c e 帶有完善的跟蹤功能 可以將應(yīng)用系統(tǒng)的實(shí)際狀態(tài)變化 硬件 的狀態(tài)變化的反應(yīng)等以一種錄像的方式連續(xù)紀(jì)錄下來(lái) 以供分析 在分析中優(yōu)化 控制過(guò)程 很多機(jī)電系統(tǒng)難以建立一個(gè)精確有效的數(shù)學(xué)模型 或建立模型需要大 量人力 這時(shí)采用i c e 的跟蹤功能對(duì)系統(tǒng)進(jìn)行紀(jì)錄和分析是一個(gè)快而有效的方法 2 高級(jí)語(yǔ)言編譯器 c o m p i l e r c 語(yǔ)言作為一種通用的高級(jí)語(yǔ)言 大幅度提高了嵌入式系統(tǒng)工程師的工作效 率 使之能夠充分發(fā)揮出嵌入式處理器日益提高的性能 縮短產(chǎn)品進(jìn)入市場(chǎng)的時(shí) 間 另外c 語(yǔ)言便于移植和修改 使產(chǎn)品的升級(jí)和繼承更迅速 更重要的是采用 c 語(yǔ)言編寫(xiě)的程序易于在不同的開(kāi)發(fā)者之間進(jìn)行交流 從而促使嵌入式系統(tǒng)開(kāi)發(fā)的 產(chǎn)業(yè)化 區(qū)別于一般計(jì)算機(jī)中的c 語(yǔ)言編譯器 嵌入式系統(tǒng)中的c 語(yǔ)言編譯器要專門(mén) 進(jìn)行優(yōu)化 以提高編譯效率 優(yōu)秀的嵌入式系統(tǒng)c 編譯器代碼長(zhǎng)度和執(zhí)行時(shí)間僅 比匯編語(yǔ)言編寫(xiě)的同樣功能程序長(zhǎng)5 2 0 編譯質(zhì)量的不同 是區(qū)別嵌入式c 編 譯器工具的重要指標(biāo) 而c 編譯器與匯編語(yǔ)言工具相比殘余5 2 0 效率的差別 完全可以由現(xiàn)代微控制器的高速度 大存儲(chǔ)空間以及產(chǎn)品提前進(jìn)入市場(chǎng)的優(yōu)勢(shì)來(lái) 彌補(bǔ) 新型的微控制器指令的速度不斷提高 存儲(chǔ)器空間也相應(yīng)加大 已經(jīng)達(dá)到甚 至超過(guò)目前的通用計(jì)算機(jī)中的微處理器 為嵌入式系統(tǒng)工程師采用過(guò)去一直不敢 3 東北大學(xué)碩士學(xué)位論文第一章引言 問(wèn)津的c 語(yǔ)言創(chuàng)造了條件 c 抖語(yǔ)言強(qiáng)大的類 繼承等功能更便于實(shí)現(xiàn)復(fù)雜的程 序功能 但是c 語(yǔ)言為了支持復(fù)雜的語(yǔ)法 在代碼生成效率方面不免有所下降 為此 1 9 9 5 年初在日本成立了e m b e d d e dc 技術(shù)委員會(huì) 他們針對(duì)嵌入式應(yīng)用制 定了減小代碼尺寸的e c 標(biāo)準(zhǔn) e c 保留了c r 的主要優(yōu)點(diǎn) 提供對(duì)c 的向 上兼容性 并滿足嵌入式系統(tǒng)設(shè)計(jì)的一些特殊要求 c c e c 引入嵌入式系統(tǒng) 使得嵌入式開(kāi)發(fā)和個(gè)人計(jì)算機(jī)上的開(kāi)發(fā)上的差別 正在逐漸消除 軟件工程的很多經(jīng)驗(yàn) 方法乃至庫(kù)函數(shù)都可以移植到嵌入式系統(tǒng) 在嵌入式開(kāi)發(fā)中采用高級(jí)語(yǔ)言 還使得硬件開(kāi)發(fā)和軟件開(kāi)發(fā)可以分工 從事嵌入 式軟件開(kāi)發(fā)不再必須精通系統(tǒng)硬件和相應(yīng)的匯編語(yǔ)言指令集了 另 種高級(jí)語(yǔ)言 j a v a 的發(fā)展則具有戲劇性 j a v a 本來(lái)是為設(shè)備獨(dú)立的嵌 入式系統(tǒng)設(shè)計(jì)的 為了提高程序繼承性的語(yǔ)言 但是目前基于j a v a 的嵌入式開(kāi)發(fā) 工具代碼生成長(zhǎng)度要比嵌入式c 編譯工具差l o 倍以上 因此e c 很可能將是未 來(lái)的主流工具 3 源程序模擬器 模擬器是在廣泛使用的 入機(jī)接口完備的工作平臺(tái)上 如小型機(jī)和p c 通過(guò) 軟件手段模擬執(zhí)行為某種嵌入式處理器內(nèi)核編寫(xiě)的源程序測(cè)試工具 簡(jiǎn)單的模擬 器可以通過(guò)指令解釋方式逐條執(zhí)行源程序 分配虛擬存儲(chǔ)空間和外設(shè) 供程序員 檢查 高級(jí)的模擬器可以利用計(jì)算機(jī)的外部接口模擬出處理器的i o 電氣信號(hào) 不 同檔次和功能模擬器工具價(jià)格差距很大 模擬器軟件獨(dú)立于處理器硬件 一般與編譯器集成在同一個(gè)環(huán)境中 是一種 有效的源程序檢驗(yàn)和測(cè)試工具 但值得注意的是 模擬器畢竟是以一種處理器模 擬另一種處理器的運(yùn)行 在指令執(zhí)行時(shí)間 中斷響應(yīng) 定時(shí)器等方面很可能與實(shí) 際處理器有相當(dāng)?shù)牟顒e 另外它無(wú)法和i c e 一樣 仿真嵌入式系統(tǒng)在應(yīng)用系統(tǒng)中 的實(shí)際執(zhí)行情況 本論文的開(kāi)發(fā)首先就是在源程序模擬器上進(jìn)行開(kāi)發(fā)和調(diào)試的 4 實(shí)時(shí)多任務(wù)操作系統(tǒng) r e a jt i m em u l t i t a s k i n go p e r a t i o ns y s t e m r t o s 實(shí)時(shí)多任務(wù)系統(tǒng)是嵌入式應(yīng)用軟件的基礎(chǔ)和開(kāi)發(fā)平臺(tái) 目前在中國(guó)大多數(shù)嵌 入式軟件開(kāi)發(fā)還是基于處理器直接編寫(xiě) 沒(méi)有采用商品化的r t o s 不能將系統(tǒng)軟 件和應(yīng)用軟件分開(kāi)處理 r t o s 是一段嵌入在目標(biāo)代碼中的軟件 用戶的其他應(yīng)用 程序都建立在r t o s 之上 不但如此 r t o s 還是一個(gè)可靠性和可信性很高的實(shí)時(shí) 內(nèi)核 將c p u 時(shí)間 中斷 y o 定時(shí)器等資源都包裝起來(lái) 留給用戶一個(gè)標(biāo)準(zhǔn)的 a p i 并根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí) 合理地在不同任務(wù)之間分配c p u 時(shí)間 r t o s 是針對(duì)不同處理器優(yōu)化設(shè)計(jì)的高效率實(shí)時(shí)多任務(wù)內(nèi)核 優(yōu)秀商品化的 r t o s 可以面對(duì)幾十個(gè)系列的嵌入式處理器的a p i 接口 這是r t o s 基于設(shè)備獨(dú)立 d 東北大學(xué)碩士學(xué)位論文第一章引言 的應(yīng)用程序開(kāi)發(fā)基礎(chǔ) 因此基于r t o s 上的c 語(yǔ)言程序具有極大的可移植性 據(jù)專家測(cè)算 優(yōu)秀r t o s 上夸處理器平臺(tái)的程序移植之需要修改l 5 的內(nèi)容 在 r t o s 基礎(chǔ)上可以編寫(xiě)出各種硬件驅(qū)動(dòng)程序 專家?guī)旌瘮?shù) 行業(yè)庫(kù)函數(shù) 產(chǎn)品庫(kù) 函數(shù) 和通用性應(yīng)用程序一起 可以作為產(chǎn)品銷售 促進(jìn)行業(yè)內(nèi)的知識(shí)產(chǎn)權(quán)交流 因此r t o s 又是一個(gè)軟件開(kāi)發(fā)平臺(tái) 本論文在嵌入式l i n u x 下設(shè)計(jì)和實(shí)現(xiàn)了e m a i l 功能 1 2t c p i p 協(xié)議族 t c p i p 是用于計(jì)算機(jī)通信的一組協(xié)議 我們通常稱它為t c p i p 協(xié)議族 它是 7 0 年代中期美國(guó)國(guó)防部為其a r p a n e t 廣域網(wǎng)開(kāi)發(fā)的網(wǎng)絡(luò)體系結(jié)構(gòu)和協(xié)議標(biāo)準(zhǔn) 以它為基礎(chǔ)組建的i n t e r n e t 是目前國(guó)際上規(guī)模最大的計(jì)算機(jī)網(wǎng)絡(luò) 正因?yàn)?i n t e r n e t 的廣泛使用 使得t c p i p 成了事實(shí)上的標(biāo)準(zhǔn) 之所以說(shuō)t c p i p 是一 個(gè)協(xié)議族 是因?yàn)閠 c p i p 協(xié)議 2 包括t c p i p u d p i c m p r i p t e l n e t f t p s m t p a r p t f l 甲等許多協(xié)議 這些協(xié)議一起稱為t c p i p 協(xié)議 與i s o 的0 s i 七層參考模型不同的是 t c p i p 不是作為標(biāo)準(zhǔn)制定的 而是產(chǎn)生于i n t e m e t 的研究 和應(yīng)用的實(shí)踐中 雖然用o s i 參考模型也可以描述t c p i p 協(xié)議 但是兩者在細(xì)節(jié) 上還是有一些差異 1 2 1t c p i p 協(xié)議族分層結(jié)構(gòu) 從協(xié)議分層模型方面來(lái)講 t c p i p 由五個(gè)層次組成 物理層 鏈路層 網(wǎng)絡(luò) 層 傳輸層 應(yīng)用層 由于物理層是純硬件這里不做詳細(xì)討論 剩下的四層的結(jié) 構(gòu)如圖1 1 中所示 其中 鏈路層是t c p i p 軟件的最低層 負(fù)責(zé)接收i p 數(shù)據(jù)報(bào)并通過(guò)網(wǎng)絡(luò)發(fā)送之 或者 從網(wǎng)絡(luò)上接收物理幀 抽出i p 數(shù)據(jù)報(bào) 交給i p 層 網(wǎng)絡(luò)層負(fù)責(zé)相鄰計(jì)算機(jī)之間的通信 其功能包括三方面 1 處理來(lái)自傳輸層的分組發(fā)送請(qǐng)求 收到請(qǐng)求后 將分組裝入i p 數(shù)據(jù)報(bào) 填充報(bào)頭 選擇去往信宿機(jī)的路徑 然后將數(shù)據(jù)報(bào)發(fā)往適當(dāng)?shù)木W(wǎng)絡(luò)接口 2 處理輸入數(shù)據(jù)報(bào) 首先檢查其合法性 然后進(jìn)行尋徑 假如該數(shù)據(jù)報(bào)已 到達(dá)信宿機(jī) 則去掉報(bào)頭 將剩下部分交給適當(dāng)?shù)膫鬏攨f(xié)議 假如該數(shù)據(jù)報(bào)尚未 到達(dá)信宿 則轉(zhuǎn)發(fā)該數(shù)據(jù)報(bào) 3 處理路徑 流量控制 擁塞等問(wèn)題 傳輸層提供應(yīng)用程序間的通信 其功能包括 一 格式化信息流 二 提供 5 東北大學(xué)碩士學(xué)位論文 第一章引言 可靠傳輸 為實(shí)現(xiàn)后者 傳輸層協(xié)議規(guī)定接收端必須發(fā)回確認(rèn) 并且假如分組丟 失 必須重新發(fā)送 應(yīng)用層向用戶提供一組常用的應(yīng)用程序 比如電子郵件 文件傳輸訪問(wèn) 遠(yuǎn) 程登錄等 遠(yuǎn)程登錄t e l n e t 使用t e l n e t 協(xié)議提供在網(wǎng)絡(luò)其它主機(jī)上注冊(cè)的接 口 t e l n e t 會(huì)話提供了基于字符的虛擬終端 文件傳輸訪問(wèn)f t p 使用f t p 協(xié)議 來(lái)提供網(wǎng)絡(luò)內(nèi)機(jī)器問(wèn)的文件拷貝功能 圖1 1t c p i p 協(xié)議族分層結(jié)構(gòu)示意圖 7 f i g i 1l a y e r s t r u c t u r eo f t c p i ps u i t e l 1 2 2t c p i p 特點(diǎn) t c p i p 協(xié)議的核心部分是傳輸層的協(xié)議 t c p u d p 網(wǎng)絡(luò)層協(xié)議 i p 和物理 接口層 這三層通常是在操作系統(tǒng)內(nèi)核中實(shí)現(xiàn) 因此用戶一般不涉及 編程時(shí) 編程界面有兩種形式 1 1 是由內(nèi)核心直接提供的系統(tǒng)調(diào)用 f 2 使用以庫(kù)函數(shù)方式提供的各種函數(shù) 前者為核內(nèi)實(shí)現(xiàn) 后者為核外實(shí)現(xiàn) 用戶服務(wù)要通過(guò)核外的應(yīng)用程序才能實(shí) 現(xiàn) 所以要使用套接字 s o c k e t 來(lái)實(shí)現(xiàn) 6 東北大學(xué)碩士學(xué)位論文第一章引言 圖1 2 是t c p i p 協(xié)議核心與應(yīng)用程序關(guān)系圖 直用程序1應(yīng)用程序2 網(wǎng)絡(luò)應(yīng)用編程界面 s o c k e t t c p i p 核心協(xié)議 物理介質(zhì) 圖1 2t c 剛p 協(xié)議與應(yīng)用程序關(guān)系圖嗍 f i g 1 2 r e l a t i o n b e t w e e n t h e t c p i p p r o t o c o l s a n d t h e a p p l i c a t i o n s l 8 1 1 2 3 套接字 s o c k e t s 套接字是網(wǎng)絡(luò)通信的基本構(gòu)件 套接字是可以被命名和尋址的通信端點(diǎn) 使 用中的每一個(gè)套接字都有其類型和一個(gè)與之相連的進(jìn)程 套接字存在于通信區(qū)域中 通信區(qū)域也叫地址族 它是一個(gè)抽象概念 主要 用于將通過(guò)套接字通信的進(jìn)程的共有特性綜合在一起 套接字通常只與同一區(qū)域 中的套接字交換數(shù)據(jù) 也有可能跨越區(qū)域通信 但這只在執(zhí)行了某種轉(zhuǎn)換進(jìn)程后 才能實(shí)現(xiàn) w i n d o w ss o c k e t s 只支持一個(gè)通信區(qū)域 網(wǎng)際域 a f i n e t 這個(gè)域 被網(wǎng)際協(xié)議族通信的進(jìn)程使用 套接字都具有類型 它是根據(jù)用戶可見(jiàn)的通信特征進(jìn)行分類的 應(yīng)用程序被 假定為只在同一類型的套接字間通信 不過(guò)只要依據(jù)的通信協(xié)議支持 也完全可 以在不同類型的套接字間通信 w i n d o w ss o c k e t s 版本1 1 支持兩種套接字 面向 連接套接字 s o c ks t r e a m 和無(wú)連接套接字 s o c kd g r a m 在w i n d o w s 環(huán)境性實(shí)現(xiàn)s o c k e t s 是指實(shí)現(xiàn)了w i n d o w ss o c k e t s 規(guī)范所描述的全 部功能的一套軟件 一般來(lái)說(shuō) 在w i n d o w s 下實(shí)現(xiàn)w i n d o w ss o c k e t s 功能都是通 7 東北大學(xué)碩士學(xué)位論文 第一章引言 過(guò)d l l 實(shí)現(xiàn)的 并且很多實(shí)現(xiàn)是純粹通過(guò)d l l 實(shí)現(xiàn)的 因此 本文中的w i n d o w s s o c k e t s 實(shí)現(xiàn)的提法可以說(shuō)等價(jià)于w i n d o w s s o c k e t sd l l 8 東北大學(xué)碩士學(xué)位論文第二章系統(tǒng)開(kāi)發(fā)環(huán)境介紹 第二章系統(tǒng)開(kāi)發(fā)環(huán)境介紹 本論文首先是在一個(gè)嵌入式設(shè)備的模擬器上實(shí)現(xiàn)電子郵件功能和在線聊天功 能 然后把電子郵件功能移植到一個(gè)嵌入式l i n u x 系統(tǒng)上去運(yùn)行 因此本文所應(yīng)用 到的開(kāi)發(fā)環(huán)境有兩個(gè) 一是嵌入式系統(tǒng)模擬器 另一是在嵌入式l i n u x 2 1 嵌入式系統(tǒng)模擬器 2 1 1 嵌入式設(shè)備和模擬器之間的差異 圖2 1 是嵌入式設(shè)備的工作環(huán)境 底層是一個(gè)嵌入式操作系統(tǒng) 各應(yīng)用程序 是通過(guò)m m i m a n m a c h i n ei n t e r f a c e 程序?qū)崿F(xiàn) 各個(gè)系統(tǒng)設(shè)備的消息發(fā)送 例如 按鍵 有新郵件等 都是通過(guò)此嵌入式操作系統(tǒng)的服務(wù)程序 s e r v i c e r o u t i n e 的系統(tǒng)調(diào)用實(shí)現(xiàn)的 圖2 1 嵌入式設(shè)備上的操作環(huán)境 f i 9 2 io p e r a t i n ge n v i r o n m e n t o ne m b e d d e dd e v i c e 雖說(shuō)嵌入式設(shè)備的模擬器中的m m1 程序就是在w i n d o w s 模擬開(kāi)發(fā)嵌入式系 統(tǒng)的應(yīng)用程序 但是進(jìn)行一些以下改變還是非常有必要的 1 由于由嵌入式0 s 轉(zhuǎn)變?yōu)閣 i n d o w s0 s 所以消息發(fā)送改變?yōu)閣 i n d o w s 進(jìn) 程間的消息發(fā)送處理 2 由于不存在外設(shè) 所以要對(duì)外圍設(shè)備的動(dòng)作進(jìn)行模擬 并對(duì)外圍設(shè)備狀態(tài) 的進(jìn)行監(jiān)控 考慮上述兩中改變后的環(huán)境見(jiàn)圖2 2 9 東北大學(xué)碩士學(xué)位論文第二章系統(tǒng)開(kāi)發(fā)環(huán)境介紹 口進(jìn)程i 二二 二 w n 應(yīng)用程序 圖2 2w i n d o w s 上操作環(huán)境 f i 9 2 2o p e r a t i n g e n v i r o n m e n to nw i n d o w s 2 1 2 模擬器的構(gòu)成 嵌入式設(shè)備模擬器是在w i n d o w so s 是利用多線程來(lái)實(shí)現(xiàn)的 由以下三個(gè)功能 模塊構(gòu)成 1 硬件模擬模塊 硬件模擬模塊有以下3 個(gè)功能組成 硬件狀態(tài)監(jiān)控 操作模擬 應(yīng)用程序狀態(tài)轉(zhuǎn)換模擬 f 2 1 事件轉(zhuǎn)換模塊 把硬件模擬模塊中的各種事件轉(zhuǎn)換成一個(gè)消息 事件 發(fā)送給m m i 程序模塊 并且使用一個(gè)線程來(lái)進(jìn)行應(yīng)用程序的管理 3 m m i m a n m a c h i n e i n t e r f a c e 程序模塊 嵌入式設(shè)備的實(shí)際動(dòng)作在模擬器應(yīng)用程序模擬的動(dòng)作是通過(guò)動(dòng)態(tài)連接庫(kù) d 1 1 提供的 完成相應(yīng)處理 最后給硬件模擬模塊發(fā)送一個(gè)消息 使硬件模擬模塊進(jìn) 行相應(yīng)的操作 這三個(gè)功能模塊相互之間的關(guān)系見(jiàn)圖2 3 1 0 東北大學(xué)碩士學(xué)位論文第二章系統(tǒng)開(kāi)發(fā)環(huán)境介紹 圖2 3 模擬器功能模塊關(guān)聯(lián)圖 f i g 2 3r e l a t i o na m o n g t h em o d u l e so f s i m u l a t o r 各個(gè)模塊通信過(guò)程如下 硬件模擬模塊到事件轉(zhuǎn)換模塊 各個(gè)單獨(dú)的應(yīng)用程序使用s e n d m e s s a g e 函數(shù)進(jìn)行通信 事件轉(zhuǎn)換模塊到m m i 程序模塊 啟動(dòng)一個(gè)線程進(jìn)行通信 并發(fā)送一個(gè) 消息 m m i 程序模塊到硬件模擬模塊 各個(gè)單獨(dú)的應(yīng)用程序使用s e n d m e s s a g e 函數(shù)進(jìn)行通信 根據(jù)以上分析 可以得到事件處理的時(shí)序圖 圖2 4 是按鍵事件發(fā)生的時(shí)序圖 其它事件的時(shí)序圖和他類似 m m i 程序模塊是本嵌入式系統(tǒng)的核心部分 所有的a p p 都是在此進(jìn)行處理的 這個(gè)函數(shù)的主要處理過(guò)程如下 1 初始化處理 從電源o f f 到電源o n 時(shí)的處理過(guò)程 a p p l i c a t i o nl i s t 初期化 e m u l a t i o nd e v i c e 初期化 各t a s k 初期化 2 事件取得 用g e t s i m e v e n t 函數(shù)取得事件轉(zhuǎn)換模塊發(fā)送來(lái)的事件 3 事件解析 根據(jù)p o w e r o n o f f 的狀態(tài)調(diào)用p r o c p o w e r o n o f f 進(jìn)行事件解析 4 實(shí)時(shí)控制 根據(jù)所解析的事件進(jìn)行相應(yīng)的處理 型墮蘭塑主蘭堡壘查 苧三主墾塾塹查塹些坌絲 i 摹鬟鏟ii 鼉鏟l i 模塊 ll 覆塊l li l li ii 嚴(yán)u s e m j s q m l 7 l l i備鬻件處理 摹f 牛隊(duì)判 l 函憎齄 i l l 日e t i 聰v e n t f i i g e t s i 衛(wèi)匹v e n t l 1 廣 s e n d l e s s a e0 鬯 圖2 4 按鍵事件發(fā)生時(shí)序圖 f i g 2 4s e q u e n c ed i a g r a mo f p r e s s i n gk e ye v e n t 2 2 嵌入式l i n u x 嵌入式l i n u x 4 j 則是按照嵌入式操作系統(tǒng)的要求而設(shè)計(jì)的一種小型操作系統(tǒng) 由一個(gè)k e r n e l 內(nèi)核 及一些根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成 其k e r n e l 很小 一般只有幾百k b 左右 即使加上其他必須的模塊和應(yīng)用程序 所需的存儲(chǔ)空間也 很小 它有多任務(wù) 多進(jìn)程的系統(tǒng)特征 有些還具有實(shí)時(shí)性 一個(gè)小型的嵌入式 l i n u x 系統(tǒng)只需要引導(dǎo)程序 l i n u x 微內(nèi)核 初始化進(jìn)程3 個(gè)基本元素 運(yùn)行嵌入 式l i n u x 的c p u 可以是x 8 6 a l p h a s p a r c m i p s p p c 等 與這些芯片搭配的 主板都很小 與一張p c i 卡大小相當(dāng) 有的甚至更小 嵌入式l i n u x 所需的存儲(chǔ) 器不是軟磁盤(pán) 硬盤(pán) z i p 盤(pán) c d r o m d v d 這些眾所周知的常規(guī)存儲(chǔ)器 它 使用r o m c o m p a c t f l a s h m s y s t e m s 的d i s k o n c h i p s o n y 的m e m o r y s t i c k i b m 的m i c r o d r i v e 等體積極小 與主板上的b i o s 大小相近 存儲(chǔ)容量不太大的存 儲(chǔ)器 它的內(nèi)存可以使用普通的內(nèi)存 也可以使用專用的r a m 目前嵌入式l i n u x 的應(yīng)用非常的廣泛 而且根據(jù)相關(guān)的調(diào)查和專家的分析 嵌入式l i n u x 的應(yīng)用會(huì)越來(lái)越多 是什么力量促使嵌入式l i n u x 在這么短的時(shí)間就 讓包括一些專家在內(nèi)的用戶喜歡上它并使用它的呢 嵌入式l i n u x 究竟有什么 1 2 東北大學(xué)碩士學(xué)位論文第二章系統(tǒng)開(kāi)發(fā)環(huán)境介紹 優(yōu)點(diǎn)是別的嵌入式操作系統(tǒng)無(wú)法比擬的昵 經(jīng)過(guò)一些簡(jiǎn)單的分析 我們就很容易 得到嵌入式l i n u x 的優(yōu)點(diǎn) 這些優(yōu)點(diǎn)是非常明顯但是非常實(shí)際的 與其他的嵌入式操作系統(tǒng)相比l i n u x 的優(yōu)勢(shì)在于 l i n u x 源代碼是開(kāi)放的 強(qiáng)大的網(wǎng)絡(luò)功能 靈活性 強(qiáng)大的開(kāi)發(fā)者作后盾 強(qiáng)大的工具集 4 1 3 東北大學(xué)碩士學(xué)位論文第三章嵌入式系統(tǒng)模擬器下電子郵件的設(shè)計(jì)和實(shí)現(xiàn) 第三章嵌入式系統(tǒng)模擬器下電子郵件的設(shè) 計(jì)和實(shí)現(xiàn) 3 1 基于s m t p 和p o p 3 協(xié)議的電子郵件功畿的設(shè)計(jì)和實(shí)現(xiàn) 3 1 1 協(xié)議概述 電子郵件是使用最為廣泛的應(yīng)用層服務(wù)之一 許多用戶第一次接觸計(jì)算機(jī)網(wǎng) 絡(luò)就是發(fā)送電子郵件到遠(yuǎn)端網(wǎng)絡(luò)節(jié)點(diǎn)或從遠(yuǎn)端網(wǎng)絡(luò)節(jié)點(diǎn)接收電子郵件 t c p i i p 協(xié) 議族分開(kāi)提供郵件報(bào)文格式和郵件傳輸?shù)臉?biāo)準(zhǔn) 目前 大部分i n t e m e te m a i l 系統(tǒng) 都使用簡(jiǎn)單郵件傳輸協(xié)議 s i m p l e m a i l t r a n s f e r p r o t o c o ls m t p s m t p 已經(jīng)成為 應(yīng)用最廣泛的上層協(xié)議之一 s m t p 定義了一臺(tái)計(jì)算機(jī)上的郵件系統(tǒng)如何將郵件傳送到另一臺(tái)計(jì)算機(jī)上 與 大多數(shù)t c p i p 協(xié)議一樣 s m t p 協(xié)議也是一種純粹基于c s 計(jì)算機(jī)模型的應(yīng)用層 協(xié)議 s m t p 的協(xié)議模型包括 個(gè)發(fā)送器和一個(gè)接收器 兩者都要訪問(wèn)一個(gè)文件系 統(tǒng)進(jìn)行信息存儲(chǔ) 盡管s m t p 并不提供絕對(duì)的端到端的可靠性的保障 但它仍然 能夠建立一個(gè)可以信賴的信息傳遞系統(tǒng) 因?yàn)樗腔趖 c p 傳輸協(xié)議之上的 這 也增加了它的可靠性 電子郵件信息的傳遞可以劃分為幾個(gè)階段 這幾個(gè)階段均由s m t p 協(xié)議模型 支持 如圖3 1 所示 從圖中我們可以看到 郵件是以文件的形式存儲(chǔ)的 對(duì)郵件 的操作都可以用文件的操作來(lái)完成 郵件發(fā)送的具體過(guò)程可以分以下四個(gè)步驟完 成 第一步 用戶向一個(gè)被稱為用戶代理的接口系統(tǒng)內(nèi)提供輸入信息 這個(gè)接口 便于郵件信息的進(jìn)入 第二步 信息被發(fā)送到s e n d e r s m t p 它為該過(guò)程分配一個(gè)任意的端口號(hào)并 與它的同層實(shí)體一r e c e i v e r s m t p 通過(guò)2 5 端口建立一個(gè)t c p 連接 在此連接建 立的過(guò)程中 接收者向發(fā)送者說(shuō)明自己的身份 第三步 發(fā)送者就可以使用r f c 8 2 2 n 種描述的格式發(fā)送郵件信息了 最后 發(fā)送者發(fā)送終止連接消息 接收者對(duì)其進(jìn)行確認(rèn) 確認(rèn)完畢后 t c p 連接就被釋放 到這步 整個(gè)的發(fā)送過(guò)程就已經(jīng)完成 接收者就可以去接收此郵件了 當(dāng)然 在真正實(shí)現(xiàn)的過(guò)程中 還要考慮很多其它的因素 例如對(duì)于嵌入式上的郵件發(fā)送 就要考慮發(fā)送的效率 就是發(fā)送的速度要盡量的快 占用的資源要盡量的少 還 1 4 耋北大學(xué)碩士學(xué)位論文第三章嵌入式系統(tǒng)模擬器下電子郵件的設(shè)計(jì)和實(shí)現(xiàn) 有對(duì)于各個(gè)實(shí)時(shí)性很高的事件要及時(shí)的響應(yīng)等等 s e n d e r s m t p l j s m t p 發(fā)送者 命令 應(yīng)替 接收者 s m t p 和郵件 s m t p f 統(tǒng)廣 圖3 1s m t p 協(xié)議模型示意圖 f i 9 3 1m o d e lo f s m t p p r o t o c o l 前面介紹的s m t p 傳輸方案暗示服務(wù)器必須在任何時(shí)候做好接收電子郵件的 準(zhǔn)備 一旦用戶輸入郵件 服務(wù)器就試圖將其發(fā)送出去 如果服務(wù)器運(yùn)行在具有 永久互聯(lián)網(wǎng)連接的計(jì)算機(jī)上 則能夠做到這一點(diǎn) 但對(duì)于并非 直連接互聯(lián)網(wǎng)上 的計(jì)算機(jī) 則無(wú)法達(dá)到目的 考慮到一般的用戶 要永久連接到互聯(lián)網(wǎng)上是不現(xiàn) 實(shí)的 那樣 對(duì)于一個(gè)沒(méi)有永遠(yuǎn)連接的用戶是怎樣接收電子郵件的呢 這個(gè)問(wèn)題的答案在于一個(gè)兩階段交付過(guò)程 在第一階段 在具有永久i n t e r a c t 連接的計(jì)算機(jī)上為每個(gè)用戶分配一個(gè)郵箱 這臺(tái)計(jì)算機(jī)運(yùn)行一個(gè)s m t p 服務(wù)器 s m t p 服務(wù)器一直準(zhǔn)備著接收電子郵件 在第二階段 用戶建立一個(gè)連接 然后運(yùn) 行一個(gè)從永久郵箱檢索郵件的協(xié)議 這個(gè)協(xié)議把郵件傳輸?shù)接脩羰褂玫挠?jì)算機(jī) 在這臺(tái)計(jì)算機(jī)上閱讀郵件 有兩個(gè)協(xié)議可允許遠(yuǎn)程用戶從永久郵箱檢索郵件 郵局協(xié)議 p o s t0 伍c e p r o t o c o lp o p 3 和網(wǎng)絡(luò)消息訪問(wèn)協(xié)議 i n t e m e tm e s s a g ea c c e s sp r o t o c o li m a p 4 雖 然 您可以使用兩種協(xié)議的任何一種 但是 它們的能力和使用方法是差別很大 的 下面論文將介紹p o p 3 協(xié)議 i m a p 4 協(xié)議和這兩個(gè)協(xié)議之間的區(qū)別將在下部 分介紹 p o p 3 采用的是一種離線的模式 下面我們來(lái)看它是怎樣工作的 當(dāng)您打開(kāi)郵 件程序時(shí) 它會(huì)先檢查是否已存在網(wǎng)絡(luò)連接 如果沒(méi)有 它就會(huì)建立 個(gè)連接通 道 通常是p p p p o i n t t o p o i n tp r o t o c o l 即點(diǎn)對(duì)點(diǎn)協(xié)議連接 然后 它會(huì)向p o p 3 服務(wù)器發(fā)出一個(gè)登錄請(qǐng)求 并把您的用戶名和密碼傳給服務(wù)器 如果服務(wù)器驗(yàn)證 1 5 塑 壟主堡主堂壘笙查 苧三主壅全壟墨絲堡塑墨 皇量塹竺塑竺鹽查塞塾 合法 郵件程序就會(huì)把服務(wù)器上的郵件下載到本地 并刪除它們 這時(shí) 您就可 以斷開(kāi)連接 閱讀這些郵件了 圖3 2 是p o p 3 協(xié)議模型示意圖 圖3 2p o p 3 協(xié)議模型示意圖 f 遮 3 2m o d e l o f p o p 3p r o t o c o l 初始時(shí) 服務(wù)器通過(guò)偵聽(tīng)t c p 端口1 1 0 開(kāi)始p o p 3 服務(wù) 當(dāng)客戶主機(jī)需要使 用服務(wù)時(shí) 它將與服務(wù)器主機(jī)建立t c p 連接 當(dāng)連接建立后 p o p 3 發(fā)送確認(rèn)消息 客戶和p o p 3 服務(wù)器相互 分別 交換命令和響應(yīng) 這一過(guò)程一直要持續(xù)到連接終 止 p o p 3 命令由一個(gè)命令和一些參數(shù)組成 所有命令以一個(gè)c r l f 對(duì)結(jié)束 命令 和參數(shù)由可打印的a s c h 字符組成 它們之間由空格間隔 命令一般是三到四個(gè) 字母 每個(gè)參數(shù)卻可達(dá)4 0 個(gè)字符長(zhǎng) p o p 3 響應(yīng)由一個(gè)狀態(tài)碼和一個(gè)可能跟有附加信息的命令組成 所有響應(yīng)也是 由c r l f 對(duì)結(jié)束 現(xiàn)在有兩種狀態(tài)碼 確定 o k 和 失敗 e r r 對(duì)于特定命令的響應(yīng)是由許多字符組成的 在這些情況中 下面一一表述 在發(fā)送第一行響應(yīng)和一個(gè)c r l f 之后 任何的附加信息行發(fā)送 他們也由c r l f 對(duì)結(jié)束 當(dāng)所有信息發(fā)送結(jié)束時(shí) 發(fā)送最后一行 包括一個(gè)結(jié)束字符 十進(jìn)制碼 4 6 也就是 和一個(gè)c r l f 對(duì) 如果信息中的任何一行以結(jié)束字符開(kāi)始 此行 就是通過(guò)在那一行預(yù)先裝入結(jié)束而進(jìn)行字符填充的 因此 多行響應(yīng)由五個(gè) c r l e c r l f 結(jié)束 當(dāng)檢測(cè)多行響應(yīng)時(shí) 客戶檢測(cè)以確認(rèn)此行是否以結(jié)束字符開(kāi)始 如果是的 而且其后的字符不是c r l f 此行的第一個(gè)字符 結(jié)束字符 將被拋棄 如果其后緊跟c r l f 從p o p 服務(wù)器來(lái)的響應(yīng)終止 包括 c r l f 的行也不被認(rèn)為 是多行響應(yīng)的一部分了 在生命周期中 p o p 3 會(huì)話有幾個(gè)不同的狀態(tài) 一旦t c p 連接被打開(kāi) 而且 p o p 3 服務(wù)器發(fā)送了確認(rèn)信息 此過(guò)程就進(jìn)入了 確認(rèn) 狀態(tài) 在此狀態(tài)中 客戶必 須向p o p 3 服務(wù)器確認(rèn)自己是其的客戶 一旦確認(rèn)成功 服務(wù)器就獲取與客戶郵件 1 6 墜學(xué)碩士學(xué)位論文 g 嵌入式系統(tǒng)模擬器下電子郵件的設(shè)計(jì)和實(shí)現(xiàn) 相關(guān)的資源 此時(shí)這 過(guò)程進(jìn)入了 操作 狀態(tài) 在此狀態(tài)中 客戶提出服務(wù) 當(dāng)客 尸發(fā)出q u i t 命令時(shí) 此過(guò)程進(jìn)入了 更新 狀態(tài) 在此狀態(tài)中 p o p 3 服務(wù)器釋放 在 操作 狀態(tài)中取得的資源 并發(fā)送消息 終止連接 p o p 3 服務(wù)器可以擁有一個(gè)自動(dòng)退出登錄的記時(shí)器 此記時(shí)器必須至少可以記 錄1 0 分鐘 這樣從客戶發(fā)送的消息刁 可能刷新此記時(shí)器 當(dāng)記時(shí)器失效時(shí) p o p 3 會(huì)話并不進(jìn)入 更新 狀態(tài) 而是關(guān)閉t c p 連接 而且不刪除任何消息 不向客戶 發(fā)送任何響應(yīng) 3 1 2 功能的設(shè)計(jì)和實(shí)現(xiàn) 3 1 2 1 功能的設(shè)計(jì) 在模擬器系統(tǒng)中 模擬了整個(gè)嵌入式系統(tǒng)的狀態(tài)和操作 e m a i l 功能是這個(gè)嵌 入式系統(tǒng)的一個(gè)基本的功能 圖3 3 是此模擬器系統(tǒng)中的e m a i l 功能的構(gòu)成圖 從 圖中我們可以看到 e m a i l 功能可以從m a i n m e n u e d i t m a i l b o x 等模塊中 啟動(dòng) 然后通過(guò)發(fā)送接收模塊對(duì)e m a i l 的發(fā)送接收進(jìn)行控制 最后是解析郵件發(fā)送 和接收協(xié)議與服務(wù)器進(jìn)行通信 整個(gè)e m a i l 功能的核心部分就是對(duì)郵件發(fā)送和接收 過(guò)程中所使用t c p f l p 應(yīng)用層協(xié)議的解析 只要成功解析了各個(gè)協(xié)議 e m a i l 發(fā)送 和接收的功能也就相應(yīng)的完成了 最后的通信過(guò)程只不過(guò)是利用s o c k e t 進(jìn)行服務(wù) 器端和客戶機(jī)端進(jìn)行數(shù)據(jù)交換的過(guò)程 其間的數(shù)據(jù)交互的過(guò)程與協(xié)議無(wú)關(guān) 這樣 實(shí)現(xiàn)的好處就在于解析過(guò)程和通信過(guò)程完全的分開(kāi) 模塊化就非常的好 相互之 間的影響非常的少 也就是說(shuō) 解析過(guò)程中的問(wèn)題不會(huì)影響通信過(guò)程 反之亦然 這對(duì)程序的編碼和測(cè)試都是非常有用的 從上面分析可以看到 e m a i l 功能實(shí)現(xiàn)的關(guān)鍵點(diǎn)就是在協(xié)議解析上 所有的數(shù) 據(jù)都是在這個(gè)部分處理的 而且又要與服務(wù)器進(jìn)行相關(guān)的通信 如果把這兩部分 功能放在一起處理的話 程序的結(jié)構(gòu)將非常復(fù)雜 而且也沒(méi)有通用性 所以非常 有必要把這兩部分分別處理 一個(gè)模塊專門(mén)用于協(xié)議數(shù)據(jù)的解析 而另一部分用 于與服務(wù)器通信 這樣在協(xié)議解析過(guò)程中就不用關(guān)心當(dāng)前的網(wǎng)絡(luò)狀態(tài) 而在服務(wù) 器通信過(guò)程中也只管接收數(shù)據(jù)而不用在乎是什么數(shù)據(jù) 錯(cuò)誤信息和正確信息處理 在這里處理是完全一樣的 解析過(guò)程和通信過(guò)程分開(kāi)處理可以保持程序的靈活性 而且代碼也比較容易理解 郵件發(fā)送過(guò)程的設(shè)計(jì)是按照r f c 2 5 5 4 1 6 的描述完成的 為了更好地說(shuō)明郵件的 發(fā)送過(guò)程 可使用發(fā)送過(guò)程的時(shí)序圖 參照?qǐng)D3 4 來(lái)說(shuō)明服務(wù)器和客戶機(jī)交互的 過(guò)程 1 7 東北大學(xué)碩士學(xué)位論文第三章嵌入式系統(tǒng)模擬器下電子郵件的設(shè)計(jì)和實(shí)現(xiàn) 圖3 3e a l l 構(gòu)成圖 1 8 郵件發(fā)送接收模塊 i s m t pp r o p e l 模塊 s e r v e r 消息通知 發(fā)送新郵件 執(zhí)行e h l o 命令 r 2

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論