• Title/Summary/Keyword: 가상 기계

검색결과 600건 처리시간 0.03초

EVM을 위한 로더의 설계 및 구현 (Design and Implementation of the Loader for the EVM)

  • 김성진;고광만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (B)
    • /
    • pp.877-879
    • /
    • 2004
  • 가상기계는 소스 프로그램에 대한 실행 파일 형태를 다양한 종류의 플랫폼에 대한 독립성을 지원하는 프로그램 실행 환경으로서 로더/링커, 인터프리터 및 가상 기계를 특정 시스템에 탑재하기 위한 어댑터로 크게 구성되어 있다. 본 연구팀의 최종 목표는 기존의 가상기계를 기반으로 임베디드 시스템에 적합한 가상기계(EVM)를 개발하고자 한다. 이를 위해 다양한 연구 시도가 진행되고 있으며 본 논문에서는 EVM 개발시에 설계된 실행 파일 형식(*.evm)에 대한 로더를 설계하고 구현하였다. 또한 인터프리터의 실행 효율을 위하여 로더의 출력이 실제 메모리에 저장되는 구조를 개선하였다.

  • PDF

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

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

  • PDF

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

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

  • PDF

가상기계 코드 실행을 위한 역컴파일러 (Decompiler for Executing Virtual Machine Code)

  • 안덕기;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2006년도 춘계학술발표대회
    • /
    • pp.383-386
    • /
    • 2006
  • 최근 가상기계 시스템은 임베디드 유비쿼터스 컴퓨팅의 필수적인 기술로서, 그 중요성이 더욱 강조되고 있으며, 컴파일러, 어셈블러 그리고 가상기계의 구현으로 구축된다. 이러한 시스템의 구축 과정에서 각 컴포넌트의 신뢰성을 위하여 정확한 검증 방법이 요구되며, 검증의 효율성을 위해서 순차적으로 진행되어야 한다. 본 논문에서는 가상기계 시스템의 컴파일러를 검증하기 위해서, 컴파일 된 가상기계 코드를 역컴파일하여 실행하는 기법을 제안하고, 그러한 기법에 따라 EVM(Embedded Virtual Machine) SIL(Standard Intermediate Language) 역컴파일러를 구현하였다. 구현된 역컴파일러는 EVM이 개발되기 전에 효율적인 실행 시스템으로 이용됨은 물론 EVM ANSI C 컴파일러의 검증 도구로서 이용될 수 있으며, EVM 시스템을 체계적으로 개발할 수 있도록 할 것이다.

  • PDF

사물인터넷을 위한 경량 가상기계의 설계 및 구현 (Design and Implementation of the Light-Weight Virtual Machine for the Internet of Things)

  • 최찬휘;손윤식;정준호;이양선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 춘계학술발표대회
    • /
    • pp.1149-1152
    • /
    • 2017
  • 다양한 사물인터넷 장치 환경간의 응용 프로그램의 플랫폼 독립성을 지원하기 위해 가상기계 기술을 사용할 수 있다. 그러나 사물인터넷 장치 환경은 가용 메모리가 한정적이므로 사물인터넷 환경에서 가상기계의 동작이 가능하게 하려면 적은 메모리를 사용하도록 경량화해야 한다. 본 논문에서는 경량의 가상기계를 설계하여 가용 메모리가 적은 저성능 사물인터넷 기기에서도 동작할 수 있게 하였다. 또한 가상기계를 구조적으로 설계하여 다양한 사물인터넷 장치의 성능에 따라 적합한 구성으로 이식할 수 있다.

멀티플랫폼상에 가상 기계 탑재를 위한 어댑터의 설계 (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

네이티브 코드 연결 기법에 관한 연구 (A Study on the Native Code Connection Technique)

  • 유재민;고광만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 한국컴퓨터종합학술대회 논문집 Vol.32 No.1 (B)
    • /
    • pp.898-900
    • /
    • 2005
  • 최근 다양한 모바일 기기가 등장하면서 플랫폼에 독립적인 응용 프로그래밍 실행 환경을 구축하기 위해 가상기계(Virtual Machine)와 가상기계 기반의 언어가 등장하고 있다. 가상기계 환경에서 수행되는 응용 프로그램의 원활한 수행물 위해서는 입출력, 시스템 함수 호출 등에 대해서는 플랫폼에 의존적인 네이티브 코드를 적절한 방식으로 연결해주어야 한다. 본 논문에서는 기존의 가상기계들이 특정 플랫폼에 탑재 되는 방식 및 네이티브 코드 연결 방식을 고찰한 후 본 연구팀에서 현재 개발중인 임베디드 시스템을 위한 가상기계(EVM)에 적용하여 보다 효과적인 연결 기법을 제시하고자 한다.

  • PDF

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

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

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

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

  • PDF