• Title/Summary/Keyword: Java Virtual Machine

Search Result 181, Processing Time 0.028 seconds

A Study on Effective Garbage Collection using Memory Partitioning (메모리 분할을 이용한 효과적인 가비지 컬렉션에 관한 연구)

  • Heo, Seo-Kyung;Lee, Sung-Young
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11a
    • /
    • pp.317-320
    • /
    • 2003
  • 자바는 플랫폼 독립성, 이식성, 보안, 멀티 쓰레드 지원, 동적 적재, 자동화된 메모리 관리(Garbage Collection) 등 많은 장점을 갖는 언어이다. 특히, 가비지 컬렉터(Garbage Collector)는 메모리 누수(memory leak), 동강난 포인터(dangling pointer) 등과 같은 메모리의 잘못된 사용으로 인한 버그로부터 프로그래머를 자유롭게 하며, 디버깅의 용이함, 개발비용의 절감, 프로그램의 일관성 및 견고성의 향상 등의 이점을 얻을 수 있다. 그러나, 자바 가상머신(Java Virtual Machine)에서 가비지 컬렉터가 객체를 추적(tracing)하고 수집(collecting)하는 작업은 프로그램의 수행 성능을 저하시키는 요인이 된다. 따라서, 본 논문에서는 가비지 컬렉터의 성능을 향상시키기 위하여 힙(heap)에 할당하는 객체들의 특성을 고려하여 메모리를 분할한 후, 효율적으로 컬렉션 작업을 수행 할 수 있는 기법을 소개한다.

  • PDF

Reconfigurable Java Virtual Machine Model Using Dynamic Instrumentation (동적 인스트루먼테이션을 이용한 자바 가상 머신 재구성 모델)

  • Son, Jae-Woong;Kim, Young-Pill;Yoo, Hyuck
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.11a
    • /
    • pp.1475-1478
    • /
    • 2005
  • 최근 다양한 내장형 시스템에서 이식성, 신뢰성, 재사용성에서 장점을 가지는 자바가 많이 사용되고 있다. 또한, 내장형 시스템 환경에서 서비스들에 대한 사용자의 요구와 하드웨어 플랫폼이 다양해지고 있다. 내장형 시스템의 플랫폼과 사용자 요구가 다양해짐에 따라 이를 효율적으로 반영하기 위하여 자바 가상 머신의 동적 재구성이 필요하다. 그러나 기존의 자바 가상 머신 재구성에 관한 연구는 컴포넌트 기반 재구성 방법이 대부분이고 이 방법은 컴포넌트의 일부분이 교체될 때 오버헤드가 발생한다. 따라서 본 연구에서는 기존 연구의 단점을 해결할 수 있는 동적 재구성이 가능한 자바 가상 머신 모델을 제안한다.

  • PDF

Design and Implementation of Decompiler for Generating C Program from EVM SIL (EVM SIL에서 C 프로그램 생성을 위한 역컴파일러의 설계 및 구현)

  • Kim, Young-Keun;Kwon, Hyeok-Ju;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.05a
    • /
    • pp.549-552
    • /
    • 2005
  • 기존의 ANSI C 프로그램은 각각의 플랫폼에 따른 컴파일러를 통해서 목적기계의 코드로 변환되고, 실행되어 플랫폼에 의존적인 단점이 있다. 이러한 단점을 보완하는 방법으로는 스택기반의 가상기계와 가상기계의 입력형태인 중간코드를 이용하는 기법이 있다. EVM(Embedded Virtual Machine)은 ANSI C 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템을 위한 가상기계이며, SIL(Standard Intermediate Language)은 EVM에서 실행되는 중간언어로 다양한 프로그래밍 언어를 수용하기 위해서 객체지향 언어와 순차적인 언어를 모두 수용하기 위한 연산 코드 집합을 갖고 있다. 본 논문에서는 SIL 코드가 올바른 수행을 하는 것인지를 검증하고 원시코드의 분석을 용이하게 하기 위해서 생성된 SIL 코드를 어셈블리 형태와 유사한 재 표현된 ANSI C 언어로 바꾸는 역컴파일러 시스템을 설계하고 구현하였다.

  • 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

