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

검색결과 75건 처리시간 0.033초

자바 문장 형식이 프로그램 실행시간에 미치는 영향 (Effect of Java Statement Types on Program Execution Time)

  • 양희재
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 추계학술발표대회 및 정기총회
    • /
    • pp.1467-1470
    • /
    • 2005
  • 다른 고수준 언어와 마찬가지로 자바도 할당문, 연산문, 조건문, 반복문, 호출문 등의 문장 형식을 갖는다. 자바의 모든 문장 형식은 바이트코드로 변환되어 자바가상기계 상에서 실행된다. 스택 기반 구조를 갖는 자바가상기계에서 각 문장의 실행은 필연적으로 자료 이동을 요구하며, 자료 이동은 메모리 접근을 필요로 하므로 프로그램 실행 시간에 직접적 영향을 미친다. 본 논문에서는 각각의 자바 문장 형식이 어느 정도의 메모리 접근을 요구하며, 프로그램 실행 시간에는 어떤 영향을 미치는지를 분석하였다. 이 연구의 결과는 자바 프로그래머에게 프로그램 실행 시간면에서 보다 효율적인 프로그램 작성을 할 수 있도록 도와 줄 것이다.

  • PDF

스마트 크로스 플랫폼을 위한 Java 컴파일러의 구현 (Implementation of the Java Compiler for the Smart Cross Platform)

  • 손윤식;이양선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 추계학술발표대회
    • /
    • pp.383-384
    • /
    • 2013
  • 현재 스마트 디바이스 콘텐츠는 각 플랫폼별로 독립적인 프로그래밍 언어와 개발 환경이 존재하기 때문에 다양한 플랫폼에 동일한 콘텐츠를 제공하기위해서는 각 플랫폼에 적합한 방식으로 중복 개발되어야 한다. 스마트 크로스 플랫폼은 이러한 문제점을 해결하기 위한 가상기계 기반 솔루션으로 다양한 개발 언어를 지원하고, 탑재된 모든 플랫폼에 동일한 실행환경을 제공하여 콘텐츠 개발을 용이하게 하고 다른 플랫폼으로의 이식 비용을 절감할 수 있는 장점을 가진다. 본 논문에서는 스마트 크로스 플랫폼에서 Java 프로그래밍언어를 지원하기 위한 컴파일러를 소개한다. 구현된 Java 컴파일러는 Java 콘텐츠를 입력으로 받아 스마트 크로스 플랫폼에서 실행하기 위한 플랫폼 독립적인 스택 기반 가상기계 코드인 SIL을 생성한다.

바이트코드 분석을 위한 중간코드에 관한 연구 (A Study on Informediated code for Analyzing Bytecodes)

  • 김경수;유원희
    • 한국컴퓨터정보학회논문지
    • /
    • 제11권1호
    • /
    • pp.107-117
    • /
    • 2006
  • 자바 언어는 객체지향 언어이며 다양한 개발 환경과 이식성에 맞는 언어로써 각광을 받고 있다. 하지만 자바 언어는 실행속도가 느리다는 단점을 가지고 있다. 이러한 이유는 자바 프로그래밍 환경에서 자바 가상 기계 코드인 바이트코드가 인터프리터 방식으로 사용되기 때문이다. 따라서 프로그램의 수행에는 실행속도가 현저히 저하되는 단점이 발생하게 된다. 또한 자바 언어는 컴파일러를 통해 생성된 클래스 파일에 프로그램의 수행과 관련된 정보가 숨겨져 있다. 클래스 파일의 분석으로 바이트코드를 위한 효율적인 분석 및 최적화를 할 수 있다. 본 논문에서는 자바 클래스 파일의 정보들을 이용해 자바 바이트코드 분석을 하려한다. 분석을 위해 정적 단일 배정문 형태로 변환하게 되는데 정적 단일 배정문 형태는 정의-사용체인에서 변형된 형태이다. 정적 단일 배정문 형태는 각각의 타입들을 오직 한번만 배정하고 재명명함으로써 프로그램을 정적으로 분석 할 수 있게 한다. 정적 단일 배정문 형태는 최적화와 분석을 위한 효과적인 중간 코드이다.

  • PDF

