• Title/Summary/Keyword: 자바 가상 기계

Search Result 86, Processing Time 0.033 seconds

Han fling the Language Dependent Features for Translating Java Bytecode to GVM Code (자바 바이트코드를 GVM 코드로 번역하기 위한 언어적 특성 처리)

  • 고영관;고석훈;오세만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04b
    • /
    • pp.337-339
    • /
    • 2002
  • 휴대용 무선기기의 성능 향상과 동적인 응용프로그램 실행의 필요성에 따라 모바일 응용프로그램은 기존의 네이티브 애플리케이션 제작 방법에서 가상기계(Virtual Machine)를 탑재하여 실행하는 가상기계애플리케이션 제작 방법으로 변환하였다. 가상기계를 이용한 애플리케이션의 실행은 플랫폼 독립적인 실행이 가능하며 또한 효과적인 다운로드 솔루션을 통한 동적인 응용프로그램의 실행이 가능하다. 이러한 배경으로 KVM과 CVM(General Virtual Machine)등의 가상기계가 출현하였다. 그러나 각 플랫폼에서 맞는 애플리케이션은 서로 호환되지 않으므로 가상기계 언어간의 번역을 통해 목적 가상기계에서의 실행이 요구되며 자바 바이트코드를 순수 국내 기술로 개발된 GVM 코드로 번역하는 것이 바람직하다. 본 논문에서는 KVM에서 실행가능한 자바 바이트코드를 CVM에서 실행하기 위해 바이트코드를 GVM코드인 SAL(Sinji Assembly Language)로 번역하는 번역기를 설계하고 구현한다. 이를 위해 자바의 언어 독립적 특성 외에 언어 의존적인 특성을 처리하기 위한 방법을 제안하며 언어 의존적인 특성을 배열과 문자열, 클래스와 객체, 예외, 스레드로 분류하여 처리한다.

  • PDF

Translator for Java Bytecode to MSIL (Java Bytecode에서 MSIL로의 번역기)

  • 민정현;오세만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10a
    • /
    • pp.349-351
    • /
    • 2001
  • 자바는 객체지향언어이고, 한번 자바로 작성된 프로그램은 자바가상기계가 있는 모든 곳에서 수정없이 실행될 수 있기 때문에 소프트웨어의 개발과 유지보수에 많은 장점을 가진 언어이다. 이러한 특징으로 인하여 현재 개발되는 제품들이 자바로 개발되는 경우가 많다. 그러나 이는 결국 주 운영체제에서 사용되는 실행화일 이외에 자바의 실행화일만을 위한 자바가상기계가 공존해야 하므로 시스템에 있어서는 이중부담을 안을 수 밖에 없고, 더욱이 아직 대다수의 소프트웨어 개발자들은 주로 C언어나 C++언어를 사용하고 있으며, 최근에는 C#이라는 언어를 사용하고 있다. 결국 자바가 플랫폼에 독립적이라는 장점은 가지고 있지만, 다수의 개발자가 마이크로소프트의 윈도우 운영 체제를 사용하고 있다는 점을 감안하면, 커다란 장점만은 될 수 없다. 따라서, 본 논문에서는 자바의 클래스화일을 자바가상기계가 없이도, 마이크로소프트 윈도우의 .NET Framework에서 실행 될 수 있는 실행 화일로의 변환을 할 수 있는 중간언어인 MSIL(Microsoft Intermediate Language)로 바꿀 수 있는 번역기를 설계 및 구현 하였다. 이를 위한 방법으로는 자바 바이트코드와 MSIL의 어셈블리 형태에서의 명령어 매칭과정을 명령어들의 매핑테이블을 이용하여 변환하였고, MSIL에서 자바 바이트코드의 함수와 같은 기능을 하는 메소드의 변환을 위하여 마크로 변환 기법을 사용하였다.

  • PDF