In-Memory Allocation of Class Files in SimpleRTJ Java Virtual Machine (SimpleRTJ 자바가상기계에서 클래스 파일의 메모리 상 배치)

  • 양희재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.10d
    • /
    • pp.643-645
    • /
    • 2002
  • 자바가상기계는 클래스 파일에 있는 클래스, 상수, 필드, 메소드 등의 내부 정보를 읽고 자바 응용 프로그램을 실행한다. 보조기억장치가 없는 내장형 시스템의 경우 클래스 파일은 주기억장치, 즉 메모리에 두어야 하지만 클래스 파일 자체는 크기도 클 뿐 아니라 내부 정보에 접근하는 것도 효율적이지 못하다. 따라서 대개의 경우 클래스 파일을 변형한 형태로 메모리에 배치하는데, 본 논문에서는 특히 simpleRTJ 라고 하는 상용 내장형 자바가상기계에서 적용된 방식에 대해 조사해보았다. 이 플렛폼에서의 분석을 통해 클래스 파일의 크기가 얼마까지 줄어들 수 있고, 내부 정보에 대해서는 얼마나 효율적으로 접근할 수 있는지에 대해 고찰하였으며, 그 결과를 바탕으로 향후 더 개선된 형태로 클래스 파일을 메모리에 배치할 수 있는 방안에 대해 연구하고자 한다.

  • PDF

Development of IPTV Middleware Standard Reference Implementation (IPTV 미들웨어 표준 참조구현 개발)

  • Park, DongYoung;Park, HyeonKweon;Lee, EunHyang
    • Proceedings of the Korean Society of Broadcast Engineers Conference
    • /
    • 2011.11a
    • /
    • pp.88-91
    • /
    • 2011
  • IPTV는 방통융합기술의 대표적인 매체로서 기존의 단방향 방송과는 차별화된 양방향 서비스를 특징으로 하는 새로운 방송 매체로, 우리나라는 이미 IPTV 상용 서비스를 시작하고 있다. 그러나, 초기 데이터방송 송출환경 및 애플리케이션의 방식 등이 서로 상이하여 애플리케이션의 호환성 문제가 대두 됨에 따라, IPTV 미들웨어의 표준화가 진행되고 있으며, 현재도 개정 작업이 진행되고 있다. 이렇듯 표준화가 진행됨에 따라, IPTV 서비스 플랫폼 상호호환성 확보의 핵심인 미들웨어에 대한 표준 미들웨어를 개발하여 업계에 배포 활용하게 함으로써 표준 API의 정착 및 중소 업체에 시장 진입의 기회를 부여하고자 IPTV 미들웨어 표준 참조구현을 개발하게 되었다. 미디어 재생, 그래픽 객체 표현 기능, 리모콘 가상화 등의 미들웨어 실행환경 및 IPTV 미들웨어 표준에 부합하는 API를 구현하여 Windows OS상에서 동작하도록 개발되었으며, Java VM(Virtual Machine)에서 동작하는 자바기반 미들웨어와 웹 애플리케이션 실행 플랫폼을 통해 구동되는 웹기반 미들웨어를 같이 개발영역에 포함하여 개발하였다.

  • PDF

The design and Implementation of Class Loader System for Java Virtual Machine (자바가상머신을 위한 클래스 로더 시스템 설계 및 구현)

  • 유용선;류현수;김용희;이철훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04a
    • /
    • pp.796-798
    • /
    • 2004
  • 최근 무선인터넷이 발달함에 따라, 핸드폰이나 PDA 및 정보가전용 기기들에 플랫폼 독립성, 이식성, 네트워크 이동성의 장정을 갖는 자바기술을 적용한 서비스가 증가하고 있다. 자바 플랫폼은 각각의 하드웨어 플랫폼에 맞게 포팅 된 가상머신이 존재하여, 컴파일 된 바이트 코드를 해석하기 때문에 플랫폼 독립성을 갖게 된다. 그러나 sun사의 JVM을 사용할 경우 고가의 royalty를 지불해야 하기 때문에 경쟁력을 높이기 위해 “클린눔(Clean Room)”에서 개발한 국산 KVM이 절실하며, 이에 국내에서 활발한 연구가 이루어지고 있는 실정이다. 본 논문에서는 자바가상머신의 일부분인 클래스 로더 시스템에 관해 설계 및 구현한다.

  • PDF

