• 제목/요약/키워드: JVM

검색결과 94건 처리시간 0.025초

임베디드 자바가상머신을 위한 쓰레드 클래스 라이브러리 설계 및 구현 (Design and Implementation of Thread Class Library Based On Embedded Java Virtual Machine)

  • 정명조;차태성;조희남;백대현;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (B)
    • /
    • pp.358-360
    • /
    • 2002
  • 자바 기술의 특성은 자바가상머신(Java Virtual Machine 이하 JVM)이 탑재되어 있다면 어떤 환경에서라도 동일하게 수행되는 플랫폼 독립성과 온라인 서비스 상에서 신뢰성이 없는 정보로부터 사용자를 보호해 주는 강력한 보안성, 객체 직렬화와 원격 메소드 호출을 통한 네트워크 mobility 로 요약할 수 있다. 이 특성 중에 플랫폼 독립성은 자바 기술의 가장 큰 장점이라 할 수 있다. 그러나 플랫폼 독립성이 보장되기 위한 전제 조건이 있는데 JVM을 어느한 플랫폼에 탑재하기 위해 플랫폼에 의존적인 부분(입출력, 쓰레드, 그랙픽등)을 JVM 계층과 클래스 라이브러리 계층에서 구현해야 한다는 것이다. 이런 점은 자바 기술의 본 소유회사인 SUN 사에서 제공하는 specification 에서도 제대로 다루어지지 않아서 실제로 JVM 개발자나 클래스 라이브러리 개발자에게 아주 힘든 작업을 요한다. 본 논문에서는 플랫폼에 의존적인 부분 중 쓰레드를 지원하기 위한 클래스 라이브러리를 구현하고자 한다.

  • PDF

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

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

  • PDF

Translation Java Bytecode to EVM SIL Code for Embedded Virtual Machines

  • Lee, Yang-Sun;Park, Jin-Ki
    • 한국멀티미디어학회논문지
    • /
    • 제8권12호
    • /
    • pp.1658-1668
    • /
    • 2005
  • This paper presents the bytecode-to-SIL translator which enables the execution of the java program in EVM(Embedded Virtual Machine) environment without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into SIL(Standard Intermediate Language) codes. EVM, what we are now developing, is a virtual machine solution that can download and execute dynamic application programs written in sequential languages like C language as well as object oriented languages such as C#, Java, etc. EVM is a virtual machine mounted on embedded systems such as mobile device, set-top box, or digital TV, and converts the application program into SIL, an assembly language symbolic form, and execute it. SIL is a virtual machine code for embedded systems, based on the analysis of existing virtual machine codes such as bytecode, MSIL, etc. SIL has such features as to accommodate various programming languages, and in particularly has an operation code set to accept both object-oriented languages and sequential languages. After compiling, a program written in java language is converted to bytecode, and also executed by JVM platform but not in other platform such as .NET, EVM platform. For this reason, we designed and implemented the bytecode-to-SIL translator system for programs written in java language to be executed in the EVM platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides an environment for programmers to execute application programs at various platforms.

  • PDF

내장형 시스템을 위한 실시간 자바 쓰레드의 구현 및 성능 평가 (Implementation and Performance Evaluation of Real-Time Java Thread for Embedded Systems)

  • 강희구;성민영;김태현;이동렬;김소영;김광영;김형수;장래혁;신현식
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.95-97
    • /
    • 2000
  • 자바는 플랫폼 독립성, 보안, 멀티 쓰레드 지원, 가베지 콜렉터 등 많은 장점을 갖고 있는 언어이다. 하지만 현재의 자바 가상 기계(JVM)는 시간 제약 조건을 갖는 주기적인 태스크 수행, 실시간 스케쥴링 등 실시간 응용을 위한 지원이 미흡한 실정이다. 본 논문에서는 실시간 운영체제인 VxWorks와 내장형 JVM인 퍼스널 자바 상에서 실시간 응용 프로그램의 지원을 위한 자바 쓰레드를 설계, 구현한다. 이를 위해 기존의 자바 쓰레드에 시작시간, 주기, 종료시한 등의 시간 속성을 삽입하고, 실시간 자바 쓰레드 API 클래스를 구현한다. 실시간 스케쥴러를 세가지 방식으로 구현한다. 첫째는, JVM을 수정하지 않고 시간 속성에 따라 쓰레드에 우선 순위를 할당하여 스케쥴링하는 방식이고, 둘째는 JVM을 수정하여 시간 속성에 따라 VxWorks 커널 스케쥴러를 통해 스케쥴링하는 방식이며, 셋째는 독립적인 스케쥴링 태스크를 구현하는 방식이다. 쓰레드 생성, 문맥 교환 등의 오버헤드와 스케쥴링 시 종료시한 초과 비율 등의 기준을 통해 각각의 성능을 비교한 결과, VxWorks 커널 스케쥴러를 이용한 방식이 가장 적합하다는 결론을 얻을 수 있었다.

  • PDF

