• Title/Summary/Keyword: Embedded JVM

Search Result 25, Processing Time 0.022 seconds

Analysis and Design of Virtual Machine for Embedded System (임베디드 시스템을 위한 가상머신 분석 및 설계)

  • Baek, Dae-Hyun;Jung, Myung-Jo;Ahn, Hee-Jung;Park, Hee-Sang;Lee, Cheol-Hoon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11a
    • /
    • pp.543-546
    • /
    • 2002
  • 최근들어 IT 산업이 급속도로 발전하면서, 리소스가 제한된 작은 기기들의 사용이 비약적으로 증가하는 추세에 있다. 이들 기기들에 플랫폼 독립성(Platform Independency), 보안성(Security), 이동성(Mobility) 등의 장점을 포함하고 있는 자바 환경을 적용하려는 연구가 계속되고 있는데, 자바 환경의 핵심인 자바가상머신(Java Virtual Machine: JVM) 임베디드 시스템이나 모바일 시스템과 같이 작고, 자원이 제한적인 장치에 탑재하기에 너무 큰 용량(footprint)을 차지한다. 이를 해결하기 위해 좀더 경량화한 가상머신이 필요하였다. 본 논문에서는 네트워크 연결 능력이 있고 적은 리소스를 가진 다양한 기기들에 적합한 최소 크기의 표준 자바 플랫폼에 대한 Configuration 인 CLDC(Connected, Limited Device Configuration)에서 정의하고 있는 K가상머신(K Virtual Machine: KVM)에 대해 분석하고 설계한 내용을 기술하고 있다.

  • PDF

Design and Implementation of a Class Pile Converter for Embedded Java Virtual Machine (내장형 자바가상기계를 위한 클래스 파일 변환기의 설계 및 구현)

  • 지정훈;양희재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.04a
    • /
    • pp.67-69
    • /
    • 2003
  • 자바는 서로 다른 종류의 컴퓨터 시스템에서 동일하게 동작하는 플랫폼 독립적인 특성을 가지고 있다. 자바가 상기계(JVM)는 클래스 파일을 읽어 들여 인터프리팅하여 실행한다. 보조기억장치가 없는 내장형 시스템에서는 메모리에 클래스 파일이 위치하는데 클래스 파일에는 디버깅등의 목적으로 사용하는 정보와 클래스, 상수, 필드, 메소드 둥의 정보들을 포함하고 있기 때문에 내장형 시스템에서 사용하기에 적합하지 않다. 본 논문에서는 클래스 파일을 변환하여 내장형 시스템에서 시스템의 효율적인 자원 사용과 성능을 향상시킬 수 있도록 클래스 파일을 변환 해주는 도구인 cls2bin을 설계 및 구현하였다. c1s2bin은 클래스 파일에서 동작에 필요하지 않은 정보들을 제거하고 인터프리팅 될 수 있는 새로운 이미지(bin) 파일을 생성한다 cls2bin의 동작과정과 bin 파일 포맷을 살펴봄으로서 내장형 시스템에서 효율적인 자원사용과 내부정보의 접근 방법을 고찰하였으며 그 결과로 내장형 자바 시스템에서의 개선된 클래스 파일의 형태를 정의하고자 한다.

  • PDF

Retargetable Oolong-to-SIL IL Translator (재목적 Oolong-to-SIL 중간 언어 번역기)

  • 권혁주;김영근;이양선
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2004.05a
    • /
    • pp.310-313
    • /
    • 2004
  • 자바는 컴파일러에 의해 아키텍처 독립적인 바이트코드로 구성된 바이너리 형태의 클래스 파일을 생성하면 JVM에 의해 하드웨어와 운영체제에 상관없이 실행이 가능한 플랫폼 독립적인 언어로 현재 가장 널리 사용되는 범용 프로그램 언어중 하나이다. EVM(Embedded Virtual Machine)은 Microsoft사의 .NET 언어와 SUN사의 Java 언어등을 모두 수용할 수 있는 임베디드 시스템을 위한 가상기계이며, SIL(Standard Intermediate Language)은 EVM에서 실행되는 중간언어로 다양한 프로그래밍 언어를 수용하기 위해서 객체지향 언어와 순차적 언어를 모두 수용하기 위한 연산 코드 집합을 갖고 있다. 본 논문에서는 자바 프로그램을 EVM에서 실행 될 수 있도록 자바 프로그램을 컴파일하여 생성된 클래스 파일로부터 Oolong 코트를 추출하고 추출된 Oolong 코드를 EVM의 SIL 코드로 변환하는 Oolong-to-SIL 번역기 시스템을 구현하였다. 번역기 시스템을 정형화하기 위해 Oolong 코드의 명령어 등을 문법으로 작성하였으며, PGS를 통해 생성된 어휘 정보를 가지고 스캐너를 구성하였고, 파싱테이블을 가지고 파서를 설계하였다 파서의 출력으로 AST가 생성되면 번역기는 AST를 탐색하면서 의미적으로 동등한 SIL 코드를 생성하도록 번역기 시스템을 컴파일러 기법을 이용하여 모듈별로 구성하였다. 이와 같이 번역기를 구성함으로써 목적기계의 중간언어 형태에 따라 중간언어 번역기를 자동으로 구성할 수 있어 재목적성(Retargetability)을 높일 수 있다.

  • PDF

