999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java智能卡平臺及其優化技術展望

2010-04-18 01:22:52王同洋
科技傳播 2010年19期
關鍵詞:優化

王同洋,趙 磊

華中科技大學,湖北武漢 430074

0 引言

智能卡(Smartcard)在包括電信、銀行、公交、醫療、身份證件、數字電視、安全認證等與普通消費者息息相關的領域均獲得了廣泛的應用。在未來移動支付、信用卡等更加普及、對個人信息安全有更高訴求的時代,智能卡仍將發揮不可替代的重要作用。

傳統的Native卡存在先天缺陷,概括為如下3點:

1)應用開發的難度大、周期長、成本高:native卡以匯編或C語言進行開發,缺乏通用開發平臺,開發、調試困難,要求開發人員對硬件的底層細節熟悉;

2)不能很好的支持跨行業應用和一卡多用,而一卡多用是智能卡發展的趨勢;

3)應用在卡發行時便已經固定下來,無法實現應用的更新或升級,無法滿足客戶個性化的需求,也使供應商在增值服務方面無法有所作為;

Native卡在互操作性和多功能應用上的不足,在應用開發時的高難度、高成本已經成為限制智能卡進一步發展的最大障礙。在探索如何解決這些矛盾的過程中,以Sun為代表的公司開始嘗試將更通用和安全的Java平臺引入智能卡行業,Java卡便應運而生。

1 Java智能卡平臺

Java卡是一種可以運行Java程序的微處理器智能卡,在卡中運行的程序叫Java Card Applet。Applet可以由用戶動態裝載到卡上。Java卡是Java體系中最小的一個平臺,Applet可以在任何符合Java卡規范的卡上運行,主要規范包括:Java卡虛擬機規范(JCVM),編程接口規范(API)和運行時環境規范(JCRE),目前最新的規范是3.0版本。

1.1 Java卡體系結構及優點

1.1.1 Java卡體系結構

Java卡的內部結構由 COS、Native Functions、Java VM、Java Framework 以及架構在此上的應用程序Applet所構成,Java卡內部結構如圖1所示:

圖1 Java卡體系結構

1.1.2 Java卡虛擬機結構

與Java平臺相同,Java卡實現跨平臺和高安全的關鍵是虛擬機,同樣受限與硬件資源,Java卡虛擬機(JCVM)和普通Java虛擬機(JVM)的最重要的區別就在于JCVM是一個分離的結構——卡外和卡內虛擬機:

圖2 Java卡虛擬機分離模型

如圖2所示:卡外虛擬機部分主要包括一個converter,它運行在PC或者工作站,主要用來裝載和預處理輸入的class文件,并將其轉化輸出為一種Java卡字節碼文件(即CAP,Converted Applet);卡內虛擬機部分包括Java卡字節碼解釋器Interpreter,用來解釋執行Java卡字節碼文件。兩者結合,就構成了完整的Java卡虛擬機,它們在卡外安裝程序和卡上安裝器的共同工作下,完成CAP文件下載、安裝過程,如圖3所示:

圖3 CAP文件下載安裝過程

1.1.3 Java卡優點

Java卡的優點可以概括如下:

1)平臺無關性和互操作性:通過Java卡虛擬機技術實現了跨平臺和互操作的能力;

2)支持一卡多用,應用的動態下載及管理;

3)通用和開放:Java卡不但兼容了現有的智能卡行業標準,它還提供了一整套標準的API,使智能卡應用開發回到主流的面向對象編程,開發人員無需了解復雜的智能卡硬件和專用技術;

4)安全:Java卡繼承了Java語言的安全特性,包括原子事務、應用防火墻等,從而提供了一個安全高效的執行環境。

1.2 Java智能卡內存管理和對象管理

1.2.1 Java卡內存管理模型和對象類型

作為低端嵌入式設備的Java卡,內存是最寶貴的資源。通常在Java卡內有3種存儲體:

1)ROM:通常存儲有Java卡虛擬機、API類庫、卡內操作系統和卡商預先裝入的applet等,并在發卡前將它們掩膜到ROM中;

2)RAM:斷電后數據丟失,因此用來存儲暫態數據,包括局部變量、方法參數、中間運算結果等;

3)EEPROM:用來存儲持久數據,包括下載到卡中的applet class和創建的持久對象。

目前在Java卡中執行應用時,Java卡虛擬機調用new指令創建對象,并默認存儲于EEPROM中。對象包括兩類:

1)暫態對象(Transient Object),它分為兩種類型:CLEAR_ ON_RESET和CLEAR_ON_DESELECT。通過調用Java卡API來創建,并存儲在RAM中,斷電后對象的字段(field)值、字段類型等數據自動丟失。CLEAR_ON_RESET類型的對象在一次會話期間或進行applet選擇切換時會保存下來,但進行復位操作時被復位為默認值;而CLEAR_ON_DESELECT類型的對象無論是復位操作還是applet選擇切換,都無法保存。對暫態對象的操作不是原子的;

2)持久對象(Persistent Object):由new操作符創建,并默認存儲在EEPROM中,它在卡被拔出后依然存在。對持久對象數據的操作必須是原子的,即更新操作要么全部完成,要么中斷更新并回滾恢復到原來的狀態;

無論是暫態對象還是持久對象,當沒有其他任何對象引用它時,該對象就不再可以訪問,也就成為垃圾,但它們所占據的空間只有被回收后才能再次利用。

1.2.2 現有模型的性能問題

在字節碼文件下載解析過程中,以及虛擬機執行應用的過程中都遭遇了性能問題,而其中消耗絕大部分執行時間的是EEPROM寫操作,原因總結如下:

1)為了支持持久對象的原子性操作,保證數據的完整性,Java卡在EEPROM中開辟了一塊特殊的存儲區域來存儲原有的數據,以執行數據的回滾。將舊有數據寫入Transaction-Buffer的次數占據了所有EEPROM寫操作的75%~80%,而寫EEPROM的時間為3ms~10ms,比RAM慢1 000倍;

2)寫EEPROM操作采用了機制,即先將數據寫入Page-Buffer,然后再寫入EEPROM,清除Page-Buffer后再重復下一次的寫過程。這種寫入—刪除—再寫入的機制在大量寫操作時是十分緩慢的;

3)在下載CAP文件時,對常量池等組件的解析過程在EEPROM中完成。同樣的,虛擬機在執行applet實例的時候,大部分對象的創建也是在EEPROM中完成,兩者都產生了大量的EEPROM寫操作。

2 優化技術的探討

2.1 已有的典型優化技術

為了解決Java卡的性能問題,研究人員提出了一些典型優化方法,分析歸納如下:

1)在Java卡虛擬機分離模型的基礎上,采用分離模式的CAP文件解析優化方案,即將靜態解析過程放在卡外執行,該過程只訪問CAP文件,而無需訪問卡內資源。將動態解析過程留在卡內進行,該過程必須獲得卡內資源才能完成解析。最后設計一種偽指令集來銜接優化后的解析執行過程 ;

2) 改 進Java卡 已 有 的 事 務(transaction) 機 制,將Transaction-Buffer分配在RAM中,并將事務開始后的新數據寫入這個Buffer。如果事務順利完成,則將其中的數據寫入EEPROM并替換舊數據;如果事務中斷,比如卡被拔出等,由于RAM的易失性,Buffer中的數據自然消失,而EEPROM中原始的數據也并沒有被更改,也就保證了數據的完整性。該方法大大減少了對EEPROM的寫操作,很好的提高了應用的執行性能。不足之處是加大了對本就稀有的RAM資源的開銷;

