• 제목/요약/키워드: 자바 가상 기계

Search Result 86, Processing Time 0.029 seconds

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

  • 이종동;정민수;이수진;진민
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.425-427
    • /
    • 1998
  • 일반적으로 자바는 '자바 가상 기계'라 불리는 소프트웨어에서 실행되어지므로 수행 속도가 느리다. 그래서, 자바의 실행 속도 향상을 위한 많은 연구가 진행 중이며, 그 결과로 서 여러 가지 종류의 자바 가상 기계가 만들어져 있기도 한다. 본 논문에서는 자바의 성능을 결정하는 자바 가상 기계의 효율을 높이기 위하여 현재 알려져 있는 자바 가상 기계의 구현 기법을 비교 분석하고, 보다 효율적으로 동작하는 '자바 가상 기계'를 제시한다.

Analysis of Energy Usage in simpleRTJ Embedded Java Virtual Machine (simpleRTJ 임베디드 자바가상기계의 에너지 사용 분석)

  • 양희재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10a
    • /
    • pp.598-600
    • /
    • 2004
  • 휴대폰이나 PDA 등 무선 이동 장치에 내장되는 자바가상기계는 필요 에너지를 모두 밧데리에서 공급받는다. 밧데리의 빈번한 재충전이나 교체 등에 따른 불편을 줄이기 위해서는 임베디드 자바가상기계의 에너지 사용을 최소화하는 것이 매우 중요하다. 자바가상기계의 에너지 사용은 자바 클래스의 저장에 따른 정적 에너지 사용과 바이트코드 실행 및 쓰레기 수집기의 작동 등에 따른 동적 에너지 사용으로 나눌 수 있다. 본 논문에서는 simpleRTJ 상용 임베디드 자바가상기계의 에너지 사용에 대해 분석해보았다. simpleRTJ의 주요 특징인 프리레졸루션과 ROM 이미지 형식이 에너지 사용에 미친 영향에 대해 분석하였으며, 고정 크기 메모리 할당과 에너지 소비의 상호 관계에 대해서 고찰하였다.

  • PDF

The data representation to support dynamic languages on the Java virtual machine (자바가상기계에서의 동적 언어의 지원을 위한 데이터 표현)

  • 박관민;정민수;이준석;윤성순;윤기송
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10a
    • /
    • pp.412-414
    • /
    • 1999
  • 본 논문에서는 동적 언어의 데이터가 자바 가상 기계에 적합한 수행을 할 수 있도록 자바가상기계에 알맞도록 동적 언어에 대한 새로운 데이터 표현 방법을 제시한다. 그리고 자바의 다형성을 이용하여 새로운 클래스 라이브러리를 자바가상기계에 추가한다. 이러한 자바 가상 기계의 수행을 추적함으로써 동적 언어의 데이터 표현에 대한 유효성을 검증한다.

  • PDF

A Memory Allocation Strategy for Minimizing External Fragmentation in Embedded Java Virtual Machine (임베디드 자바가상기계에서 외부 단편화 최소화를 위한 메모리 할당)

  • 김성수;양희재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04a
    • /
    • pp.940-942
    • /
    • 2004
  • 자바가상기계의 메모리 할당에서 서로 다른 크기의 메모리 할당과 해제는 힙 영역과 자바 스택 영역에 심각한 외부 단편화를 발생시킨다. 자바가상기계에서 외부 단편화는 가비지 콜렉션의 발생을 증가시키고 메모리를 할당하기 위한 메모리 접근이 증가되는 고비용의 동작이 발생하므로 소규모 메모리에서 동작하는 임베디드 자바가상기계에서 성능저하가 발생하게 된다. 본 논문에서는 임베디드 자바가상기계에서 외부 단편화를 최소화하고 메모리를 효율적으로 관리하기 위한 한 가지 방안으로 고정크기 메모리 할당 방법에 대한 연구이다. 고정크기 메모리 할당 기법은 자바가상기계의 힙 영역에 가장 큰 객체의 크기를 기준으로 할당하고 자바 스택 영역에 가장 큰 스택 프레임을 기준으로 할당하도록 하여, 힙 영역과 자바 스택 영역에 외부 단편화를 최소화하도록 하는 메모리 할당 정책이다. 고정 크기 메모리 할당은 내부 단편화에 따른 메모리 낭비가 발생될 수 있지만, 외부 단편화는 최소화되기 때문에 가비지 콜렉션 발생 횟수를 감소시킬 수 있으며, 회수된 메모리 공간을 재구성하는 고비용을 제거 할 수 있다. 또한 할당 해제된 영역들은 Free-List로 연결되어 메모리 할당을 위한 메모리 접근을 최소화시키는 장점을 가진다.

  • PDF