자바 바이트코드의 .NET MSIL 중간언어 번역기 (Java Bytecode-to-.NET MSIL IL Translator)

  • 정지훈;박진기;이양선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (중)
    • /
    • pp.663-666
    • /
    • 2003
  • 자바는 썬 마이크로시스템즈사의 제임스 고슬링(James Gosling)에 의해 고안된 언어로 운영체제 및 하드웨어 플랫폼에 독립적인 차세대 언어로 최근에 가장 널리 사용하는 범용 프로그래밍 언어 중 하나이다. 자바 프로그램은 컴파일러에 의해 각 플랫폼에 독립적인 중간 코드 형태의 바이트코드로 변환된 클래스 파일로 생성되면 JVM(Java Virtual Machine)에 의해 실행된다. 마이크로소프트사의 .NET 플랫폼과 C# 언어는 프로그래머들의 요구를 충족시키고 썬사의 JVM 환경과 자바 언어에 대응하기 위해서 개발된 플랫폼과 언어이다. C#과 같은 .NET 언어는 컴파일러에 의해 MSIL(MicroSoft Intermediate Language) 코드로 번역되며 번역된 MSIL 코드는 .NET 플랫폼 환경에서 런타임 엔진인 CLR(Common Language Runtime)에 의해 실행이 된다. 자바로 작성된 프로그램은 JVM 플랫폼에서는 실행이 되지만 .NET 플랫폼에서 실행이 되지 않고, 반대로 C#과 같은 .NET 언어로 작성된 프로그램은 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서 실행이 되지 않는다. 이런 이유로 본 논문에서는 자바소스를 컴파일하여 생성된 클래스 파일에서 Oolong 코드를 생성하고 생성된 Oolong 코드를 .NET의 MSIL 코드로 변환하여 자바로 구현된 프로그램이 .NET 환경에서 실행되도록 하는 Bytecode-to-MSIL 번역기 시스템을 구현하였다. 따라서, 자바 프로그래머는 JVM이나 .NET 플랫폼 환경에 관계없이 프로그램을 작성하여 실행시킬 수 있다. 번역기 시스템의 구현을 정형화하기 위해 Oolong 코드의 명령어들을 문법으로 작성하였으며, PGS를 통해 생성된 어휘 정보를 가지고 스캐너를 구성하였으며, 파싱테이블을 가지고 파서를 설계하였다. 파서의 출력으로 AST가 생성되면 번역기는 AST를 탐색하면서 의미적으로 동등한 MSIL 코드를 생성하도록 시스템을 컴파일러 기법을 이용하여 모듈별로 구성하였다.

  • PDF

Hard Real-time System을 위한 효율적인 KVM의 설계 (A Design of Effective KVM for Hard Real-time System)

  • 최인범;정명조;조문행;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (1)
    • /
    • pp.910-912
    • /
    • 2005
  • 임베디드 시스템은 연성 실시간 시스템과 경성 실시간 시스템의 두 가지 종류로 나뉜다. 이러한 두 가지 종류의 임베디드 시스템 중에서, 응용 프로그램이 지정된 시간 안에 동작하여야 시스템의 붕괴를 막을 수 있는 경성 실시간 시스템에 JVM(Java Virtual Machine)환경을 사용하기 위해서는 JVM 내부 동작과 관련하여 여러 가지 고려하여야 할 부분이 많다. 본 논문에서는 위에서 언급한 바와 같이 경성 실시간 시스템에 적합한 JVM 환경을 구현하기 위하여 Sun's KVM 을 기반으로 경성 실시간 시스템에 적합하도록 우선순위(Priority) 정책 및 가비지 콜렉션(Garbage Collection) 기법을 적용하였다.

  • PDF

