• Title/Summary/Keyword: JVM(Java Virtual Machine)

Search Result 60, Processing Time 0.046 seconds

Design and Implementation of a Virtual Machine for MultiThread in the Ubiquitous Game Platform (유비쿼터스 게임 플랫폼에서 멀티스레딩을 위한 가상기계의 설계 및 구현)

  • Choi, Hong-Suck;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.05a
    • /
    • pp.1461-1464
    • /
    • 2007
  • 본 연구팀은 유비쿼터스 환경에서 다양한 분야의 콘텐츠를 보다 쉽게 개발하고 실행할 수 있는 통합 소프트웨어 개발 솔루션인 유비쿼터스 게임 플랫폼(Ubiquitous Game Platform)을 개발하였다. 유비쿼터스 게임 플랫폼은 가상기계 방식으로써 플랫폼에 독립적어서 유비쿼터스 환경의 기기에 탑재가 수월한 장점을 가진다. 본 논문에서는 유비쿼터스 게임 플랫폼에서 다양한 콘텐츠의 실행과 멀티 스레딩을 지원하는 유비쿼터스 가상기계(u-VM)를 설계하고 구현하였다. MS의.NET 플랫폼과 SUN의 JVM이 C/C++나 Java 언어 하나만을 지원하는데 반해 본 연구에서 제시한 u-VM은 다양한 유비쿼터스 기기에 탑재되어 C/C++, Java 언어로 작성된 다양한 모든 종류의 어플리케이션을 실행한다. u-VM은 SEF(Standard Executable Format) 실행 파일을 입력으로 받아 실행하며, SEF 로더와 인터프리터, 내장 라이브러리, 실행 환경으로 구성되어 있다. 실행 환경에서는 메모리를 관리하고 예외를 처리하며 스레드 스케줄러를 통해 멀티스레딩 기능을 제공 한다.

  • PDF

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

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

  • PDF

Java Applet Security by Bytecode Modification (바이트코드 수정을 통한 자바 애플릿보안)

  • 박상길;노봉남
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.166-168
    • /
    • 2000
  • 자바가상기계(JVM : Java Virtual Machine)는 실행전에 바이트코드를 확인하는 바이트코드 검증기와 실행환경에서 점검하는 바이트코드 인터프리터를 포함한다. 자바 애플릿은 서비스 거부 공격이나, 사용자를 속이기 위한 조작한 링크 정보를 상태바에 보인다거나, 전자메일을 위조하여 보내는 등의 사용자에 유해한 행위를 할 수 있다. 웹브라우저를 통해 유해한 행동을 하는 클래스에 대해 사전에 바이트코드 수정을 통하여 안전한 클래스로 대체한다. 바이트코드 수정에는 클래스 수준 수정과 메소드 수준 수정이 있다. 클래스 수준 수정은 자바의 상속성을 이용하고. final 클래스나 인터페이스처럼 상속되지 않는 클래스는 메소드 수준에서 바이트 코드 수정을 한다. 메소드 수준 수정은 바이트코드 명령과 Constant Pool을 수정한다. 바이트 코드 수정을 적용하면 웹서버, 클라이언트, 브라우저에 대해 어떠한 별도의 작업도 필요없이 프락시 서버에서 유해클래스를 Safe 클래스로 수정한 후 브라우저에 보인다.

  • PDF

Design and Implementation of a Virtual Machine for Embedded Systems (임베디드 시스템을 위한 가상기계의 설계 및 구현)

  • Oh Se-Man;Ko Kwang-Man;Lee Yang-Sun
    • Journal of Korea Multimedia Society
    • /
    • v.8 no.9
    • /
    • pp.1282-1291
    • /
    • 2005
  • This paper presents the EVM(Embedded Virtual Machine) which enables the execution of dynamic applications loaded in the embedded systems such as Mobile Devices(mobile phone, PDA), Set-Top Box, and Digital TV using downloading techniques. To accomplish this goal, we defined a SIL-(Standard Intermediate Language) code, and implemented a Bytecode-to-SIL translator which enables the execution of programs written in java language in the EVM platform without JVM, and a MSIL--to-SIL- translator which enables for programs written in .NET language to be executed in the EVM platform without .NET platform. Also, we developed a EFF(Executable File Format) builder as an assembler which translates SIL codes into an executable file, *.evm, and implemented the EVM which reads the *.evm file and executes it. The virtual machine for embedded systems developed in this paper is the software technologies that enable the execution of applications or contents without changes to when the platforms change. In fact, the virtual machine suggested here is not only usable as a standard model for existing virtual machines but also aid in more efficient execution of applications loaded in the embedded systems such as Mobile Devices, Digital TV, and Set-Top Box.

  • PDF

Performance Enhancement of Java Virtual Machine using Disk Cache Mechanism (디스크 캐쉬 기법을 이용한 자바 가상 세계의 성능 향상)

  • 강정욱;김철기;이준원
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.92-94
    • /
    • 2000
  • 자바는 이동성, 호환성, 안정성을 위해서 자바 가상 기계를 이용한 수행 방법을 사용한다. 이는 수행 속도를 저하 시키는 한 요인이다. 그래서, 정적 컴파일 모델과 동적 컴파일 모델과 같은 자바 가상 세계의 성능을 높이기 위한 여러 연구들이 진행되었다. 정적 컴파일 모델은 자바의 특성을 해치며, 동적 컴파일 모델은 초기화 시간이 증가하는 문제점이 있다. 본 논문에서는 디스크 캐쉬 기법을 이용하여 동적 컴파일 모델에서 발생하는 초기화 시간을 줄이는 자바 가상 기계를 구현하였다. SPEC JVM98[1]을 이용하여 Kaffe[2] 와 비교했을 때, 초기화 시간이 2배에서 5배 정도 줄었음을 알 수 있었다.

  • PDF

The design and Implementation of Class Loader System for Java Virtual Machine (자바가상머신을 위한 클래스 로더 시스템 설계 및 구현)

  • 유용선;류현수;김용희;이철훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04a
    • /
    • pp.796-798
    • /
    • 2004
  • 최근 무선인터넷이 발달함에 따라, 핸드폰이나 PDA 및 정보가전용 기기들에 플랫폼 독립성, 이식성, 네트워크 이동성의 장정을 갖는 자바기술을 적용한 서비스가 증가하고 있다. 자바 플랫폼은 각각의 하드웨어 플랫폼에 맞게 포팅 된 가상머신이 존재하여, 컴파일 된 바이트 코드를 해석하기 때문에 플랫폼 독립성을 갖게 된다. 그러나 sun사의 JVM을 사용할 경우 고가의 royalty를 지불해야 하기 때문에 경쟁력을 높이기 위해 “클린눔(Clean Room)”에서 개발한 국산 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

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

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