Development of Java Virtual Machine and its Use (자바 가상 머신의 개발 및 활용)

  • Won, Hee-Sun;Bae, Yu-Suk;Lee, Ji-Hyun;Moon, Kyung-Duk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11b
    • /
    • pp.1639-1642
    • /
    • 2002
  • 자바가상머신은 제한적인 자원을 갖는 내장형 시스템에서 기업용 서버에 이르기까지 다양한 플랫폼에서 사용되고 있으므로, 각 플랫폼과 응용분야에 최적화된 자바가상머신을 만드는 것은 중요하다. 본 논문에서는 자바가상머신 스펙 1.2 를 지원하도록 구현한 자바가상머신의 전체적인 구조와 주요 부분의 구현 내용을 설명하고, 다양한 플랫폼과 응용 분야에 따라 최적화된 자바가상머신을 생성하기 위하여 자바가상머신 내부의 핵심 데이터 구조와 모듈을 재구성하는 연구 방향에 대해서도 소개한다.

  • PDF

A Definition of Loop Byteocode for Performance Improvement of Java Virtual Machine (루프 바이트코드의 정의를 통한 자바가상머신의 성능 개선)

  • Lee, Ji-Hyun;Won, Hee-Sun;Moon, Kyung-Doek;Kim, Young-Kuk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11b
    • /
    • pp.1387-1390
    • /
    • 2002
  • 자바가상머신은 플랫폼에 독립적인 실행을 위해서 바이트코드라고 하는 스택(stack) 기반의 가상 기계어를 사용하므로 실행 속도가 느리다는 단점이 있다. 특히 루프문을 포함하는 자바프로그램을 자바가상머신에서 수행 시키면 루프에 관련된 몇 개의 동일한 바이트코드가 루프의 실행 횟수만큼 반복적으로 인터프리트해서 수행하므로 상당한 성능 저하를 유발한다. 본 논문에서는 이런 비효율적인 성능상의 문제점을 개선하기 위해 루프를 수행하는 새로운 바이트코드를 정의 및 구현하고, 이를 실제 클래스 파일에 적용하기 위한 코드 변경 절차와 방법을 제시한다. 제안된 바이트코드를 사용해서 루프의 처리 속도를 개선할 경우, 클래스 파일의 크기를 줄일 수 있을 뿐만 아니라 간단한 성능 평가를 통해서 자바가상머신의 성능 개선 효과를 확인할 수 있다.

  • PDF

Design of Java virtual machine scheduler using component analysis queue (컴포넌트 분석 큐를 적용한 자바 가상머신 스케줄러 설계)

  • Ki, Young-Tek;Lee, Sung-Young
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05c
    • /
    • pp.1797-1800
    • /
    • 2003
  • 내장형 시스템 환경에서는 급변하는 시장의 적시성 요구(time-to-market)와 저렴한 비용으로 다양한 사용자의 요구사항을 효율적으로 반영해야 한다. 그러한 특징에 의해 내장형 시스템 환경에서는 재구성 가능한 컴포넌트 기반 소프트웨어 개발방법이 주목받고 있다. 또한 내장형 시스템 소프트웨어 개발에는 이식성, 신뢰성, 재사용성에서 강점을 가진 자바 가상머신이 주목받고 있다. 따라서 본 논문에서는 컴포넌트 기반 내장형 자바 가상머신에 적합한 스케줄러를 개발하기 위해, 추상 컴포넌트 조림기법과 의존성 검사 방법을 적용한 컴포넌트 스케줄링 큐를 적용하여, 컴포넌트간의 문맥교환을 줄여 수행성능을 향상시킨 스케줄러의 설계 기법에 대하여 소개한다.

  • PDF