Banked Memory System에서 효율적일 전력관리를 위한 KVM의 힙 메모리 관리체계 설계 (A Design of KVM Heap Memory Management for Effective Power Management in Banked Memory System)

  • 최인범;강희성;정명조;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 한국컴퓨터종합학술대회 논문집 Vol.32 No.1 (A)
    • /
    • pp.868-870
    • /
    • 2005
  • 최근에는 자원이 제한적인 시스템을 위한 embedded JVM 환경에서 자바 응용 프로그램을 수행할 때 embedded JVM 의 성능에 따른 performance 뿐만 아니라 에너지 소비를 줄이는 일이 크게 대두되고 있다. 메모리에서 사용되는 에너지는 메모리에 접근할 때마다 소비되는 dynamic energy와 메모리에 파워가 들어와 있을 때 항상 소비되는 leakage energy 로 구분할 수 있다. embedded 환경을 고려하지 않았던 이전에는 leakage energy 가 중요한 부분으로 인식되지 않았지만, 현재는 dynamic energy 못지 않게 중요한 부분으로 인식되고 있다. 본 논문에서는 Banked Memory System을 사용하는 임베디드 JVM의 환경하에서 leakage energy를 효과적으로 줄일 수 있는 KVM의 힙 메모리 관리체계를 설계하였다.

  • PDF

자료 이동 측면에서 자바가상기계와 x86 프로세서의 비교 (Comparison of Java Virtual Machine and x86 Processor in Data Transfer Viewpoint)

  • 양희재
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2005년도 추계종합학술대회
    • /
    • pp.1225-1228
    • /
    • 2005
  • This paper compares the differences between Java virtual machine and x86 processor in data transfer viewpoint. Memory models of JVM and x86 are analyzed and the data transfer paths are identified. As all operations must be performed to the values on operand stack, a great many data transfer operation is unavoidable in JVM. We also lists the number of data transfer operations necessary for executing some typical high-level language statements including assignment, arithmetic, conditional, and iterative statements.

  • PDF

자바가상머신 GUI를 위한 AWT에서 이벤트 처리 방법 설계 및 구현 (Design and Implementation of Event Handling in AWT for Java Virtual Machine GUI)

  • 백대현;성영락;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 봄 학술발표논문집 Vol.30 No.1 (B)
    • /
    • pp.94-96
    • /
    • 2003
  • 자바가상머신(Java Virtual Machine: JVM)을 이용하는데 있어서 GUI(Graphic User Interface)는 JVM 을 탑재한 제품을 사용하는 사람들에게 제품에 대한 편리한 그래픽 환경을 제공하는데 목적이 있다. AWT(Abstract Window Toolkit)는 JavaTM 프로그램에서 GUI를 제공하기 위한 표준 API인 JFC(Java Foundation Class)의 일부분이다. 이에 본 논문에서는 리눅스 기반 자바 AWT API를 구현하는데 있어 가장 핵심 부분인 이벤트 처리가 X 윈도우 시스템과 자바 AWT API 사이에서 어떻게 상호작용하며 이루어지는지에 대해 기술하고 있다.

  • PDF

자바 프로그램의 런타임 특성 분석을 위한 Kaffe의 확장 (The Extension of Kaffe to Analyse Runtime Characteristics of a Java Program)

  • 신범주;이창우;이완직
    • 한국IT서비스학회지
    • /
    • 제6권2호
    • /
    • pp.145-152
    • /
    • 2007
  • This paper describes an extension of Kaffe JVM which enables to extract runtime characteristics of a Java program. The runtime characteristics include frequency of method call instruction, ratio of library method call and ratio of method whose runtime is less than compile time. It also represents ratio of method called only once, polymorphicity of virtual call and distribution of method size called in runtime. This paper analyses runtime features of the SciMark benchmark suite using the extended Kaffe.