Fixed-Size Memory Allocation for Memory Space Reuse in Small Embedded Java Virtual Machine (소규모 내장형 자바가상기계에서 메모리 공간 재사용을 위한 고정 크기 메모리 할당)

  • 김성수;양희재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.10a
    • /
    • pp.232-234
    • /
    • 2003
  • 자바가상기계는 힙 영역과 자바 스택 영역에 객체와 스택 프레임을 할당할 공간이 없을 때 가비지 콜렉션과 함께 이미 해제된 힙과 자바 스택 영역을 재사용 가능하도록 메모리 공간을 재구성하게 된다. 한편 메모리 단편화로 인해 객체 또는 스택 프레임을 더 이상 할당하지 못하는 경우 자바가상기계는 컴펙션을 수행하여 메모리 단편화를 제거하면서 메모리를 재구성한다. 하지만 자바가상기계에서 메모리 재구성은 가비지 콜렉션및 컴펙션과 함께 길고 예측할 수 없는 지연시간에 의해 내장형 자바가상기계의 성능을 저하시키는 단점을 가진다. 본 논문은 소규모 내장형 자바가상기계의 성능을 개선하기 위한 방안으로, 가변 크기를 가지는 객체와 스택 프레임을 고정 크기로 변환하여 메모리를 할당하는 고정 크기 메모리 할당에 대해 기술하고 있다. 고정 크기 메모리 할당은 메모리 전체 사용율은 떨어지지만 외부 단편화가 발생하지 않기 때문에 회수된 메모리 공간을 재구성하지 않고도 힙 영역과 자바 스택 영역에 객체와 스택 프레임을 할당 가능하다. 본 논문에서 기술한 고정 크기 메모리 할당 방식으로 객체와 스택 프레임을 할당하게 되면 가변 크기 메모리 할당 보다 약 10% ~ 30% 효율향상을 보였다.

  • PDF

Development Visual Tools of that shows memory allocation of JVM (자바가상기계 메모리 할당을 보여주는 비주얼 도구의 개발)

  • 이수진;정민수;김우완;이공선;윤기송
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10a
    • /
    • pp.409-411
    • /
    • 1999
  • 본 논문에서 소개하고 있는 비주얼 자바가상기계 시뮬레이터는 자바 컴파일러에 의해 컴파일된 결과인 바이트코드를 분석하고, 그 분석된 결과가 자바가상기계내부구조에 어떻게 할당되는지를 시각적으로 보여줌으로써 자바 소스 코드가 보여주지 못하는 가상기계 내부의 메소드 영역, 자바 스택 영역, 힙 영역에 할당되는 정보를 통해 자바 소스 프로그램의 보다 명확하고 쉬운 이해가 가능하도록 한다.

  • PDF

Comparison and Analysis of Class Image File for Embedded Java Virtual Machine (내장형 자바가상기계를 위한 클래스 이미지 파일의 분석과 비교)

  • 김성수;김세영;양희재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.04c
    • /
    • pp.28-30
    • /
    • 2003
  • 자바가상기계는 기계독립적인 바이트코드, 즉 자바 컴파일러가 자바 원천코드로 생성한 클래스 파일의 정보를 읽어 응용 프로그램을 실행한다. 클래스 파일의 내부정보는 동적인 클래스 적재를 지원하기 위한 각종 심볼명과 클래스, 상수, 필드, 메소드 등으로 구성되어 있으며 여러 가지 링크 정보와 디버깅 정보로 인해 메모리 낭비와 클래스 파일에 대한 정보를 접근하는데 비효율적인 요소가 많다. 이런 이유로 인해 메모리 사용에 제한을 받는 내장형 시스템 환경에서 동작하는 자바가상기계에서 클래스 파일을 그대로 이용하기에는 적합하지 않다. 따라서 클래스 파일을 다른 새로운 형태인 클래스 이미지 파일로 변환이 요구되는데 이를 지원하는 자바가 상기계로 simpleRTJ와 leJOS등이 있다. 클래스 이미지 파일의 지원은 내장형 시스템에서 동작하는 자바가상기계의 메모리 절감과 함께 클래스 정보의 접근 효율성을 높이는데 있다. 본 논문에서는 simpleRTJ 및 leJOS의 클래스 이미지 파일을 분석한 후 자바가상기계의 메모리 절감과 접근의 효율을 높여주기 위한 목적에 의해 클래스 이미지 파일을 생성하는 응용 프로그램인 cls2bin 이라는 클래스 이미지 변환기로 생성한 이미지 파일과 비교하여 cls2bin이 생성한 클래스 이미지 파일이 얼마만큼의 효과를 가지는지에 대해 검증해 보고자 한다.

  • PDF

