• 제목/요약/키워드: 자바 가상 머신

검색결과 102건 처리시간 0.028초

내장형 자바 시스템을 위한 클래스파일의 프리레졸루션 (Glass File Pre-Resolution for Embedded Java System)

  • 강두진;맹혜선;이영민;한탁돈;김신덕
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • pp.385-387
    • /
    • 1999
  • 내장형 기기에서 자바를 제어 및 응용 프로그램으로 사용하는 경향이 증대하고 있다. 내장형 자바가상머신에서는 응용 프로그램과 관련 자바 API를 로딩된 형태로 롬에 적재하는 형태를 가진다. 따라서 응용프로그램은 필터링을 거쳐서 관련된 자바 API를 선별한 후 롬릿으로 만들어진다. 본 논문에서는 내장형 자바가상머신에 적재될 롬릿을 만드는 과정에서 사용될 수 있는 프리레졸루션 방법을 제시하고 이를 위한 컨스턴트풀 데이터 구조를 제안하였다. 프리레졸루션은 롬릿을 만드는 과정에서 미리 레졸루션을 수행한 결과를 저장하여, 실행 시 발생되는 레졸루션 시간을 제거할 수 있도록 한다. 또한 프리레졸루션은 메모리 접근 횟수를 감소시켜 내장형 기기에서 필요한 저전력 요구를 지원한다. 본 논문에서 제안한 컨스턴트풀 데이터 구조는 공용체 구조의 미사용 부분에 레졸루션 결과를 저장할 수 있도록 구성함으로써 추가적인 메모리 비용없이 프리레졸루션의 이득을 얻을수 있다.

  • PDF

자바 접근 권한 검사 트리 기반의 자바 취약 API 리스트 생성 (Constructing Java Vulnerable API List based on Java Access Permission Checking Tree)

  • 박효성;박철우;임영찬;김기창
    • 예술인문사회 융합 멀티미디어 논문지
    • /
    • 제5권2호
    • /
    • pp.289-296
    • /
    • 2015
  • 자바는 다양한 플랫폼에서 실행 가능한 인터프리터 언어이며, 네트워크 사용에 유용한 기능들을 갖고 있다. 이러한 자바 언어의 특징으로 인해 자바는 다양한 분야에서 사용되고 있다. 본 논문에서는 자바 가상머신의 보안 관리자를 위협하는 악성 코드가 어떠한 방법으로 가상머신의 취약점을 노리는지에 대해 언급한다. 그리고 이에 대응 방안으로 자바 콜 그래프와 자바 접근 권한 검사 트리를 이용한 자바 시스템 클래스의 취약점 분석 방법을 제안으로써 사전에 미리 보안 위협을 방지하기 위한 토대를 마련하고자 한다.

임베디드 자바 가상머신을 위한 가비지 컬렉터 개발 (Development of a Garbage Collector for an Embedded Java Virtual Machine)

  • 차창일;김형준;황규정;김상욱;이상윤;원희선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2006년도 춘계학술발표대회
    • /
    • pp.1321-1324
    • /
    • 2006
  • 자바 언어는 그 객체지향성, 안전성, 유연성으로 인하여 현재 가장 널리 쓰이는 프로그래밍 언어의 하나가 되었으며, 자바 가상머신이 제공해주는 가비지 컬렉터로 인하여 프로그래머는 메모리 관리에 관한 많은 고민이 줄어들었다. 임베디드 환경에서 역시 자바는 강세를 나타내고 있으며 임베디드 환경의 특성을 반영한 가상 머신과 가비지 컬렉션 기법이 요구되고 있다. 본 논문에서는 힙이라고 불리는 메모리 영역을 크게 젊은 세대와 늙은 세대의 두 부분으로 나누어서 관리하며 각 세대는 그 특성과 요구사항에 적합하도록 각기 다른 기법을 적용한 가비지 컬렉터를 제안한다. 더불어 효과적인 가비지의 식별을 위한 쓰기 장벽과 2중 필터링 기법을 제안하고 있으며, 일반적인 방법으로 회수가 불가능한 순환적 구조의 가비지를 검출하여 회수하기 위한 이중 검사 기법을 제안한다. 제안하는 기법은 임베디드 환경의 요구사항인 객체의 빠른 할당, 동작의 실시간성, 모든 가비지의 회수, 단편화 제거, 높은 지역성 등을 모두 만족한다.

  • PDF

