• 제목/요약/키워드: 자바 가상 기계

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

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

  • 양희재
    • 한국정보통신학회논문지
    • /
    • 제7권4호
    • /
    • pp.788-797
    • /
    • 2003
  • 클래스 라이브러리는 자바가상기계와 더불어 자바실행환경을 이루는 가장 중요한 요소들 중 한가지다. 통신속도나 메모리의 용량 면에서 제한을 받게 되는 내장형 시스템의 특징상 내장형 자바 시스템은 클래스 라이브러리에 대한 의존도가 매우 높다. 따라서 효율적인 내장형 자바 시스템의 구축을 위해서는 클래스 라이브러리에 대한 면밀한 분석이 필수적이다. 본 논문에서는 내장형 자바 시스템을 위한 클래스 라이브러리의 특성에 대해 분석하였다. 즉 라이브러리를 이루는 클래스 구성과, 그 클래스들을 담은 파일의 크기 및 파일 내 주요 요소인 상수풀에 대한 분석을 하였다. 또한 클래스들이 갖고 있는 필드 및 메소드의 개수, 각 메소드들이 필요로 하는 스택과 지역변수배열의 크기, 그리고 각 메소드의 바이트코드 길이 등에 대해 조사하였다. 이 연구의 결과는 내장형 자바 시스템의 클래스 적재에 따른 지연시간 해석, 인스턴스를 만들 때 소요되는 메모리의 크기 예측 등 효율적 내장형 자바가상기계의 설계에 사용될 것이다.

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

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

  • PDF

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

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

  • PDF

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

  • 양희재
    • 전자공학회논문지CI
    • /
    • 제42권4호
    • /
    • pp.11-16
    • /
    • 2005
  • 클래스 영역은 자바가상기계 내에서 각종 상수와 필드, 메소드 등이 위치하는 메모리공간의 한 부분이다. 임베디드 자바 시스템과 같이 제한적 메모리 자원을 갖는 시스템에서는 클래스 영역의 크기를 아는 것이 매우 중요하다. 본 논문에서는 이 영역의 크기를 예측할 수 있게 하는 일반적 수식을 유도하였다 이 수식은 구현되는 자바가상기계에 의존적인 몇 개의 상수들을 필요로 하는데, 우리는 이들 상수들이 몇 개의 간단한 탐침 클래스에 의해 구해질 수 있음을 보였다. 본 접근 방식의 정확성을 증명하기 위한 실험 결과도 함께 나타내었다.

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

  • 양희재
    • 정보처리학회논문지A
    • /
    • 제12A권3호
    • /
    • pp.223-228
    • /
    • 2005
  • 임베디드 시스템에서 일반적으로 메모리가 가장 많은 에너지를 소비하는 것으로 알려지고 있다. 임베디드 자바가상기계의 경우도 마찬가지이며, 따라서 보다 에너지 효율이 높은 자바가상기계의 개발을 위해서는 자바 메모리의 에너지 사용을 최적화 하는 것이 무엇보다 중요하다. 본 논문에서는 자바 프로그램 실행 시 수많은 바이트코드들이 어떻게 논리적 메모리를 접근하는지 분석하였다. 이런 접근 형태 분석은 자바 메모리의 설계 및 구현 기술을 선택하는데 큰 통찰력을 제공해 준다 힙, 오퍼랜드 스택, 지역변수배열 등 세 가지 논리적 데이터 공간에 대해 각각 메모리 접근을 분석하였으며, 분석 결과 오퍼랜드 스택이 가장 빈번하게, 또한 균일하게 사용되었으며 힙이 가장 드물게, 그리고 불균일하게 사용되었음을 알 수 있었다. 힙과 지역변수배열은 읽기 위주로 사용되었으며, 오퍼랜드 스택은 읽기와 쓰기 비율이 크게 다르지 않았다.

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

  • 최원호;정민수;김도우;진민;윤기송
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • 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)

  • 정양재;이문근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (1)
    • /
    • 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)

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

  • PDF

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

  • 황철준;조증보;정민수
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (중)
    • /
    • pp.1197-1200
    • /
    • 2003
  • USIM(Universal Subscriber Identity Module) 기술은 데이터의 관리와 보호를 하나의 소형 칩 내에 집약시킨 기술로 최근에 이 기술에 대한 관심도가 증가하고 있다. 자바카드 가상기계는 자바 언어로 작성된 프로그램이 USIM 칩 내부에서 실행 가능하도록 해준다. 하지만 자바카드 가상 기계는 자원 제약적인 디바이스의 특성으로 인하여 검증기술을 제공하지 않는다. 본 논문에서는 정적 체크 기반의 효율적인 바이트코드 검증기를 제안한다. 연구 결과 본 논문에서 제안하는 검증기는 일반적인 것에 비해 90% 이상의 사이즈가 감소되었다.

  • PDF

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

  • 노태헌;이동욱;정민수
    • 한국멀티미디어학회논문지
    • /
    • 제12권1호
    • /
    • pp.41-49
    • /
    • 2009
  • 오늘날 대부분의 스마트카드는 자바카드 플랫폼을 채택한 자바카드가 표준안으로 자리매김 하고 있다. 자바카드는 전원이 차단되면 작업 중이던 데이터가 손실되는 문제점을 가지고 있다. 데이터 손실의 해결책으로 트랜잭션 개념이 사용되지만, 한 번에 하나의 트랜잭션 처리만을 허용하므로, 트랜잭션이 필요한 작업들은 이전에 작업 중인 트랜잭션이 끝날 때까지 대기해야 하고, 이는 자바 카드의 성능을 저하시키는 요인이다. 본 논문에서는 자바 카드의 수행 성능을 향상시키기 위한 방안으로 다중 트랜잭션 버퍼에서 트랜잭션을 수행할 수 있도록 이중 잠금 규칙을 규정하고, 이 규칙에 따라 트랜잭션을 처리함으로써 트랜잭션 처리 성능을 개선시키고자 한다. 이러한 연구 결과를 통해 데이터의 안전성을 놀이고 트랜잭션이 필요한 데이터의 대기 시간을 줄이고 자바 카드의 수행 속도를 증가 시킬 수 있다.

  • PDF