contents

home

overview

specification

motivation

detail

document

others

What is the JVM?

자바가상머신(JVM)은 '자바(Java) 언어로 작성된 프로그램을 해석해서 실행하는 가상적 컴퓨터'라고 정의할 수 있으며, 자바 프로그램과 운영체제(OS) 사이를 연결해주는 자바 미들웨어라고 할 수 있다.

자바 언어로 기술된 프로그램은 자바 컴파일러에 의해 바이트코드라는 중간코드로 변환된다. 이 바이트코드를 해석해서 실행하는 소프트웨어를 자바가상머신이라고 한다. 자바가상머신이 설치된 컴퓨터라면 컴퓨터의 명령 집합 아키텍처나 운영체제에 관계없이 같은 바이트를 변경하지 않고 실행할 수 있다. 자바의 원시코드를 고쳐 쓰거나 재컴파일할 필요가 없다는 장점을 가지고 있어 자바의 플랫폼 독립적인 특성을 제공하고 있다. 자바가상머신의 수행 방법으로는 현재 3종류가 있다. 즉, 바이트코드를 해석해서 순차적으로 실행하는 자바해석기(Interpreter), 바이트코드를 일괄적으로 2진 코드로 변환하고 실행하는 JIT 컴파일러(Just-In-Time Compiler) 및 바이트코드를 고속으로 해석하여 실행할 수 있는 자바 칩(마이크로프로세서)이다.

 

What is the RT-JVM?

RT-JVM(Realtime - Java Virtual Machine)은 포스트PC(Post-PC)와 같은 내장형 시스템(Embedded System) 환경에서 자바 프로그램의 수행을 제공하기 위한 컴포넌트 지향 실시간 자바가상머신이다. 기존의 실시간 자바가상머신, 경량 자바가상머신, 그리고 컴포넌트기반 미들웨어 등의 연구는 서로 각기 독립적으로 진행되고 있었다. 따라서 기존의 단일 목표 지향적 패러다임을 버리고 컴포넌트 지향 실시간 자바가상머신 개발을 위해서 이러한 기술들을 각각 독립적으로 분석하여, 이를 본 연구에 응용하였다. 즉, 독립적으로 수행되고 있는 이러한 연구들을 분석하여, 이를 바탕으로 가상머신을 구성하는 모듈들에 실시간 고려요소들을 추가하고 컴포넌트 패러다임을 추가하여 개발한다. 따라서 이렇게 개발된 컴포넌트 지향 실시간 자바가상머신은 기존의 가상머신 구현에서는 찾아 볼 수 없었던 컴포넌트화 된 실시간 실행 엔진, 실시간 메모리 관리자, 실시간 스케줄러 및 쓰레드 매니저를 갖게 된다. 본 과제에서 개발한 컴포넌트 지향 실시간 자바 가상 머신은 현재 연구가 활발히 진행되고 있는 포스트 PC 환경에서 어떠한 요구사항에도 적합하도록 재구성되어 사용될 수 있으며, 시스템 환경에 실시간, 경량성을 지원함으로써 기존 가상머신보다 효율적인 성능을 제공한다.

 

Download Source

download : cream-0.10 (2005.4.23)

  • Linux based
  • classpath-0.09
  • java.lang.Object : classpath-0.08
  • java.lang.ClassLoader : jamvm based on classpath-0.08
  • java.lang.VMClassLoader : jamvm based on classpath-0.08
  • %jvmhome%/bin : execution files, java class files
  • %jvmhome%/lib : classpath's dynamic link files
  • %jvmhome%/src : source files