실시간 운영체제 UbiFOSTM에서의 CVM 설계 및 구현 (Design and Implementation of CVM on Real-Time Operating System, UbiFOSTM)

  • 최찬우;이철훈
    • 한국콘텐츠학회:학술대회논문집
    • /
    • 한국콘텐츠학회 2007년도 추계 종합학술대회 논문집
    • /
    • pp.812-816
    • /
    • 2007
  • IT 산업이 빠르게 발전하면서 리소스가 제한된 셋탑박스와 스마트폰 같은 중소형 디바이스의 사용이 비약적으로 증가하는 추세이다. 자바는 플랫폼 독립성(Platform Independency), 보안성(Security), 이동성(Mobility) 등의 장점을 가지고 있기 때문에 안정된 서비스를 제공해야 하는 중소형 디바이스들에게 중요한 핵심 소프트웨어 플랫폼이 되어가고 있다. 이러한 디바이스에서 자바애플리케이션을 실행하기 위해서는 자바가상머신(Java Virtual Machine)이 필요하다. C 가상 머신(Classic Virtual Machine : CVM)은 리소스가 제한된 임베디드 디바이스를 위해 고안된 자바가상머신이다. 본 논문에서는 실시간 운영체제 UbiFOS$^{TM}$상에 CDC(Connected Device Configuration) 에서 정의하고 있는 CVM을 설계 및 구현하였다.

  • PDF

자바가상머신에서 다차원 배열의 효율적인 접근과 성능 개선 (Efficient Access and Performance Improvement of Multi-Dimensional Array in Java Virtual Machine)

  • 이지현;원희선;문경덕;김영국
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 춘계학술발표논문집 (중)
    • /
    • pp.1457-1460
    • /
    • 2003
  • 자바는 플랫폼에 독립적인 실행을 위해서 바이트코드를 사용하며, 자바가상머신에서 바이트코드를 해석하여 실행시키는 인터프리터 방식을 취하고 있으므로 느린 실행 시간을 갖는다. 이와 같은 느린 실행 시간에 영향을 주는 요인 중의 하나로써 다차원 배열(Multi-dimension Array)에 접근(Acess)할 때 비효율적인 방법으로 실행되는 것을 개선할 필요가 있다. 자바가상머신에서 오브젝트와 배열은 레퍼런스에 의해서 접근되어지고, 특히 다차원 배열은 배열 안에 또 다른 배열이 들어있는 자료구조를 취하기 때문에 다차원 배열의 크기가 커질수록 하나의 원소에 접근할 때 발생되는 레퍼런스(Reference)의 횟수가 많아질수록 성능 저하를 유발한다. 본 논문에서는 다차원 배열에 효율적으로 접근하기 위한 새로운 배열의 자료 구조를 제시하고, 다차원 배열에 접근하는 여러 개의 바이트코드 대신 이런 자료구조에 접근할 수 있는 새로운 바이트코드를 정의 및 구현하였다. 그리고 이를 실제 클래스파일에 적용하고, 간단한 성능 평가를 통해서 성능 개선 효과를 확인할 수 있다.

  • PDF

재사용을 고려한 자바 라이브러리 설계 및 구현 방법 (An Approach to Design and Implementation of Java Library for Reusing)

  • 최유희;윤석진;양영종
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (2)
    • /
    • pp.439-441
    • /
    • 2005
  • 현재 임베디드 소프트웨어에 대한 개발 및 연구가 활발히 이루어지고 있다. 이러한 상황에 맞춰 임베디드 시스템을 위한 임베디드 자바 플랫폼의 필요성 또한 증대되고 있다. 그러나 현재 임베디드 시스템에서 일반적으로 사용되는 운영체제인 임베디드 리눅스 상에서 사용될 수 있는 공개 소스 기반의 J2SE용 자바 플랫폼은 개발되어 있으나 임베디드 시스템의 하드웨어 제약사항 등을 고려한 임베디드 자바 플랫폼인 J2ME용 자바 플랫폼은 개발이 활발히 이루어지고 있지는 않다. 그러나 각 플랫폼이 동일한 가상 머신을 사용할 수 있으므로 J2SE에 J2ME용 라이브러리로만 교체하면 J2ME로 사용될 수 있는 점에 착안하여 본 연구에서는 J2ME용 라이브러리만을 개발하고 기존의 J2SE용 가상 머신과 결합할 수 있는 방법에 대해 제안하고자 한다.

  • PDF