능동네트워크 상의 능동센서 언어 설계 및 인터프리터 구현 (The Design of Active Sensor Language on Active Network and Implementation of Its Interpreter)

  • 양윤심;배철성;정민수;이영석
    • 한국멀티미디어학회논문지
    • /
    • 제6권7호
    • /
    • pp.1245-1255
    • /
    • 2003
  • 네트워크에 대한 요구는 점차적으로 복잡해지고 그 수가 증가하고 있는 상태이다. 이를 극복하기 위해 현존하는 네트워크 노드의 구조를 프로그래밍이 가능하도록 하는 능동 네트워크 기술이 등장하게 되었다. 이것은 사용자 요구 기능을 수행할 수 있는 프로그램 코드를 전송 및 실행함으로써 통신망에 새로운 서비스를 신속하고 경제적으로 도입하여 망 자원들을 보다 적절하게 활용할 수 있도록 하는 기술 분야이다. 본 논문에서는 능동 네트워크 상에서 능동센서의 기능 및 동작 방식을 기술하기 위한 프로그래밍 언어를 제안하고 이러한 언어를 기반으로 능동센서를 용이하게 다룰 수 있는 능동센서 인터프리터를 설계 및 구현한다.

  • PDF

자바 반복문의 에너지 효율성 (Energy Efficiency of Iteration Statement in Java)

  • 양희재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2005년도 추계종합학술대회
    • /
    • pp.816-819
    • /
    • 2005
  • 자바 프로그램의 실행 환경인 자바가상기계에서는 거의 모든 바이트코드들이 메모리 상에서의 자료 이동을 필요로 한다. 자료 이동은 에너지 소비를 일으키므로 이것의 최소화는 JVM의 에너지 효율성 향상에 매우 중요하다. 특히 자바 반복문은 반복 회수에 비례하는 양만큼의 자료 이동을 요구하므로 JVM의 에너지 효율을 높이기 위해서는 무엇보다도 자바 반복문의 에너지 효율을 높이는 것이 중요하다. 본 논문에서는 자바 반복문을 바이트코드 수준에서 분석하여 에너지 효율성을 높일 수 있는 여러 방법들을 제안하였다.

  • PDF

내장형 자바 시스템을 위한 클래스 라이브러리의 특성 (Characteristic of the Class Library for Embedded Java System)

  • 양희재
    • 한국정보통신학회논문지
    • /
    • 제7권4호
    • /
    • pp.788-797
    • /
    • 2003
  • 클래스 라이브러리는 자바가상기계와 더불어 자바실행환경을 이루는 가장 중요한 요소들 중 한가지다. 통신속도나 메모리의 용량 면에서 제한을 받게 되는 내장형 시스템의 특징상 내장형 자바 시스템은 클래스 라이브러리에 대한 의존도가 매우 높다. 따라서 효율적인 내장형 자바 시스템의 구축을 위해서는 클래스 라이브러리에 대한 면밀한 분석이 필수적이다. 본 논문에서는 내장형 자바 시스템을 위한 클래스 라이브러리의 특성에 대해 분석하였다. 즉 라이브러리를 이루는 클래스 구성과, 그 클래스들을 담은 파일의 크기 및 파일 내 주요 요소인 상수풀에 대한 분석을 하였다. 또한 클래스들이 갖고 있는 필드 및 메소드의 개수, 각 메소드들이 필요로 하는 스택과 지역변수배열의 크기, 그리고 각 메소드의 바이트코드 길이 등에 대해 조사하였다. 이 연구의 결과는 내장형 자바 시스템의 클래스 적재에 따른 지연시간 해석, 인스턴스를 만들 때 소요되는 메모리의 크기 예측 등 효율적 내장형 자바가상기계의 설계에 사용될 것이다.

에너지 관점에서 임베디드 자바가상기계의 메모리 접근 형태 (Memory Access Behavior of Embedded Java Virtual Machine in Energy Viewpoint)

  • 양희재
    • 정보처리학회논문지A
    • /
    • 제12A권3호
    • /
    • pp.223-228
    • /
    • 2005
  • 임베디드 시스템에서 일반적으로 메모리가 가장 많은 에너지를 소비하는 것으로 알려지고 있다. 임베디드 자바가상기계의 경우도 마찬가지이며, 따라서 보다 에너지 효율이 높은 자바가상기계의 개발을 위해서는 자바 메모리의 에너지 사용을 최적화 하는 것이 무엇보다 중요하다. 본 논문에서는 자바 프로그램 실행 시 수많은 바이트코드들이 어떻게 논리적 메모리를 접근하는지 분석하였다. 이런 접근 형태 분석은 자바 메모리의 설계 및 구현 기술을 선택하는데 큰 통찰력을 제공해 준다 힙, 오퍼랜드 스택, 지역변수배열 등 세 가지 논리적 데이터 공간에 대해 각각 메모리 접근을 분석하였으며, 분석 결과 오퍼랜드 스택이 가장 빈번하게, 또한 균일하게 사용되었으며 힙이 가장 드물게, 그리고 불균일하게 사용되었음을 알 수 있었다. 힙과 지역변수배열은 읽기 위주로 사용되었으며, 오퍼랜드 스택은 읽기와 쓰기 비율이 크게 다르지 않았다.

