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

Search Result 86, Processing Time 0.03 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
    • Annual Conference of KIPS
    • /
    • 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.

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

A Study on the Java Decompilation-Preventive Method by Obfuscating Algorithm (난독화 알고리즘을 이용한 자바 역컴파일 방지기법에 관한 연구)

  • Ahn, Hwa-Su
    • Annual Conference of KIPS
    • /
    • 2007.05a
    • /
    • pp.1457-1458
    • /
    • 2007
  • 자바 언어의 중요한 특징 중의 하나는 어떤 기계에서든지 실행될 수 있다는 점이다. 이러한 플랫폼에 대한 독립성은 자바 프로그램이 바이트 코드 형태로 배포되기 때문에 가능한 일이다. 바이트 코드는 특정 기계에 종속되지 않고 자바 가상 머신(Java Virtual Machine:JVM)를 지원하는 곳이면 어디에서든지 실행 가능하다. 그런데 바이트 코드로 번역된 코드에는 자바 소스 코드의 정보가 그대로 포함되어 있는데, 이로 인해서 바이트 코드에서 자바 소스코드로의 역컴파일(Decompilation)이 쉽게 이루어진다는 취약점이 있다. 본 논문에서는 자바 바이트 코드의 난독화 기법을 살펴보고, Code Encryption Algorithm을 이용해서 역컴파일 하기 어려운 형태로 만드는 기술인 코드 난독처리(Code Obfuscation) 기법을 제안하였다.

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

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

  • PDF

A Performance Enhancement of Java Card Virtual Machine with Multi-Transaction (다중 트랜잭션 기법을 이용한 자바 카드 가상 기계 성능 향상)

  • Noh, Tae-Heon;Lee, Dong-Wook;Jung, Min-Soo
    • Journal of Korea Multimedia Society
    • /
    • v.12 no.1
    • /
    • pp.41-49
    • /
    • 2009
  • Smart Card is currently more popular in mobile communication, and smart card with java card platform becomes a standard choice. Java card has a problem that it gets lost working data when power is off. Transaction is the idea to solve a problem of data loss, but it accepts only one transaction process, and other transaction process need to hold until the current working transaction is finished. This might be a factor to drop the Java card's performance. In this paper, we define a rule of dual-lock which can run transaction at multiple transaction buffer as a method for a better java card performance, and we suggest this rule to improve a capability of transaction process. From this research, we are able to improve the data stability, reduce the java card transaction delay time, and get a higher processing speed of java card.

  • PDF