임베디드 자바가상머신을 위한 쓰레드 클래스 라이브러리 설계 및 구현 (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

자바가상머신 쓰레드 모델 분석 및 설계 (The Analysis and Design of Thread Model for Java Virtual Machine)

  • 유용선;박윤미;류현수;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (1)
    • /
    • pp.625-627
    • /
    • 2004
  • 최근 들어 인터넷의 발달과 더불어 PDA, 핸드폰과 같은 모바일 디바이스와 다양한 정보가전용 기기들에 네트워크 기반의 자바기술이 적용되고 있으며, 이러한 자바 기술을 사용함으로써 플랫폼 독립성 이식성, 보안성, 이동성 둥의 장점을 얻을 수 있다. 그러나, 자바로 작성된 응용프로그램은 C, C++로 작성된 응용프로그램 보다 수행속도가 느리다는 단점이 있다. 이러한 문제점을 해결하기 위해서는 자바가상머신의 성능향상이 필수적이다. 지금까지 메모리 관리를 위한 가비지 컬렉션, 소프트웨어나 하드웨어를 이용한 바이트 코드 변환, 인라인캐시(inline-cache)를 사용한 접근 속도 향상 등 많은 부분에서 활발한 연구가 진행되고 있다. 본 논문에서는 모바일 플랫폼에서 동작하는 KVM(kilo-virtual machine)의 성능향상을 위한 쓰레드 구조를 분석하고 설계한다.

  • PDF

폴트 삽입 방식을 통한 자바 가상 기계의 강건성 테스팅(Robustness Testing) 기법 (Robustness Testing of Java Virtual Machine using fault injection)

  • 이성민;김상운;강제성;권용래
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (B)
    • /
    • pp.355-357
    • /
    • 2004
  • Java의 경우 기존의 강건성 테스팅 방법인 ballista로는 객체 타입의 인자 및 파일 시스템의 변화를 시뮬레이션 할 수 없다. 따라서 객체에 대한 특별한 접근을 필요로 한다. 본 논문에서는 객체에 폴트를 삽입하는 방식을 통하여 자바 가상 기계의 강건성(Robustness)을 테스팅하는 방법을 제안한다. 자바 디버깅 툴인 JPDA를 사용하여 자바 가상 머신에 대한 직접적인 접근 및 의도한 상태 및 환경 변경을 가능하게 하고 이를 통해 자바 가상 기계에 폴트가 심어진 객체를 수행시킬 수 있다. 객체를 수행시키고 의도한 예외상황의 발생 유무를 관찰함으로써 자바 가상 기계의 강건성을 테스트 할 수 있다.

  • PDF

SFX의 ARM 적시 컴파일러를 위한 레지스터 프로모션 (Register Promotion for SFX ARM Just-in-time Compiler)

  • 오진석;문수묵
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(A)
    • /
    • pp.535-538
    • /
    • 2011
  • 최근 모바일 기기가 활성화되면서 자바스크립트의 성능 향상이 이슈가 되고 있다. 적시 컴파일러를 탑재한 자바스크립트 엔진들이 등장하면서 이러한 요구를 충족하고 있다. 대표적 웹 브라우징 엔진인 WebKit의 자바스크립트 엔진인 SquirrelFish Extreme(SFX)는 콘텍스트 쓰레딩 방식의 적시 컴파일러를 사용하고 있다. 하지만 모바일 환경에서의 성능은 여전히 문제가 된다. 모바일 환경에서 많이 사용되는 ARM CPU를 위한 SFX의 적시 컴파일러는 가상 레지스터를 머신 코드에서 사용하기 위해 많은 수의 메모리 로드와 스토어를 사용하고 있다. 또한 ARM 아키텍처가 제공하는 레지스터를 제대로 사용하지 못하고 사용되지 않는 레지스터가 존재하고 있다. 사용되지 않는 레지스터를 활용하여 메모리 로드와 스토어를 줄이는 레지스터 프로모션을 적용하였다. 루프에서 머신 코드로 수행되는 바이트 코드를 중심으로 가상레지스터를 실제 머신 레지스터로 할당하여 메모리 로드와 스토어를 줄이고 일부 벤치마크에서 성능향상이 나타남을 확인 했다. 레지스터 프로모션의 효과를 더 증대하기 위해 레지스터 프로모션의 범위를 함수 전체로 넓히고 핸들러 함수 호출에서 발생하는 오버헤드를 줄이는 최적화가 필요할 것으로 보인다.