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

        ?

        智能卡COS底層無關(guān)性設計

        2012-08-08 02:31:52李代平
        關(guān)鍵詞:類庫智能卡調(diào)用

        蔡 姣,李代平

        (廣東工業(yè)大學 計算機學院,廣東 廣州 510006)

        智能卡在計算機技術(shù)、網(wǎng)絡技術(shù)、數(shù)據(jù)庫處理技術(shù)、高頻技術(shù)、數(shù)據(jù)保護和密碼學等的應用日趨廣泛,因此智能卡的數(shù)量也在直線上升,因此在各個卡之間應用的移植問題引起了人們的關(guān)注。

        智能卡操作系統(tǒng) COS(Chip Operating System)是針對某一種特定芯片開發(fā)的,該操作系統(tǒng)通常由芯片生產(chǎn)商開發(fā),因為只有他們才真正了解芯片底層的技術(shù)細節(jié)。每個廠家芯片COS開發(fā)的環(huán)境都不一樣,在COS支持的上層應用不變的情況下,當更換不同的硬件時,需要了解新硬件COS的開發(fā)環(huán)境、新硬件底層的技術(shù)細節(jié),重新將上層邏輯應用移植到新的硬件上時,移植的工作量非常大,不低于重新編寫一次COS,而且移植過后COS的穩(wěn)定性也需要重新測試,這樣極大制約了智能卡應用的快速發(fā)展。另外,智能卡COS目前使用的開放式系統(tǒng)研發(fā)環(huán)境,存在較高的版權(quán)費用,軟件成本偏高;而使用自然語言開發(fā)的COS,目前大多使用層次結(jié)構(gòu),效率較低,編寫的代碼量較大,降低了硬件的效率并增加了存儲成本。針對以上問題本文提出了解決不同硬件之間操作系統(tǒng)移植的解決方案。通過對COS結(jié)構(gòu)底層模塊的研究,結(jié)合Java卡的硬件無關(guān)的優(yōu)點,設計出與底層無關(guān)的COS。

        1 COS結(jié)構(gòu)模型

        智能卡的設計一般分為三層結(jié)構(gòu):硬件抽象層、核心層和應用層。其中硬件抽象層設計與智能卡芯片物理結(jié)構(gòu)相關(guān)的功能,使其對上層透明;核心層包含了智能卡的主要結(jié)構(gòu)和功能:卡啟動程序及初始化、內(nèi)外部認證、命令解析、安全問題及文件系統(tǒng)等核心功能;應用層主要提供基于硬件抽象層和核心層的不同應用。隨著技術(shù)的發(fā)展,應用層將提供更多的有利且方便用戶的應用[1]。智能卡結(jié)構(gòu)如圖1所示。

        圖1 智能卡三層結(jié)構(gòu)圖

        2 Java智能卡

        Java卡是在智能卡硬件系統(tǒng)基礎(chǔ)上通過軟件構(gòu)造的一個支持Java程序下載/安裝并運行的軟/硬件系統(tǒng)。通過引入Java虛擬機技術(shù),Java智能卡在保留了原有智能卡應用的便捷、安全等特性的同時,繼承了Java技術(shù)的硬件無關(guān)特性,將智能卡應用程序的開發(fā)同智能卡硬件系統(tǒng)相分離,簡化了應用程序的開發(fā),提高了應用程序的可重用性。Java智能卡包括:智能卡硬件系統(tǒng)、與智能卡硬件系統(tǒng)相關(guān)的本地方法集、Java智能卡虛擬機JCVM、Java智能卡類庫、Java智能卡應用管理組件、Java智能卡運行環(huán)境JCRE以及Java智能卡應用[2]。其系統(tǒng)結(jié)構(gòu)如圖2所示。

        圖2 Java卡系統(tǒng)結(jié)構(gòu)圖

        智能卡COS與Java卡的區(qū)別:

        從圖1、圖2可以看出,智能卡模塊之間的調(diào)用是直接利用下層的函數(shù)與各模塊的相互作用來實現(xiàn)應用程序,而Java卡是通過一個虛擬機來實現(xiàn)。此虛擬機即是Java卡與硬件無關(guān)特性的關(guān)鍵模塊,卡內(nèi)的虛擬機負責依據(jù)不同的智能卡硬件和操作系統(tǒng)特性來執(zhí)行安裝到卡上的CAP文件中的字節(jié)碼。

        3 智能卡的設計及其可行性分析

        根據(jù)Java卡的特性,提供本地方法集將與硬件相關(guān)的問題包含在一個模塊內(nèi),同時提供Java智能卡類庫,為應用程序調(diào)用下層函數(shù)提供統(tǒng)一接口。同時Java智能卡類庫還包含了所有可能用到的類庫及應用擴展類庫,以方便用戶安裝盡可能多的應用。

        將此思想應用到C編寫的智能卡,可以將所有智能卡底層的硬件驅(qū)動全部包含進來,使得硬件驅(qū)動模塊成為硬件驅(qū)動集模塊,同時又保持API接口不變,這樣上層應用設計時就不需改變調(diào)用接口,還是以同一接口調(diào)用,即可完成應用的移植問題。

        硬件驅(qū)動集,使上層都使用統(tǒng)一接口??紤]到所有函數(shù)調(diào)用都使用相同意義的參數(shù),根本無法區(qū)別驅(qū)動集中的任一相應函數(shù)。因此,不可能將所有驅(qū)動的參數(shù)都放到接口的參數(shù)列表中來調(diào)用對應的底層函數(shù)。因為這樣從參數(shù)的個數(shù)來區(qū)別驅(qū)動集的函數(shù)不可行。為此本智能卡的設計采用了如下方法:

        (1)借鑒網(wǎng)絡編程時,通過參數(shù)來指定協(xié)議確定通信,因此可以增加一個參數(shù)來指定智能卡的類型來確定需要調(diào)用的函數(shù)。例如對于readflash函數(shù):void fs_read_Flash(unsigned char*XRamAddr,unsigned long sAddr,unsigned int Length)通過增加參數(shù)char TYPE來確定類型。此時函數(shù)變?yōu)椋?/p>

        void fs_read_Flash(char TYPE,unsigned char*XRamAddr,unsigned long sAddr, unsigned int Length)然后通過swith…case即可以區(qū)分各個驅(qū)動函數(shù)從而實現(xiàn)驅(qū)動集的分類。而對于各個具體的驅(qū)動函數(shù)則通過它們的硬件名來命名其函數(shù)名以區(qū)分各個驅(qū)動函數(shù)。這樣就不會混合各個驅(qū)動函數(shù)。改進的微內(nèi)核層結(jié)構(gòu)如圖3所示。

        圖3 改進的微內(nèi)核層結(jié)構(gòu)圖

        此方法應用到Java卡的類庫的特點是并非所有的庫函數(shù)都會用到,但對于所有的可能情況都考慮到了,因為智能卡的種類是有限的,因此通過swith語句來區(qū)分各個卡的驅(qū)動函數(shù),此方法是可行的。

        但此方法存在一個問題是:對于上層調(diào)用硬件驅(qū)動時需指明硬件類型,因此當硬件改動時,應用層的移植需要修改所有硬件類型。雖然可利用工具查找并替換來完成,但這也是此方法的一個缺點。

        此外,也可以將驅(qū)動層與硬件綁定,每個功能相同的驅(qū)動采用同一函數(shù)名,同時驅(qū)動層的各驅(qū)動的參數(shù)相同,因此在上層調(diào)用接口不變的情況下就可以調(diào)用不同硬件的相應驅(qū)動,無需改變?nèi)魏魏瘮?shù)及參數(shù)。

        (2)借鑒 Java卡的特點,可以將硬件與本地方法即硬件驅(qū)動綁定在一起,而上層接口保持不變。若各個與硬件綁定的驅(qū)動函數(shù)參數(shù)不一致,可以在函數(shù)內(nèi)部進行調(diào)整使得對上層接口保持一致性。

        (3)最簡單的方法就是將所有的智能卡硬件設定一個規(guī)范,所有的智能卡都遵循此規(guī)范,這樣某一智能卡的COS在所有智能卡中都可以使用,某一智能卡上的應用在其他智能卡上也可以同時使用,這樣就實現(xiàn)了智能卡的移植問題。即制造統(tǒng)一的智能卡芯片,所有的智能卡的硬件驅(qū)動層相同,此時上層調(diào)用的接口也相同,所有的應用都是在相同的底層基礎(chǔ)上開發(fā)的,相互之間的移植也是完全適用的。

        在智能卡的迅速發(fā)展中,對于此移植問題的解決,可以保證上層應用開發(fā)的一致性,使得更多的應用可以在卡間相互應用,使智能卡的整體性能得到提升,應用也更加廣泛。

        [1]李春風.歐陽小星RF_SIM卡的多應用COS研究與設計[J].計算機工程與應用,2011(2):57-59.

        [2]張大偉.靳偉 Java智能卡原理與應用開發(fā)[M].北京:電子工業(yè)出版社,2007.

        猜你喜歡
        類庫智能卡調(diào)用
        用Java編寫客戶機/服務器端應用程序
        核電項目物項調(diào)用管理的應用研究
        東方磁卡李曉東:進擊的智能卡研發(fā)巨子
        時代人物(2019年27期)2019-10-23 06:11:58
        Python在數(shù)據(jù)可視化中的應用
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        數(shù)據(jù)結(jié)構(gòu)課程教學改革方案和應用效果
        軟件工程(2017年12期)2018-01-29 17:35:55
        數(shù)據(jù)結(jié)構(gòu)可視化類庫的設計與實現(xiàn)
        基于STC89 單片機的非接觸智能卡讀寫機設計
        電子制作(2017年17期)2017-12-18 06:40:36
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        臨沂機頂盒智能卡升級方案介紹
        国产无套露脸| 久久久久88色偷偷| 最新亚洲av日韩av二区一区| 亚洲精品一区二区成人精品网站| 亚洲一区二区三区小说| 全球中文成人在线| 免费av在线国模| av天堂一区二区三区精品| 最好看的亚洲中文字幕| 国产喷水1区2区3区咪咪爱av| 亚洲最新偷拍网站| 国产亚洲精品综合99久久| 日本一级二级三级不卡| 成人免费直播| 国产美女自慰在线观看| 激情五月天伊人久久| 久久天堂精品一区专区av| 中文字幕无码乱人伦| 最新中文字幕av无码不卡| 国产高潮刺激叫喊视频| 日韩最新av一区二区| 国产区女主播一区在线| 99久久伊人精品综合观看| 综合无码综合网站| 青青草是针对华人绿色超碰| 亚洲av毛片在线免费看| 国产三级久久久精品麻豆三级 | 免费a级作爱片免费观看美国 | 少妇被爽到高潮喷水免费福利| 国产成人精品a视频| 欧美成人一级视频| 免费一区二区三区av| 国产在线无码精品无码| 无码熟妇人妻av在线影片| 无码伊人久久大杳蕉中文无码| 亚洲女同av在线观看| 国产精品多p对白交换绿帽| 亚洲aⅴ无码日韩av无码网站| 国产精品亚洲在线播放| 精品国产精品国产偷麻豆| 97se亚洲国产综合自在线图片|