亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android系統(tǒng)平臺的Wi—Fi Direct模塊功能機(jī)制研究

        2014-04-29 00:00:00王大鵬
        無線互聯(lián)科技 2014年4期

        摘 要:Wi-Fi Direct(Wi-Fi直連)是較新的短距離無線通信技術(shù),目前主流的移動操作系統(tǒng)都提供了對該技術(shù)的支持。其中,Android系統(tǒng)占有的市場份額最大。本文針對Android系統(tǒng)上Wi-Fi直連功能及構(gòu)成進(jìn)行深入的分析和研究,旨在呈現(xiàn)Android系統(tǒng)內(nèi)Wi-Fi直連功能模塊構(gòu)成和運(yùn)行流程,以對技術(shù)開發(fā)人員了解并運(yùn)用Wi-Fi直連功能提供啟示和指導(dǎo)作用。

        關(guān)鍵詞:Wi-Fi Direct;Android平臺;底層機(jī)制

        Wi-Fi直連是Wi-Fi聯(lián)盟為實(shí)現(xiàn)特定的應(yīng)用,對現(xiàn)有的部分IEEE802.11技術(shù)標(biāo)準(zhǔn)進(jìn)行整合并創(chuàng)新制定的一套新的標(biāo)準(zhǔn)集合,規(guī)定了Wi-Fi直連技術(shù)特有的層次結(jié)構(gòu)、拓?fù)渚W(wǎng)絡(luò)、運(yùn)行機(jī)制和功能實(shí)現(xiàn)及特點(diǎn)[1]。該技術(shù)具有連接迅速、速率高和覆蓋廣等特點(diǎn),有著廣泛的應(yīng)用前景和競爭優(yōu)勢。Android系統(tǒng)從4.0版本開始,即在軟件棧中增加了Wi-Fi直連支持代碼,在底層Linux內(nèi)核中增加了Wi-Fi直連驅(qū)動,實(shí)現(xiàn)支持Wi-Fi直連功能。在Android平臺上,Wi-Fi直連功能代碼涉及Android應(yīng)用框架層、標(biāo)準(zhǔn)庫層、HAL(硬件抽象層)和Linux內(nèi)核層。

        1 Wi-Fi直連底層模型

        Wi-Fi直連底層模型由HAL和內(nèi)核層代碼構(gòu)成。其中,內(nèi)核層是Android系統(tǒng)定制的Linux內(nèi)核,是Android軟件棧的最底層。HAL位于內(nèi)核層之上,是對內(nèi)核層設(shè)備模塊驅(qū)動的統(tǒng)一封裝,為上層軟件棧提供內(nèi)核設(shè)備模塊驅(qū)動操作接口。

        1.1 內(nèi)核層Wi-Fi直連模塊

        Android的內(nèi)核層取自傳統(tǒng)的Linux內(nèi)核,并對其進(jìn)行特定的修改和優(yōu)化,使更加適應(yīng)嵌入式設(shè)備,提升系統(tǒng)的運(yùn)行性能。在內(nèi)核層,Wi-Fi直連模塊主要由設(shè)備驅(qū)動和wpa_supplicant后臺進(jìn)程組成。后臺進(jìn)程負(fù)責(zé)接收上層操作請求和上傳硬件響應(yīng)事件,通過socket與Wi-Fi直連硬件驅(qū)動進(jìn)行通信,完成這些請求和事件的交互。

        1.2 HAL層內(nèi)Wi-Fi直連模塊

        HAL是Android系統(tǒng)在內(nèi)核層與上層應(yīng)用框架之間構(gòu)建的一個驅(qū)動抽象層[2]。用于封裝內(nèi)核中Wi-Fi等設(shè)備的驅(qū)動,統(tǒng)一驅(qū)動調(diào)用接口供上層框架調(diào)用,使Android不過度依賴Linux內(nèi)核。Wi-Fi直連的HAL基于傳統(tǒng)的HAL架構(gòu)模式,在系統(tǒng)源碼中的wifi.c文件內(nèi)實(shí)現(xiàn),將各種操作功能接口封裝成*.so動態(tài)鏈接庫,供應(yīng)用框架層通過JNI調(diào)用,實(shí)現(xiàn)對Wi-Fi直連設(shè)備驅(qū)動的功能操作和事件監(jiān)聽。

        2 Wi-Fi直連功能模塊構(gòu)成

        基于HAL提供的操作接口,應(yīng)用框架層將各種Wi-Fi直連功能以API的形式供應(yīng)用程序調(diào)用,從而構(gòu)成Wi-Fi直連的功能模塊體系。該體系主要由Wi-Fi直連功能管理器、狀態(tài)機(jī)和事件監(jiān)聽器構(gòu)成,負(fù)責(zé)對下下達(dá)設(shè)備操作命令,維護(hù)并監(jiān)聽設(shè)備狀態(tài)。對上提供功能操作調(diào)用接口。

        2.1 功能管理器

        Wi-Fi直連的功能管理器主要由系統(tǒng)源碼中的WifiP2pManager類實(shí)現(xiàn),該類運(yùn)行在主線程上,用于調(diào)用操作Wi-Fi直連的各項(xiàng)功能。將用戶對Wi-Fi直連功能的操作請求命令通過進(jìn)程間通信,以異步消息為載體發(fā)送到Wi-Fi直連狀態(tài)機(jī)上,并最終由Wi-Fi直連狀態(tài)機(jī)交由wpa_supplicant后臺進(jìn)程處理。由于需要跨進(jìn)程交互操作命令,且Android系統(tǒng)中不同進(jìn)程間不能共享內(nèi)存,所以此處采用Android系統(tǒng)中的AIDL實(shí)現(xiàn)跨進(jìn)程訪問。

        2.2 狀態(tài)機(jī)

        Wi-Fi直連狀態(tài)機(jī),主要由系統(tǒng)源碼中的WifiP2pService類實(shí)現(xiàn),以狀態(tài)機(jī)的形式維護(hù)著Wi-Fi直連設(shè)備的各種狀態(tài),并能夠根據(jù)當(dāng)前狀態(tài)對上層請求的操作命令和事件監(jiān)聽器發(fā)出的底層事件進(jìn)行處理。狀態(tài)機(jī)在其內(nèi)部使用Wi-Fi直連的各種狀態(tài)構(gòu)建了一顆狀態(tài)樹,當(dāng)狀態(tài)機(jī)接收到用戶請求的操作命令時,先根據(jù)當(dāng)前狀態(tài)對請求命令進(jìn)行判斷,查看是否需要轉(zhuǎn)換到新的狀態(tài),然后再對請求命令進(jìn)行處理,最終通過HAL內(nèi)wifi.c將命令發(fā)送給wpa_supplicant進(jìn)程,讓其與內(nèi)核驅(qū)動進(jìn)行交互。同樣,當(dāng)狀態(tài)機(jī)收到事件監(jiān)聽器傳回的底層事件時,先根據(jù)當(dāng)前狀態(tài)進(jìn)行和收到的事件判斷是否需要轉(zhuǎn)換到新的狀態(tài),然后再處理事件,最后采用Android廣播機(jī)制將事件廣播出去。

        2.3 事件監(jiān)聽器

        Wi-Fi直連事件監(jiān)聽器主要由系統(tǒng)源碼中的WifiMonitor類實(shí)現(xiàn),是由狀態(tài)機(jī)啟動的監(jiān)聽線程,通過線程循環(huán)內(nèi)的waitForEvent(),監(jiān)聽wpa_supplicant進(jìn)程發(fā)出的各種Wi-Fi直連驅(qū)動事件,并對事件進(jìn)行處理,處理結(jié)果通過線程間通信采用異步消息的形式發(fā)送給狀態(tài)機(jī)。waitForEvent()是阻塞函數(shù),在收到底層事件之前,監(jiān)聽線程阻塞。waitForEvent()方法進(jìn)一步調(diào)用HAL的wifi_wait_for_event()函數(shù)監(jiān)聽wpa_supplicant事件。

        3 Wi-Fi直連運(yùn)行流程

        Android設(shè)備啟動時,Android框架層的本地服務(wù)首先啟動Wi-Fi直連狀態(tài)機(jī),再由狀態(tài)機(jī)通過JNI調(diào)用HAL函數(shù),加載Wi-Fi內(nèi)核模塊wlan.ko(該模塊位于Android系統(tǒng)的/system/lib/modules/文件夾下)[3]。然后,狀態(tài)機(jī)調(diào)用HAL內(nèi)wifi_start_P2P_supplicant()函數(shù),加載Android系統(tǒng)/data/misc/wifi/文件夾中的Wi-Fi直連配置文件P2P_supplicant.conf,啟動Wpa_supplicant進(jìn)程。最后,功能管理器將接受上層應(yīng)用發(fā)出的各種操作請求,交由狀態(tài)機(jī)處理,操作各種Wi-Fi直連功能。

        [參考文獻(xiàn)]

        [1]韓毅剛,等.計(jì)算機(jī)網(wǎng)絡(luò)與通信[M].北京:機(jī)械工業(yè)出版社,2013.

        [2]金泰延,等.Android框架揭秘[M].北京:人民郵電出版社,2012.

        [3]胡偉.Android系統(tǒng)架構(gòu)及其驅(qū)動研究[J].廣州廣播電視大學(xué)學(xué)報(bào),2010第4期.

        人人妻人人澡人人爽人人精品电影 | 久久五月精品中文字幕| 国产丝袜爆操在线观看| 精品一区二区三区免费视频| 精品少妇人妻av免费久久久| 欧美人与动牲交片免费播放| 国产三级精品和三级男人| 又色又爽又黄高潮的免费视频| 四虎成人精品无码永久在线| 亚洲AV秘 无码一区二区久久| 中文字幕女同人妖熟女| 让少妇高潮无乱码高清在线观看 | 亚洲精品午夜无码专区| 91精品国产丝袜在线拍| 开心激情网,开心五月天| 成人日韩熟女高清视频一区| 无码人妻精品一区二区三区下载| 91精品国产91| 国产高清在线精品一区二区三区| 亚洲国产精品无码久久久| 亚洲 欧美 国产 日韩 精品| 亚洲最新中文字幕一区| 视频在线观看免费一区二区| 亚洲精品乱码久久久久久蜜桃不卡 | 久久精品国产亚洲av香蕉| 日本夜爽爽一区二区三区| 91国产自拍视频在线| 日本在线精品一区二区三区| 在线精品一区二区三区| 国产96在线 | 免费| 久久精品熟女亚洲av香蕉| 亚欧色一区w666天堂| XXXXBBBB欧美| 在线观看一区二区三区国产| 久久亚洲av成人无码电影a片| 少妇高潮喷水久久久影院| 日本久久一区二区三区高清| 日日碰日日摸日日澡视频播放| 中出内射颜射骚妇| 日韩欧美亚洲国产一区二区三区| 男男亚洲av无一区二区三区久久 |