Field Usage Pattern in Typical Java Programs (전형적 자바 프로그램에서 필드의 사용 형태)

  • Yang, Hee-Jae
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11a
    • /
    • pp.865-867
    • /
    • 2005
  • 자바 프로그램은 클래스의 집합으로 이루어지며 클래스는 필드와 메소드로 구성된다. 필드는 힙 메모리에 저장되므로 필드의 사용 형태는 힙 메모리의 사용 형태에 직접적인 영향을 미친다. 즉 자바 힙 메모리의 사용을 분석하기 위해서는 필드의 사용 형태를 분석해야 한다는 것이다. 본 논문에서는 전형적 자바 프로그램에서 필드가 어떻게 사용되어지는지를 정성적으로 분석하고 실험을 통해 확인하였다. 본 연구의 결과는 자바가상기계의 힙 메모리 구조 개발에 도움을 줄 것이며, 나아가 효율적인 자바가상기계의 개발을 가능하게 할 것으로 기대된다.

  • PDF

Heap Consumption Analyzer Using Code Embedding (코드 삽입을 이용한 힙 사용량 분석기)

  • Joo, Seong-Yong;Jo, Jang-Wu
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10b
    • /
    • pp.566-570
    • /
    • 2006
  • 프로그램의 힙 사용량이나 수행 시간과 같은 프로그램의 동적인 속성을 분석하기 위해서 프로파일러가 이용된다. 자바에서는 가상기계와 프로파일러의 통신을 목적으로 JVM TI 같은 프로파일러를 위한 인터페이스를 제공한다. 그러나 자바 가상기계 구현 명세는 프로파일러 인터페이스 구현을 요구하지 않는다. 프로파일러 인터페이스를 구현하지 않는 자바 가상기계에서는 JVM TI를 사용하는 프로파일러를 이용할 수 없다. 본 논문에서는 프로파일러 인터페이스를 사용하지 않는 힙 사용량 분석 기법을 제안했다. 이 방법은 힙 사용 정보를 추출하기 위한 코드를 소스파일에 삽입한다. 이 방법은 힙 사용량 분석 시 자바에서 제공하는 인터페이스를 사용하지 않기 때문에, 표준 인터페이스를 구현하지 않는 가상기계에서도 힙 사용 정보 분석을 수행할 수 있다.

  • PDF

Design of A Miniature Java Virtual Machine Using Dynamic Compiling (동적 컴파일링 기법을 이용한 소형 자바 가상 기계의 설계)

  • Kim, Do-Woo;Jung, Min-Soo;Jin, Min;Lee, Eun-Jung
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10a
    • /
    • pp.406-408
    • /
    • 1999
  • 썬에 의해 자바 플랫폼이 소개된 후, 자바 기술은 네트워크 상에 연결된 장치들이 선택할 수 있는 하나의 플랫폼으로 자리를 잡았다. 그래서 자바 기술을 자원 제약적인 네트워크 디바이스 및 디지털 전자기기에 적용하고자 하는 연구가 계속해서 진행 중이다. 본 논문에서는 자바 가상 기계를 소형화할 수 있는 기법들을 연구 분석하고, 처리 능력이나 메모리의 크기에 제약이 있는 디바이스들에 사용 가능하고, 동적 컴파일링 기법을 적용하여 실행 효율을 높일수 있는 소형 자바 가상 기계를 설계하고자 한다.

  • PDF

Performance Enhancement of Java Virtual Machine using Disk Cache Mechanism (디스크 캐쉬 기법을 이용한 자바 가상 세계의 성능 향상)

  • 강정욱;김철기;이준원
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.92-94
    • /
    • 2000
  • 자바는 이동성, 호환성, 안정성을 위해서 자바 가상 기계를 이용한 수행 방법을 사용한다. 이는 수행 속도를 저하 시키는 한 요인이다. 그래서, 정적 컴파일 모델과 동적 컴파일 모델과 같은 자바 가상 세계의 성능을 높이기 위한 여러 연구들이 진행되었다. 정적 컴파일 모델은 자바의 특성을 해치며, 동적 컴파일 모델은 초기화 시간이 증가하는 문제점이 있다. 본 논문에서는 디스크 캐쉬 기법을 이용하여 동적 컴파일 모델에서 발생하는 초기화 시간을 줄이는 자바 가상 기계를 구현하였다. SPEC JVM98[1]을 이용하여 Kaffe[2] 와 비교했을 때, 초기화 시간이 2배에서 5배 정도 줄었음을 알 수 있었다.

  • PDF

