跳到主要內容

臺灣博碩士論文加值系統

(35.172.136.29) 您好!臺灣時間:2021/07/29 08:39
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:馮堃齊
研究生(外文):Kun-Chi Feng
論文名稱:改善JVM之共用物件存取方式以增進OSGi應用程式間之獨立性
論文名稱(外文):An Approach to Enhance JVM to Support the Isolation between OSGi Applications
指導教授:侯廷偉侯廷偉引用關係
指導教授(外文):Ting-Wei Hou
學位類別:碩士
校院名稱:國立成功大學
系所名稱:工程科學系碩博士班
學門:工程學門
學類:綜合工程學類
論文種類:學術論文
論文出版年:2009
畢業學年度:97
語文別:中文
論文頁數:33
中文關鍵詞:獨立性共用物件開放式服務閘道平台Java虛擬機器
外文關鍵詞:IsolationShared ObjectJVMOSGi
相關次數:
  • 被引用被引用:0
  • 點閱點閱:195
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
OSGi平台是建構在JVM(Java Virtual Machine) 上的開放式服務平台,所以OSGi上所安裝的服務及應用程式都是以Java撰寫而成,每個服務或應用程式都稱為一個服務包(bundle)。在OSGi平台上可以同時執行多個服務包以提供不同服務,也就因此會產生每個服務包對於OSGi平台上面的共用物件的存取及獨立性問題。
本論文針對 OSGi 平台上共用資源的獨立性問題做探討,包含共用資源與空指標等問題,並對此問題提出改善方法。我們在各服務包要存取共用物件時先紀錄下來並製作備份,之後若又有其他服務包要存取同一個物件時,便給予相對應的備份,如此可以解決共用物件被有錯誤或是惡意的服務包所竄改的問題。我們以JamVM 以及Knopflerfish 做為實驗環境,實作了此機制,效能量測顯示此機制平均每執行一次putfield 指令需額外耗費0.375 毫秒。
OSGi is an open platform based on JVM (Java Virtual Machine). The applications/services installed on OSGi platforms are written in Java. Every OSGi application/service is called a bundle. An OSGi platform can execute many bundles concurrently in order to provide different services. Every bundle installed on an OSGi platform may have the isolation issue, which includes the shared object(s) issue and the null pointer issue.
In this thesis, we propose a mechanism to prevent shared resources from being modified by some buggy or malicious bundle(s). We propose that when a bundle wants to access variables of shared resources, the bundle’s name, accessed variable’s name and value are recorded and when any other bundles want to access this variable hereafter, each bundle is returned a copy of the value of the shared variable. We implemented the proposed mechanism on Knopflerfish and JamVM. Performance measure shows that it has the overhead, in average, of 0.375 ms per putfield bytecode instruction.
摘要 I
ABSTRACT II
誌謝 III
章節目錄 IV
圖目錄 V
表目錄 VI
第一章緒論 1
第二章背景及相關技術 3
2.1 Java簡介 3
2.2 JVM簡介 4
2.2.1 Classloader 5
2.2.2 命名空間 5
2.3 JamVM 6
2.4 OSGi Platform 7
第三章 OSGi之獨立性探討 11
3.1 Java Isolation相關研究 11
3.2 OSGi Isolation相關研究 13
3.3 OSGi使用情境 13
3.3.1 惡意或不當修改共用資源 13
3.3.2 空指標例外情形 14
第四章系統設計 15
4.1 與共用資源相關的Bytecode 15
4.2 系統架構 17
4.3 存取紀錄機制 18
4.4 加入保護機制後之OSGi使用情境 21
4.4.1 防止惡意或不當修改共用資源 21
4.4.2 防止空指標例外情形 22
第五章實驗結果 23
第六章結論 29
參考文獻 31
自述 33
[1]GNU Classpath. Available from: http://www.gnu.org/software/classpath/.
[2]Java Community Process, JSR 121 – Application Isolation API Specification. Available from: http://jcp.org/aboutJava/communityprocess/final/jsr121/index.html.
[3]javap - The Java Class File Disassembler. Available from: http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javap.html.
[4]Kaffe Virtual Machine. Available from: http://www.kaffe.org/.
[5]Knopflerfish. Available from: http://www.knopflerfish.org/.
[6]G. Back, W. Hsieh, and J. Lepreau, "Processes in KaffeOS: Isolation, Resource Management, and Sharing in Java," in Proceedings of the Fourth Symposium on Operating Systems Design and Implementation, San Diego, CA, USA, pp. 333-346, Oct. 2000.
[7]W. Binder, "Secure and Reliable Java-Based Middleware – Challenges and Solutions," in Proceedings of the First International Conference on Availability, Reliability and Security, pp. 662-669, 2006.
[8]Grzegorz Czajkowski, "Application Isolation in the Java™ Virtual Machine," in Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 354-366, 2000.
[9]N. Geoffray, G. Thomas, C. Clément, and B. Folliot. "A Lazy Developer Approach: Building a JVM with Third Party Software," in Proceedings of the International Symposium on Principles and Practice of Programming In Java, Modena, Italy, pp. 73–82, September 2008.
[10]N. Geoffray, G. Thomas, and C. Clément, "Towards a New Isolation Abstraction for OSGi," in Proceedings of the 1st workshop on Isolation and integration in embedded systems, Glasgow, Scotland, pp. 41-45, 2008.
[11]N. Geoffray, G. Thomas, G. Muller, P. Parrend, S. Fr´enot , and B. Folliot, "I-JVM: a Java Virtual Machine for Component Isolation in OSGi," Technical Report RR no. 6801, Jan 2009.
[12]Robert Lougher, JamVM, Available from: http://jamvm.sourceforge.net/.
[13]OSGi Alliance, OSGi Service Platform Specification, version 4, October 2005. Available from: http://www.osgi.org/Release4/HomePage.
[14]SUN Microsystems, The Java Language Specification, 3rd Edition. Available from: http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html.
[15]T. Von Eicken, C.-C. Chang, G. Czajkowski, and C. Hawblitzel. "J-Kernel: A capability-based operating system for Java," Lecture Notes in Computer Science 1603, pp. 369–394, 1999.
連結至畢業學校之論文網頁點我開啟連結
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top