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

검색결과 602건 처리시간 0.044초

가상 기계를 위한 실행 파일 포맷 (An Executable File Format for Virtual Machine)

  • 정한종;윤성림;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (중)
    • /
    • pp.647-650
    • /
    • 2003
  • 가상 기계 개념은 목적 기계에 영향을 받지 않는 컴파일러의 중간언어로부터 시작되었다. 즉, 기존에는 실행 프로그램이 하드웨어와 운영체제에 종속적이었으나 가상 기계는 플랫폼 독립을 가능하게 한다. 임베디드 시스템이란 전용 동작을 수행하거나 또는 특정 임베디드 소프트웨어 응용 프로그램과 함께 사용되도록 디자인된 특정 컴퓨터 시스템 또는 컴퓨팅 장치를 말한다. 임베디드 시스템을 위한 가상 기계 기술은 모바일 장치와 디지털-TV 등에 탑재할 수 있는 핵심 기술과 다운로드 솔루션을 이용한 동적인 실행 기술이 요구된다. 또한 컨텐츠 개발을 쉽게 하기 위해서 다양한 언어를 지원하고 언어들 간의 통합이 가능하다. 본 논문에서는 클래스 파일 포맷, PE 파일 포맷 등 기존의 가상 기계를 위한 파일 포맷들의 분석을 기반으로 하여 임베디드 시스템을 위한 실행 파일 포맷인 EVM 파일 포맷을 제안한다. EVM 파일 포맷은 언어 통합을 지원하고 구조가 간결하며 확장이 용이한 특징을 지닌다. 또한 메타데이터와 중간언어(SIL)가 서로 독립적으로 구성되어 분석이 쉽고 타입 체크가 괸리한 구조이다.

  • PDF

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

  • 고광만
    • 정보처리학회논문지A
    • /
    • 제12A권3호
    • /
    • pp.229-234
    • /
    • 2005
  • 가상 기계(Virtual Machine; VM)는 언어에 대한 장치 독립성 및 플랫폼 독립성을 지원하는 프로그래밍 실행 환경이다. 현재까지 자바 언어를 위해 JVM, KVM 등이 다양한 환경에서 사용되고 있으며 유사한 가상 기계가 개발되어 활용되고 있다. 본 논문에서는 자바 클래스 파일(*.class)에서 PDA와 같은 소규모 장치에서 반드시 필요한 요소를 추출하고 실행 효율성을 위해 클래스 파일의 포맷을 재구성한 클래스 파일(*.rclass)을 설계하고 변환기를 개발하였다. 또한 재설계된 클래스 파일을 입력으로 받아 실행 결과를 생성하는 가상기계를 구현하였다.

C++ 컴파일러에서 중간코드의 검증과 분석을 위한 역컴파일러의 설계 및 구현 (Design and Implementation of a Decompiler for Verification and Analysis of Intermediate Code in C++ Compiler)

  • 배성균;김영근;이양선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2006년도 춘계학술발표대회
    • /
    • pp.1405-1408
    • /
    • 2006
  • C++ 언어는 객체지향 프로그래밍 언어로, 기존의 C++ 프로그램은 각각의 플랫폼에 따른 컴파일러를 통해 목적기계의 코드(object code)로 변환되므로 실행되는 플랫폼에 의존적인 단점이 있다. 이러한 단점을 보완하는 방법으로 스택기반의 가상기계와 가상기계의 입력형태인 중간코드를 이용하는 기법이 있다. EVM(Embedded Virtual Machine)은 ANSI C, ISO/IEC C++ 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템 기반의 가상기계이며, EVM에서 실행되는 중간코드인 SIL(Standard Intermediate Language)은 객체지향 언어와 순차적인 언어를 모두 수용하기 위한 명령 코드의 집합으로 설계되어 있다. 본 논문에서는 C++ 컴파일러를 통해 생성된 SIL 코드가 올바른지 검증하고 원시코드의 분석을 용이하게 하기 위해서 SIL 코드를 어셈블리 코드와 유사한 형태의 재 표현된 C++ 프로그램으로 역컴파일하는 시스템을 설계하고 구현하였다.

  • PDF

패턴 매칭 기법을 이용한 SIL 코드 최적화기 (SIL Code Optimizer Using Pattern Matching Technique)

  • 박성환;라황균;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 춘계학술발표대회
    • /
    • pp.541-544
    • /
    • 2005
  • EVM(Embedded Virtual Machine)은 모바일 디바이스, 디지털 TV 등 임베디드 컴퓨팅 환경에서 동적인 응용프로그램을 실행할 수 있는 가상기계 플랫폼(Virtual Machine Platform)이다. 가상기계를 이용한 응용프로그램은 플랫폼 독립적인 실행 및 효과적인 다운로드 솔루션을 통한 동적인 실행이 가능하다. EVM을 위한 가상기계 코드인 SIL(Standard Intermediate Language)은 언어/기계 독립적으로 설계되었다. 본 논문은 SIL 코드가 시스템 리소스의 제한이 큰 임베디드 시스템상에서 보다 효율적으로 실행되기 위하여 최적화를 수행하였다. 기존의 최적화 방법론에 관한 연구를 통하여 SIL 코드 특성을 고려한 최적화 방법론을 제시하고, 최적화된 코드를 생성하기 위한 코드 최적화기를 설계하고 구현현하였다. SIL 코드 최적화기는 컴파일러에 의해 생성된 SIL 코드를 입력으로 받아 효율적인 코드로 변환하여, 전체 코드의 크기를 줄이고 수행 속도의 개선효과를 얻을 수 있다.

  • PDF

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

  • 김영근;권혁주;이양선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 춘계학술발표대회
    • /
    • pp.549-552
    • /
    • 2005
  • 기존의 ANSI C 프로그램은 각각의 플랫폼에 따른 컴파일러를 통해서 목적기계의 코드로 변환되고, 실행되어 플랫폼에 의존적인 단점이 있다. 이러한 단점을 보완하는 방법으로는 스택기반의 가상기계와 가상기계의 입력형태인 중간코드를 이용하는 기법이 있다. EVM(Embedded Virtual Machine)은 ANSI C 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템을 위한 가상기계이며, SIL(Standard Intermediate Language)은 EVM에서 실행되는 중간언어로 다양한 프로그래밍 언어를 수용하기 위해서 객체지향 언어와 순차적인 언어를 모두 수용하기 위한 연산 코드 집합을 갖고 있다. 본 논문에서는 SIL 코드가 올바른 수행을 하는 것인지를 검증하고 원시코드의 분석을 용이하게 하기 위해서 생성된 SIL 코드를 어셈블리 형태와 유사한 재 표현된 ANSI C 언어로 바꾸는 역컴파일러 시스템을 설계하고 구현하였다.

  • PDF