3)引入cache策略,改進傳統的寫EEPROM機制。這個方法的基礎是Java卡在執行應用期間,寫操作的數據擁有高度的局部相似特性(即cache擁有較高的命中率),基于這個特性,在傳統的Page-buffer的基礎上在RAM中增加一個Object-buffer,并通過引入cache策略,從而在大量寫操作發生的時候可以大幅度提高性能;

4)改進對象模型,將applet實例和靜態數據成員之外的大部分對象都存儲在RAM中,而非傳統的EEPROM中。該方法需要在編寫applet時考慮到數據的持久性要求,如事務平衡值,并將這些數據成員的類型設為static,從而將其保存在永久性的EEPROM中。需要指出的是該方法對RAM空間有較高的要求[5];

5)采用壓縮算法對字節碼文件進行優化或對字節碼文件中的Method組件的指令碼進行折疊優化。但這些方法對有標準格式要求的字節碼而言,優化的空間有限且往往會產生優化的負效應[6]。

2.2 優化方向的探索

2.2.1 優化的目標

1)提高應用的下載、安裝速度:減少CAP解析過程對EEPROM的寫操作次數,從而提高Java卡對CAP文件的下載解析速度;

2)提高應用的執行性能:減少applet生命周期過程中對EEPROM的寫操作次數,提高applet的執行性能;

3)提高內存使用率:減少內存碎片和提高空間回收效率,從而更加高效的利用寶貴的Java卡內存資源。

2.2.2 可行的技術方案

1)實現新的對象模型和新的堆存儲區模型,保證有一種合理的算法實現對EEPROM(或Flash)和RAM堆空間的高效管理;

2)優化傳統的事務機制,在保證持久對象的原子性和一部分敏感暫態數據的安全性的同時,減少事務機制帶來的性能負效應;

3)探索一種能用于智能卡的合理高效的cache算法,配合寫入策略(Normal Write & Tear-Proof Write)來優化現有的EEPROM寫入機制;

4)圍繞對象模型,對現有的Java卡堆棧操作指令,以及涉及對象管理和事務機制的API進行分析,對其中實現效率不高的進行優化、合并或擴展,或直接在底層用native代碼實現,從字節碼指令層提高應用的執行性能;

5)設計一種新的CAP文件解析策略,結合RAM空間的使用,減少在CAP文件下載和安裝過程中對EEPROM的寫操作,提高下載和解析的速度。

2.2.3 技術方案的評估

在設計新的算法或方案對Java卡平臺進行優化之后,需要有一個合理的評估方案實現對優化結果的測評以考察其有效性[7]。性能評估從兩個方面進行:

1)Java卡正常使用(事務正常完成)的應用執行性能,需對如下幾個方面進行測評:

(1)內存管理:包括對象創建和數據更新時的堆棧讀寫等;

(2)指令的派遣和執行。

2)整個平臺的性能,包括平臺特性和在非正常情況下Java卡的性能表現(即事務中斷),可以細分為對如下幾個環節的測評:

(1)應用的下載和安裝速度;

(2)內存回收策略:包括對象刪除和垃圾回收等的效率;

(3)JCRE:事務中斷,即發生數據回滾時的性能表現;

(4)API:Java卡API方法的執行效率。

3 結論

Java卡分離的虛擬機結構和有限的內存資源決定了Java卡應用的執行性能無法與Native卡相比。隨著Java卡應用領域的不斷拓展(如在3.0規范中推出的基于Java卡的Web Server應用),對Java卡的性能提出了更高的要求。隨著Java卡處理器性能的提升和內存資源的豐富,在壓縮字節碼、優化內存管理算法等傳統優化途徑之外,在卡中實現垃圾收集器和數據庫管理系統(DBMS)也都將成為合理的優化手段,以不斷提高Java卡的性能。

[1]ZhiqunChen,JavaCardTechnologyforSmar tCards:ArchitectureandProgrammer’sGuide,Addison-Wesley,2000.

