• Title/Summary/Keyword: 자바 가상기계

Search Result 86, Processing Time 0.025 seconds

Characteristic of the Class Library for Embedded Java System (내장형 자바 시스템을 위한 클래스 라이브러리의 특성)

  • 양희재
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.7 no.4
    • /
    • pp.788-797
    • /
    • 2003
  • Class library is one of the most crucial element of Java runtime environment in addition to Java virtual machine. In particular, embedded Java system depends heavily on the class library due to having a low bandwidth communication link and a small amount of memory which are a common restriction of embedded system. It is therefore quite necessary to find the characteristic of the class library for embedded Java system to build an efficient Java runtime environment. In this paper we have analyzed the characteristic of the class library for embedded system. The analysis includes sorts of classes in the library, typical size of the file which contains the class, and the composition of constant pool which is a major part of the file. We also have found typical number of field and method a class contains, the sizes of stack and local variable array each method requires, and the length of bytecode in the method. The result of this study can be used to estimate the startup time for class loading and the size of memory to create an instance of class which are a mandatory information to design an efficient embedded Java virtual machine.

Study of Garbage Collection Algorithm and Heap Memory for Java Virtual Machine Optimization (자바가상기계 최적화를 위한 가비지 컬렉션 알고리즘과 힙 메모리 연구)

  • 임동기;배철성;정민수
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2002.05d
    • /
    • pp.989-994
    • /
    • 2002
  • 최근에 발표된 마이크로소프트의 C#이라는 언어에서도 채택했듯이 그 동안 자바 개발자의 특권으로만 여겨졌던 가비지 컬렉션(garbage collection)은 개발자로 하여금 메모리와 관련된 고인으로부터 해방시켰다. 단순히 메모리의 효율적 관리뿐 만 아니라 프로그램의 무결성을 높여 자바 보안정책에 중요한 부분을 제공한다. 본 논문에서는 자바 가상 머신의 최적화를 위해서 가비지 컬렉션을 처리에 효과적인 알고리즘과 힙 메모리를 설계하였다.

  • PDF

Applet Security Technique against Hostile Applet's Attack (유해 애플릿 공격에 대한 애플릿 보안 기술)

  • Park, Sang-Kil;Noh, Bong-Nam
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2000.04a
    • /
    • pp.491-496
    • /
    • 2000
  • 웹상의 자바 애플릿은 클라이언트의 웹 브라우저에 다운로드 되어서 브라우저 내부에 있는 자바가상기계(JVM : Java Virtual Machine)내에서 실행된다. 각 자바가상기계에는 실행 전에 바이트 코드 검증기와 바이트 코드 인터프리터를 통하여 오류문법을 점검한다. 애플릿을 이용한 잠재적인 공격형태는 시스템 수정, 개인정보의 침해, 서비스 거부공격, 강한 거부감을 느끼게 하는 공격이 있다. 이러한 유해한 애플릿의 공격에 대응하기 위한 방법으로 코드분석, 행위분석, 위치정보등을 이용한 보안기법이 제시되었지만 효율적인 대응을 하지 못하고 있다. 이 논문에서는 자바의 특성을 이용하여 자바클래스 내부의 바이트 코드 수정을 통한 애플릿 보안기술에 대해 기술한다. 유해한 행동이 예상되는 애플릿의 클래스에 대하여 바이트 코드 수정을 통하여 안전한 클래스로 대체함으로서 유해 애플릿 공격으로부터 시스템을 보호한다. 이를 수행하기 위해 프록시 서버를 두어서 웹브라우저의 요구를 수용하고, 이를 웹 서버에게 Safe클래스로 수정하여 요구하며, 그에 대한 응답도 처리한 후 애플릿에게 보여준다. 이는 런타임때 수행되며 웹브라우저, 서버, 클라이언트의 수정없이 프록시 서버의 개입으로 이루어진다.

  • PDF