Java Bytecode-to-SIL Translator using an Abstract Syntax Tree (구문 트리를 이용한 자바 바이트코드에서 SIL로의 번역기)

  • Kim, Young-Koun;Kwon, Hyeok-Ju;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.519-522
    • /
    • 2004
  • 자바는 현재 가장 널리 사용되는 범용 프로그래밍 언어중 하나로 컴파일러에 의해 중간언어인 바이트코드로 변환되며 JVM(Java Virtual Machine)에 의해 실행되는 플랫폼 독립적인 언어이다. SIL(Standard Intermediate Language)은 Microsoft사의 .NET 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템을 위한 중간언어로 가상기계인 EVM(Embedded Virtual Machine)에서 실행된다. 본 논문에서는 자바 프로그램을 컴파일하여 생성된 클래스 파일에서 Oolong 코드를 추출하고 추출된 Oolong 코드를 EVM의 SIL 코드로 변환하여 자바로 구현된 프로그램이 EVM에서 실행되도록 하는 Bytecode-to-SIL 번역기 시스템을 구현하였다. 그리고 본 번역기 시스템을 다른 플랫폼에 용이하게 설치하기 위한 재목적성(retargetability)을 위해 단일패스(one-pass)을 사용하는 기존의 번역기들과 달리 AST를 이용한 컴파일러 기법을 사용하여 AST가 가지고 있는 정보에 대해 최적화 작업을 수행하여 보다 효과적인 코드 변환을 할 수 있도록 설계하였다.

  • PDF

A Study on The Development of a Home Server Using An Embedded Linux Board (임베디드 리눅스 보드를 이용한 홈 서버 구현에 관한 연구)

  • Kim, Jin-Ho;Kim, Tae-Min;Lee, Jong-Su
    • Proceedings of the KIEE Conference
    • /
    • 2007.10a
    • /
    • pp.367-368
    • /
    • 2007
  • 본 논문은 홈 네트워크 시스템에서 사용자의 편의를 고려한 홈 서버 구현 방안에 대해 제안한다. 홈 서버는 리눅스 기반의 임베디드 보드 또는 PC를 사용할 수 있고 시스템은 인터넷 망을 기반으로 하고 있으며 클라이언트, 서버, 시뮬레이터로 구성되어 있다. 사용자는 웹 브라우저를 내장한 모든 기기에서 서버에 접속할 수 있다. 클라이언트 프로그램은 모든 종류의 CPU와 OS를 지원하기 위하여 자바 애플릿을 사용하였다. 사용자는 별도의 프로그램 설치 없이 원격에서 서버의 웹 페이지를 통해 접속하고 각종 기기들을 제어할 수 있으며 손쉽게 데이터를 공유할 수 있다. 서버는 리눅스 기반으로 웹 서비스를 할 수 있도록 서버가 구축되어있고 클라이언트 프로그램과 동일한 이유로 자바언어를 사용하여 서버 프로그램을 작성하였다. PC 대신 사용할 수 있는 임베디드 리눅스 보드는 내장형 시스템을 구성하는데 유용하며 홈 네트워크 시스템뿐만 아니라 각종 분야 등에도 널리 이용되어 질 수 있다. 임베디드 보드는 많은 자원을 필요로 하지 않는 국한된 목적의 시스템에 적용하기에 적합하며 널리 사용되고 있다. 시스템 구성을 위해 임베디드 보드에 리눅스를 포팅하고, 웹서버를 사용 가능하게 만들어 준 후, 자바 프로그램을 실행하기 위한 JVM(Java Virtual Machine)과 서블릿 및 JSP등의 자바 코드를 이해할 수 있는 엔진을 포팅하였다. 이로써 웹 서버로서의 역할과 홈 네트워킹 서버로서의 역할을 동시에 수행하게 된다. 시뮬레이션 프로그램은 자바 어플리케이션 프로그램을 사용하였고 데이터의 정상적인 전달여부와 기기들의 상태를 모니터링 할 수 있다.

  • PDF