Design and Implementation of Java Virtual Machine Simulator (자바 가상 기계 시뮬레이터의 설계 및 구현)

  • 김도우;정민수;류동항;진민
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.422-424
    • /
    • 1998
  • 객체지향 언어로 작성된 프로그램은 프로그램의 수행과정에 관련된 많은 정보가 숨겨져 있기 때문에 분석하기가 쉽지 않다. 자바의 경우도 동일하지만 자바의 경우에는 컴파일 후에 생성된 클래스 파일에 숨겨진 모든 객체에 대한 정보가 저장되어 있다. 비주얼 자바 가상 기계 시뮬레이터는 자바 가상 기계가 바이트 코드를 실행하는 과정을 자바 가상 가계의 구성 요소들을 시각화하여 그 동작 과정을 보여줌으로써 클래스 파일 내에 포함된 바이트 코드의 실행 과정을 정확히 이해하게 해준다.

Design and Implementation of small sized (자바 플랫폼 지니 기반 소형 자바가상기계의 설계 및 구현)

  • 정준영;최원호;김도우;조증보;유홍식;정민수
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2001.06a
    • /
    • pp.37-41
    • /
    • 2001
  • 모바일 인터넷 시대가 열리면서 언제, 어디서든지 네트워크에 연결될 수 있는 휴대용 디지털 기기의 인터넷에 대한 관심이 증대되고 있다. 모바일 단말기에서의 자바 플랫폼 기반 지니 홈네트워크 접속은 자바 기술의 특성을 가장 잘 살린 컴퓨팅 환경이다. 지니를 지원하기 위해서는 자바 가상 기계라는 소프트웨어가 실행을 하고 있는 환경이어야 하고 RMI를 지원해야 하는데 Java2ME의 K-자바 가상 기계는 이를 지원하지 못한다. 본 논문에서는 Java2ME CLDC를 기반으로 지니에 접속할 수 있는 자바 가상 기계에 대해 논의하였다. 지니 KVM 은 각 모바일 단말기에 맞는 프로그램을 하지 않아도 되는 환경을 제공 할 뿐만 아니라, 표준 자바 클래스 파일 포맷과 CLDC 클래스 파일을 지원하고, 지니에 접속할 수 환경을 제공함으로써, 모바일 단말기의 본격적인 네트워킹을 할 수 있도록 한다.

  • PDF

Robustness Testing of Java Virtual Machine using fault injection (폴트 삽입 방식을 통한 자바 가상 기계의 강건성 테스팅(Robustness Testing) 기법)

  • 이성민;김상운;강제성;권용래
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04b
    • /
    • pp.355-357
    • /
    • 2004
  • Java의 경우 기존의 강건성 테스팅 방법인 ballista로는 객체 타입의 인자 및 파일 시스템의 변화를 시뮬레이션 할 수 없다. 따라서 객체에 대한 특별한 접근을 필요로 한다. 본 논문에서는 객체에 폴트를 삽입하는 방식을 통하여 자바 가상 기계의 강건성(Robustness)을 테스팅하는 방법을 제안한다. 자바 디버깅 툴인 JPDA를 사용하여 자바 가상 머신에 대한 직접적인 접근 및 의도한 상태 및 환경 변경을 가능하게 하고 이를 통해 자바 가상 기계에 폴트가 심어진 객체를 수행시킬 수 있다. 객체를 수행시키고 의도한 예외상황의 발생 유무를 관찰함으로써 자바 가상 기계의 강건성을 테스트 할 수 있다.

  • PDF