자바프로그램 분석을 위한 바이트코드 시뮬레이터 (Bytecode Simulator for Analyzing Java Programs)

  • 김도우;정민수
    • 한국정보처리학회논문지
    • /
    • 제7권7호
    • /
    • pp.2086-2094
    • /
    • 2000
  • 자바의 같이 객체지항 언어로 작성된 프로그램은 프로그램의 실행과 관련된 정보들과 제어의 흐름이 숨겨져 있기 때문에 분석하기가 쉽지 않다. 그러나, 자바의 겨우는 컴파일 과정을 통해 생성된 클레스 파일에 프로그램의 수행과 관련된 벙보가 포함되어 있다. 자바 가상 기계는 클레스 파일에 포함된 바이트코드를 실행시킨다. 따라서 바이트코드가 실행되는 과정을 살펴보면 자바소스 프로그램에 대해 보다 명확한 분석과 쉬운 이해가 가능해 진다. 본 논문에서는 자바 프로그램의 구조와 객체들 사이의 제어의 흐름을 이해하는데 도움을 준다.

  • PDF

자바가상기계를 대상으로 하는 지연계산기반 함수형 언어 컴파일러의 설계 및 구현 (Design and Implementation of a Lazy Functinal Language Compiler for Java Virtual Machine)

  • 최광훈;임현일;한태숙
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (1)
    • /
    • pp.326-328
    • /
    • 2000
  • 본 논문에서는 지연계산기반 함수형 언어 프로그램을 받아 Java 프로그램을 목적 코드로 생성하는 컴파일러를 설계하고 구현한다. 이 컴파일러는 제한된 형태의 함수형 언어 Shared Term Graph(STG)를 입력언어로 하는 추상기계 Spineless Tagiess G-Machine (STGM)을 수행 모델로 한다. 본 논문에서는 명령형 언어 L-code를 제안하고 이를 입력언어로 하는 새로운 형태의 STGM인 L-Machine을 제안한다. STG 언어를 L-code로 변환하는 컴파일러와 L-code를 Java로 변환하는 컴파일러를 설계하고 구현함으로써 원하는 컴파일러를 구성한다. 그리고 Glasgow Haskell 컴파일러를 전단부로 하여 지연계산 기반 함수형 언어 Haskell로 작성된 프로그램들을 컴파일하여 STG 프로그램으로 변환한 다음 본 논문에서 구현한 컴파일러로 이를 Java 프로그램으로 변환한다. 변환된 Java 프로그램을 Sun JIT 컴파일러로 컴파일하여 수행한 성능 평가 결과를 제시한다.

  • PDF

모바일 어플리케이션을 위한 에너지-인식 달빅 바이트코드 리스트 스케줄링 기술 (Energy-aware Dalvik Bytecode List Scheduling Technique for Mobile Applications)

  • 고광만
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제3권5호
    • /
    • pp.151-154
    • /
    • 2014
  • 모바일 기기에서 어플리케이션의 에너지 소비는 운영체제, 실행시간 환경, 컴파일러, 어플리케이션 등이 복잡한 상호 작용을 통해 이루어진다. 최근까지 에너지-지향적인 고수준 및 저수준의 컴파일러 기술을 적용하여 모바일 기기에서 어플리케이션의 에너지 소비를 줄이기 위한 노력이 진행되고 있다. 본 논문에서는 안드로이드 달빅에서 실행되는 dex 파일로부터 달빅 바이트코드를 추출한 후 에너지 소비 최적화를 위한 리스트 인스트럭션 스케줄링을 적용하여 어플리케이션의 에너지 소비를 줄이고자 한다. 이러한 연구는 급속도로 확산되고 있는 안드로이드 기반 어플리케이션이 전력 공급이 제한적인 모바일 환경에서 최적화된 전력 에너지 소비할 수 있는 환경을 구축하는 데 활용할 수 있다.