멀티플랫폼상에 가상 기계 탑재를 위한 어댑터의 설계 (Design of the Adapter for Virtual Machine Porting on the Multi-platform)

  • 오세중;고광만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (중)
    • /
    • pp.809-812
    • /
    • 2003
  • 가상 기계는 다양한 종류의 플랫폼에 대한 독립성을 지원하는 프로그램 실행 환경으로서 로더/링커, 인터프리터 및 가상 기계를 특정 시스템에 탑재하기 위한 어댑터로 크게 구성되어 있다. 본 논문에서는 가상 기계를 특정 시스템에 효율적으로 탑재하기 위한 어댑터를 개발하기 위해 기존 가상 기계의 탑재 부분을 고찰한 후 멀티플랫폼에 효과적으로 탑재할 수 있는 어댑터를 설계하였으며 제안된 어댑터는 정의 부분, 주 어댑터, 네이티브 인터페이스 부분으로 구성되어 있다. 또한 어댑터 개발시에 장치 특성, 입출력 등을 위한 API 작성에 필요한 요소들을 제시하였다.

  • PDF

퍼베이시브 컴퓨팅을 위한 가상 기계의 실행 엔진 (Execution Engine of Virtual Machine for Pervasive Computing)

  • 박지우;이창환;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2006년도 추계학술발표대회
    • /
    • pp.581-584
    • /
    • 2006
  • 퍼베이시브 컴퓨팅 환경을 실현하기 위해서는 작고 다양한 생활 용품에 장착할 수 있는 소규모 장치와 주변의 변화를 감지할 수 있는 센서 등을 사용한다. 이 소규모 장치들은 서로 다른 프로세서와 다양한 크기의 메모리를 가지고 있기 때문에 가상 기계 기술이 도입되어야 한다. 그러나 기존의 가상 기계들은 소규모 장치에 탑재하기에는 규모가 크기 때문에 퍼베이시브 컴퓨팅 환경에 적합한 소형 가상 기계의 실행 엔진이 필요하다. 본 논문에서는 임베디드 시스템을 위한 가상 기계인 EVM의 실행 엔진을 개선하여 퍼베이시브 컴퓨팅 환경에 적합한 실행 엔진을 설계 및 구현한다. 실행에 필요한 데이터를 줄이기 위해 SIL 명령어를 축약하고 불필요한 정보 및 객체지향 개념을 가진 명령어를 제거했다. 따라서 구현된 실행 엔진은 앞으로 구축될 퍼베이시브 컴퓨팅 환경을 위한 다양한 분야에 응용할 수 있다.

  • PDF

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

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

가상기계 구현을 위한 공작기계 모니터링 (Machine monitoring for implementing a virtual machine)

  • 배완준;강무진
    • 한국정밀공학회:학술대회논문집
    • /
    • 한국정밀공학회 2000년도 추계학술대회 논문집
    • /
    • pp.311-315
    • /
    • 2000
  • In thls paper, a remote machine monitoring system for a vimal machine is proposed. The monltonng system is one of the core functmns of a vimd machne that provides a modeling and simulation environment for machining processes and management of the machine life cycle. The proposed system contains the modules for investigating tool wear using neural network and web-based real time process monitoring. An example implementation for tool wear and machining status monitoring is illustrated

  • PDF

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

  • 주성용;조장우
    • 한국컴퓨터정보학회논문지
    • /
    • 제12권2호
    • /
    • pp.29-36
    • /
    • 2007
  • 자바에서는 가상기계와 프로파일러의 통신을 목적으로 JVM TI 같은 프로파일러 인터페이스를 제공한다. 그러나 자바 가상기계 구현명세는 프로파일러 인터페이스 구현을 요구하지 않는다. 따라서 프로파일러 인터페이스를 제공하지 않는 자바 가상기계에서는 JVM TI를 사용하는 프로파일러는 이용할 수 없다. 이러한 문제를 해결하기 위해서 코드 삽입 기법을 이용해서 프로파일러 인터페이스를 사용하지 않고 힙 사용정보를 분석하는 기법을 제안한다. 제안한 방법을 검증하기 위해서 코드 삽입기를 구현하였다. 실험은 공개되고 자주 사용되는 자바 응용 프로그램을 대상으로 하였고, 실험결과는 대상 프로그램에서 생성된 객체의 수와 최대 할당된 객체의 수 그리고 객체의 사용형태를 보여준다.

  • PDF