Estimating Size of Class Area Using Probe Classes in Java Virtual Machine (자바가상기계에서 탐침 클래스를 이용한 클래스 영역 크기의 예측)

  • Yang, Hee-Jae
    • Journal of the Institute of Electronics Engineers of Korea CI
    • /
    • v.42 no.4 s.304
    • /
    • pp.11-16
    • /
    • 2005
  • Class area is a portion of memory where the constants, fields, and codes of the classes loaded into the Java virtual machine are kept. Knowing the size of the class area is very important especially for embedded Java system with limited memory resources. This paper induces a formula which makes it possible estimate the size of the area. The formula needs some constant values specific to target JVM implementation. We also show that these values can be found using some simple probe classes. An experimental result is included in this paper to confirm the correctness of our approach.

An Efficient Bytecodes Verification Technology for Small Devices (소형 기기용 효율적인 바이트 코드 검증기술에 관한 연구)

  • Hwang, Cheul-Jun;Cho, Jeung-Bo;Jung, Min-Soo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11b
    • /
    • pp.1197-1200
    • /
    • 2003
  • USIM(Universal Subscriber Identity Module) 기술은 데이터의 관리와 보호를 하나의 소형 칩 내에 집약시킨 기술로 최근에 이 기술에 대한 관심도가 증가하고 있다. 자바카드 가상기계는 자바 언어로 작성된 프로그램이 USIM 칩 내부에서 실행 가능하도록 해준다. 하지만 자바카드 가상 기계는 자원 제약적인 디바이스의 특성으로 인하여 검증기술을 제공하지 않는다. 본 논문에서는 정적 체크 기반의 효율적인 바이트코드 검증기를 제안한다. 연구 결과 본 논문에서 제안하는 검증기는 일반적인 것에 비해 90% 이상의 사이즈가 감소되었다.

  • PDF

Memory Access Behavior of Embedded Java Virtual Machine in Energy Viewpoint (에너지 관점에서 임베디드 자바가상기계의 메모리 접근 형태)

  • Yang Heejae
    • The KIPS Transactions:PartA
    • /
    • v.12A no.3 s.93
    • /
    • pp.223-228
    • /
    • 2005
  • Several researchers have pointed out that the energy consumption in memory takes a dominant fraction on the energy budget of a whole embedded system. This applies to the embedded Java virtual machine tn, and to develop a more energy-efficient JVM it is absolutely necessary to optimize the energy usage in Jana memory. In this paper we have analyzed the logical memory access pattern in JVM as it executes numerous number of bytecode instructions while running a Java program. The access pattern gives us an insight how to design and select a suitable memory technology for Java memory. We present the memory access pattern for the three logical data spaces of JVM: heap, operand stack, and local variable array. The result saws that operand stack is accessed most frequently and uniformly, whereas heap used least frequently and non-uniformly among the three. Both heap and local variable array are accessed mostly in read-only fashion, but no remarkable difference is found between read and write operations for operand stack usage.

Design of C Compiler to Generate Java Class File (자바클래스 파일을 생성하는 C컴파일러 설계)

  • Choi, Won-Ho;Jung, Min-Soo;Kim, Do-Woo;Jin, Min;Yoon, Ki-Song
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10a
    • /
    • pp.418-420
    • /
    • 1999
  • 기존의 고급 언어들로 작성된 응용 프로그램들은 인터넷이나 다른 플랫폼(Platform)에서 수행되는 것이 어렵다. 본 논문에서는 자바의 플랫폼 독립적인 특성을 C언어와 같은 고급 언어에 적용해 보고자 한다. 즉 C 언어로 작성된 원시 코드(Source code)를 컴파일러를 이용해서 자바 가상 기계가 인식할 수 있는 목적 코드인 바이트 코드(Bytecode)로 변환하여 자바 가상 기계(Java Virtual Machine)가 탑재되어 있는 어떠한 플랫폼에서도 수행할 수 있도록 하는 것이다. 따라서, 본 논문에서는 C 언어로 작성된 응용 프로그램을 이기종 플랫폼 상에서 실행 가능하도록 바이트 코드를 생성하는 컴파일러를 설계하고자 한다.

  • PDF