Memory Management Scheme of the simpleRTJ lava Virtual Machine (simpleRTJ 자바가상기계의 메모리 관리 기법)

  • 양희재
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2003.05a
    • /
    • pp.237-240
    • /
    • 2003
  • Efficient memory management is one of the most crucial requirement of lava virtual machine. In Java, memory is allocated everytime when a new instance of class is created or when a method is called. The allocated memory is freed when the instance is no longer used, or when the called method is returned. In this paper we have examined the memory management scheme applied to the simpleRTJ lava virtual machine. The simpleRTJ has such a distinguished characteristic in its memory management scheme that the size of all instances are forced to be the same and the size of stack frames of all methods be the same, respectively. We present in this paper the scheme thoroughly and analyze its anticipated performance qualitatively.

  • PDF

A Technique to Analyze Heap Usage of Java Programs Using Code Inserting (코드삽입을 이용한 자바프로그램의 힙 사용정보 분석기법)

  • Joo, Seong-Yong;Jo, Jang-Wu
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.2 s.46
    • /
    • pp.29-36
    • /
    • 2007
  • In the Java a profiler interface such as JVM TI is provided for communication between a Java virtual machine and a profiler. The JVM TI specification, however does not require an implementation of a profiler interface. Consequently the JVM without an implementation of a profiler interface cannot use a profiler with the JVM TI. For solving the problem, we propose a technique which analyzes heap usage without a profiler interface. This technique inserts codes to extract heap usage into source files in the Java. We implemented a code inserter to verify the proposed technique. We experimented with Java programs that are frequently used and opened. the experimental result presents the number of created objects. the maximum number of allocated objects, and the used pattern of the objects.

  • PDF

A Study On the Optimization of the Java Card Virtual Machine Based SmartCard (스마트 카드기반의 자바카드 가상기계 최적화연구)

  • 황욱철;양윤심;권오형;최원호;김도우;정민수
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2001.11a
    • /
    • pp.374-377
    • /
    • 2001
  • Java Card 플랫폼을 내장한 스마트 카드는 현재의 스마트 카드에 적용되는 모든 표준을 따르는 전형적인 스마트 카드인데, 자바카드 플랫폼의 장정을 최대한 이용하기 위해 적용할 기술은 메모리 측면에서 보면 사용할 수 있는 자원이 적어 다양한 용도로 사용에 있어 제한적이다. 따라서 본 논문에서는 적은 메모리 자원을 가지고 보다 효율적이고 최적화된 성능을 가지는 자바플랫폼을 지원하기 위해 자바 플랫폼의 성능에 핵심이 되는 자바 카드 가상기계(JCVM)의 성능최적화 방안에 대한 방법을 제시하고자 한다.

  • PDF

Design and Implementation of the Virtual Machine for the Redesigned Java Class File (재설계된 자바 클래스 파일을 위한 가상기계의 설계 및 구현)

  • Ko Kwang-Man
    • The KIPS Transactions:PartA
    • /
    • v.12A no.3 s.93
    • /
    • pp.229-234
    • /
    • 2005
  • The virtual machine is a programming environment that supports device and platform independence. So far, virtual machines such as JVM and KVM have been used in a variety of environments for the Java language. Some virtual machines similar to them are also being developed and used. This paper Presents the experiences of extracting elements essential for small sized devices such as PDA from Java Class files(*.class) and designing a converted class file(*.rclass) for runtime efficiency by modifying its class file format and developing its translator. In addition, a virtual machine is developed to receive the translated class file entered and output the runtime results.