[2]M.Oest reicher,K.Ksheeradbhi,ObjectLi fetimesinJavaCard,Proc.UsenixWork-shopSmar tCardTechnology,UsenixAssoc.,Berkeley,Calif.,1999:129-137.

[3]常青,靳偉,李春龍,張其善.JCVM解析優化設計與實現[N].北京航空航天大學學報,2004,30(12).

[4]Min-SikJin,Won-HoChoi,Yoon-SimYang,Min-SooJung,AStudyonFastJCVMwithNewTransactionMechanismandCaching-BufferBasedonJavaCardObjectswithaHighLocality,InternationalFederationforInformationProcess(IFIP),2005.

[5]Min-SikJin,Min-SooJung,AStudyonFastJCVMbymovingobjectfromEEPROMtoRAM,Proceedingofthe11thIEEEInternationalConferenceonRTCSA,2005.

[6]ClausenL.R.,SchultzU.P.,ConselC.,JavaBytecodeCompressionLow-EndforEmbeddedSystem,InACMTransactionsonProgrammingLanguagesandSystems,2000,22(3).

[7]PierreParadinas,SamiaBouzefrane,JulienCordry,HowtomeasuretheperformanceofJavaCardPlatforms,CEDRICLab.CNAM(Paris),2007.

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 国产97色在线| 国产激情在线视频| 欧美午夜视频| 中文字幕色在线| 欧美色99| 国产成人福利在线| 久久狠狠色噜噜狠狠狠狠97视色| 国产日本一线在线观看免费| 少妇露出福利视频| 国产亚洲欧美在线专区| 99久久精品国产综合婷婷| 国产a在视频线精品视频下载| 日本高清免费不卡视频| 尤物视频一区| 日本一本正道综合久久dvd| 久久久久久高潮白浆| 欧美日韩中文字幕二区三区| 手机在线看片不卡中文字幕| 国产成人在线小视频| 97se亚洲综合在线天天| 欧美成在线视频| 欧美国产视频| 亚洲国产成熟视频在线多多| 欧美伦理一区| 成年av福利永久免费观看| 欧美有码在线观看| 成人在线观看一区| 韩日无码在线不卡| 久青草网站| 91丨九色丨首页在线播放 | 成人精品免费视频| 亚洲品质国产精品无码| 色偷偷男人的天堂亚洲av| 狼友av永久网站免费观看| 97精品久久久大香线焦| 亚洲免费黄色网| 日本在线国产| 丁香五月激情图片| 亚洲无限乱码一二三四区| 国产精品思思热在线| 欧美另类第一页| 中文字幕在线永久在线视频2020| 一级看片免费视频| 国产99欧美精品久久精品久久| 国模粉嫩小泬视频在线观看 | 亚洲丝袜第一页| 婷婷成人综合| www.亚洲色图.com| 日韩精品无码不卡无码| 久久久久九九精品影院| 亚洲欧美h| 欧美日韩在线国产| 99在线视频网站| 国产成人免费手机在线观看视频| 国产精品免费露脸视频| 99久久国产精品无码| 日韩大乳视频中文字幕 | 老司机精品99在线播放| 亚洲午夜国产片在线观看| 免费人成又黄又爽的视频网站| 欧美亚洲一区二区三区导航| 天堂亚洲网| 波多野结衣第一页| 美女被操黄色视频网站| 亚洲视屏在线观看| 狠狠亚洲婷婷综合色香| 国产乱人伦精品一区二区| 日韩高清无码免费| 人妻无码中文字幕第一区| 国产一级片网址| 日韩国产精品无码一区二区三区 | 欧美五月婷婷| 色综合a怡红院怡红院首页| 久久久久国产一区二区| 国产精品亚欧美一区二区 | 日韩成人在线一区二区| 2021天堂在线亚洲精品专区| 午夜成人在线视频| 乱系列中文字幕在线视频| 97国产成人无码精品久久久| 亚洲天堂精品在线| 亚洲中文字幕久久精品无码一区|