A Study on Virtual Execution To Understand the Behavior of Software (소프트웨어의 행위를 이해하기 위한 가상 실행에 관한 연구)

  • 정양재;이문근
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10a
    • /
    • pp.436-438
    • /
    • 2000
  • 다양한 실행 경로가 존재하는 실시간 시스템을 이해하기 위해 시스템의 정적 정보와 함께 동정 정보가 사용자에게 적절히 제공되어야 한다. 본 논문은 정적 정보와 동적 정보를 표현하기 위해 SRL(System Representation Language)을 사용한다. 정적 정보는 SRL 노드를 분석해서 얻고 동적 정보는 SRL을 실행함으로 얻는다. SRL의 가상 실행은 시스템 독립적인 자바 가상 기계를 통해 이루어진다. 가상 실행은 순방향뿐만 아니라 역방향으로도 이루어진다. SRL 실행 라이브러리는 순.역방향 실행을 위해 SRL 각 구문의 의미 규칙에 맞게 정의하며 자바 가상 기계를 통해 실행되는 클래스 파일로 컴파일된다. 메모리에 로딩된 SRL은 SRL 실행 라이브러리를 동적으로 호출하여 가상 실행을 이룬다. 동적 실행을 통해 추출된 동적 정보는 SRL에 포함된다.

  • PDF

Design of Bytecode Optimization Framework (바이트코드 최적화 프레임워크의 설계)

  • Kim, Young-Kook;Kim, Kyung-Soo;Kim, Ki-Tae;Jo, Sun-Moon;Yoo, Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.297-300
    • /
    • 2004
  • 자바는 객체지향 언어이고 바이트코드로 번역 이후에는 플랫폼에 독립적으로 가상머신에 의해 실행될 수 있기 때문에 소프트웨어 개발과 유지보수에 많은 장점을 갖는다. 이러한 특징으로 인해 플랫폼에 독립적인 소프트웨어 개발에는 자바가 많이 이용된다. 그러나 바이트코드로 작성된 프로그램은 가상기계에서 인터프리터 방식으로 수행된다. 때문에 프로그램의 실행속도가 느리게 실행되는 문제점을 가지고 있다. 실행속도의 문제점을 해결하기 위한 여러 가지 방법들이 연구가 진행중이다. 본 논문은 자바 바이트코드가 가상기계에서 인터프리터 방식으로 수행할 때 바이트코드의 크기를 줄여 해석하는 부담을 줄이기 위해서 바이트 코드를 최적화하는 프레임워크를 구성한다. 프레임워크를 이용하여 바이트코드를 3주소 형태의 CTOC-T(Class To Optimizer Classes-Three Address Code)로 변환하여 프로그램을 분석을 할 수 있다. 또한 CTOC-T는 3주소 형태이므로 3주소 최적화 기법을 적용하여 최적화된 바이트코드를 생성하는 프레임워크를 설계한다.

  • PDF

Design of Translator for Efficient Bytecodes from Intermediated Codes in CTOC (CTOC에서 중간 코드에서 효율적인 바이트코드로의 변환기 설계)

  • Kim Young-Kook;Jo Sun-Moon;Kim Ki-Tae;Yoo Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.11a
    • /
    • pp.445-448
    • /
    • 2004
  • 자바는 자바 가상기계를 사용해서 플랫폼에 독립적으로 사용할 수 있는 장점을 가진다. 그러나 자바가상머신은 인터프리터 방식을 이용하기 때문에 다른 컴파일언어에 비해서 수행속도가 느리다는 단점을 가진다. 이런 단점을 극복하기 위해서 많은 최적화나 JIT컴파일러 그리고 네이티브 코드로의 변환과 같은 연구들이 많이 연구되었다. 이전의 연구들은 한계성을 가지고 있어서 자바에서 수행시간의 문제는 지금도 문제로 남아있다. 이전의 문제점 해결의 극복의 대안으로 바이트코드를 최적화하는 프레임워크인 CTOC를 설명하고, CTOC에서 사용하는 중간코드로 사용하는 3-주소형식의 CTOC-T를 바이트코드로 변환하고, CTOC-T에서 바이트코드형식으로 변환할 때 생기는 과다한 load/store의 문제점을 해결한다.

  • PDF