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

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

프로그래밍언어 학습 동기유발을 위한 교육용 Java 로봇의 설계 및 구현 (The Design And Implementation of Educational Java Robot for Learning Motivation of Programmnig Language)

  • 백정현
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2011년도 제43차 동계학술발표논문집 19권1호
    • /
    • pp.191-194
    • /
    • 2011
  • 본 연구에서는 Atmel사의 AVR 마이크로프로세서에 적합하게 개발된 Java 바이트코드 인터프리터인 NanoVM을 자체 개발한 마이크로로봇에 이식하여 Java 언어 전용 로봇을 구현하였다. 따라서 마이크로프로세서의 구조와 회로를 모르는 학생들도 로봇을 프로그래밍하면서 Java 언어를 효율적으로 학습할 수 있다. 더욱이 최근 학생들의 프로그래밍언어 학습 능력이 떨어지면서 컴퓨터 관련학과의 프로그래밍언어 교육이 많은 어려움을 겪고 있다. 따라서 학생들의 프로그래밍언어 학습 동기를 부여하고 창의 공학적 프로그래밍언어 교육프로그램의 도입이 필요한 시점에서 본 연구에서 개발한 Java 로봇은 많은 기여를 할 것으로 기대된다.

  • PDF

J2ME 디바이스를 위한 써로게이트 시스템 설계 (The Design of the Surrogate System for J2ME CLDC-Devices)

  • 장준;최훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (A)
    • /
    • pp.649-651
    • /
    • 2004
  • 최근 소형 디바이스들이 인터넷 같은 IP 네트워크를 통해 서로 연결되면서, 디바이스간에 동적 분산 네트워크를 구성하는 기술인 지니가 주목받고 있다. 하지만, 현재 지니 기술은 J2SE 자바가상머신(JVM)을 탑재한 디바이스에서만 사용할 수 있다. 본 연구에서는 J2ME CLDC를 탑재한 소형 디바이스가 지니 서비스를 사용할 수 있도록, 지니 네트워크에서 제시한 지니 써로게이트 구조를 이용하여 지니 써로게이트 시스템을 설계하였다.

  • PDF

Java 프로그래밍 학습을 위한 로봇 트레이닝키트의 설계 및 구현 (The Design And Implementation of Robot Training Kit for Java Programming Learning)

  • 백정현
    • 한국컴퓨터정보학회논문지
    • /
    • 제18권10호
    • /
    • pp.97-107
    • /
    • 2013
  • 최근의 프로그래밍 패러다임은 객체지향프로그래밍과 이를 기반으로 하는 비주얼프로그래밍이 주류를 이루고 있다. 그러나 객체지향프로그래밍은 기존의 구조적프로그래밍기법에 비하여 개념이 어렵고 복잡하여 IT 관련학과 학생들을 교육하기에 어려움이 많았다. 본 연구에서는 학생들이 다양한 입출력 장치를 부착하고 로봇제어가 가능한 트레이닝 키트를 사용하여 객체지향 프로그래밍 학습 의욕 고취와 동기를 유발할 수 있도록 Java 가상머신을 내장한 Java 로봇 트레이닝 키트를 설계하고 구현하였다. 개발된 Java 로봇 트레이닝 키트는 USB 인터페이스로 컴퓨터와 통신 가능하며, 다양한 입출력 장치와 DC 모터 및 서보모터를 구동할 수 있는 범용 입출력 포트를 내장하여 교육용 로봇제작과 응용프로그래밍 실습이 가능하다. 따라서 IT 융합시대를 맞이하여 학문과 전공간의 벽이 낮아지고 창의 공학적 객체지향 프로그래밍언어 교육의 도입이 필요한 시점에서 본 연구에서 개발한 Java 로봇 트레이닝 키트가 많은 기여를 할 것으로 기대된다.

메모리 분할을 이용한 효과적인 가비지 컬렉션에 관한 연구 (A Study on Effective Garbage Collection using Memory Partitioning)

  • 허서경;이승룡
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (상)
    • /
    • pp.317-320
    • /
    • 2003
  • 자바는 플랫폼 독립성, 이식성, 보안, 멀티 쓰레드 지원, 동적 적재, 자동화된 메모리 관리(Garbage Collection) 등 많은 장점을 갖는 언어이다. 특히, 가비지 컬렉터(Garbage Collector)는 메모리 누수(memory leak), 동강난 포인터(dangling pointer) 등과 같은 메모리의 잘못된 사용으로 인한 버그로부터 프로그래머를 자유롭게 하며, 디버깅의 용이함, 개발비용의 절감, 프로그램의 일관성 및 견고성의 향상 등의 이점을 얻을 수 있다. 그러나, 자바 가상머신(Java Virtual Machine)에서 가비지 컬렉터가 객체를 추적(tracing)하고 수집(collecting)하는 작업은 프로그램의 수행 성능을 저하시키는 요인이 된다. 따라서, 본 논문에서는 가비지 컬렉터의 성능을 향상시키기 위하여 힙(heap)에 할당하는 객체들의 특성을 고려하여 메모리를 분할한 후, 효율적으로 컬렉션 작업을 수행 할 수 있는 기법을 소개한다.

  • PDF

실시간 운영체제 $iRTOS^{TM}$ 상의 KVM 메모리 관리 체계 내에서 효율적인 가비지 콜렉션의 설계 및 구현 (The Design and Implementation of Garbage Collection in KVM Memory Management Facility on Real-Time Operating System, $iRTOS^{TM}$)

  • 최인범;유용선;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (A)
    • /
    • pp.805-807
    • /
    • 2004
  • 최근 IT 산업의 발전과 더불어, 리소스가 제한된 소형 기기들의 사용이 비약적으로 증가하고 있는 추세이다. 자바는 플랫폼 독립성(Platform Independency), 보안성(Security), 네트워크 이동성(Network Mobility) 등의 장점을 가지고 있어, 이러한 소형 기기들에 자바 환경을 적용하게 되면 여러 가지 이점을 가지게 된다. 임베디드 장치나 모바일 같은 제한된 리소스를 사용하는 기기들에는 SUN 사의 CLDC(Connected, Limited Device Configuration)에서 정의하고 있는 K 가상 머신(K Virtual Machine: KVM)을 탑재하여 사용하게 된다. 본 논문에서는 실시간 운영체제 iRTOS$^{TM}$와 KVM 을 탑재한 소형 기기에서 좀더 효율적으로 KVM 의 메모리를 관리하기 위한 Garbage Collection기법을 설계하고 구현한 내용을 설명한다.

  • PDF

CLDC에서 자바 가비지 콜렉션 (Java Garbage Collection in CLDC)

  • 권혜은;김상훈
    • 정보학연구
    • /
    • 제5권2호
    • /
    • pp.27-34
    • /
    • 2002
  • CLDC를 지원하는 자바가상머신인 KVM의 가비지 콜렉터는 일반적으로 단순한 마크-회수 알고리즘에 기반을 두고 있다. 그러나 이 알고리즘은 단편화 없이 다양한 크기의 객체를 다루기 어렵다는 문제점을 가진다. 본 논문에서는 객체의 크기에 따라 자유 기억 공간의 할당 위치를 결정하는 메모리 할당 방법을 적용한 개선된 마크-회수 가비지 콜렉터를 설계하고 구현하였다. 실험을 통해 단편화 문제가 감소되었고 실행시간의 개선이 있었음을 확인하였다.

  • PDF

KVM의 효율적인 힙 메모리 관리를 위한 MCCL 가비지 콜렉션의 설계 및 구현 (The Design and Implementation of MCCL(Mark-Compact-Compress-Lazy Allocate) Garbage Collection for effective Heap Memory Management in KVM)

  • 최인범;이재규;조문행;남상훈;이철훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (1)
    • /
    • pp.682-684
    • /
    • 2004
  • IT 산업이 발전하고, 제한된 리소스를 탑재한 소형 기기들의 사용이 증가함에 따라, 이러한 소형 기기들의 성능을 극대화하고 안정된 서비스를 제공하기 위한 다양한 핵심 소프트웨어 플랫폼들이 제안되고 있다. 자바는 플랫폼 독립성(Platform Independency), 보안성(Security), 네트워크 이동성(Network Mobility) 둥의 장점을 가지고 있어, 많은 분야의 소형 기기들에서 핵심 소프트웨어 플랫폼으로 채택되고 있다. 임베디드 장치나 모바일 같은 제한된 리소스를 사용하는 기기들은 자바의 소프트웨어 플랫폼중의 하나인 K 가상 머신(K Virtual Machine: KVM)을 탑재하여 사용하고 있다. 본 논문에서는 제한된 리소스를 사용하는 소형 기기의 KVM 에서 좀 더 효율적으로 힙 메모리 관리를 하기 위한 MCCL(Mark-Compact-Compress-Lazy Allocate) 가비지 콜렉션 기법을 설계하고 구현한 내용을 설명한다.

  • PDF

안드로이드 플랫폼을 위한 자바 보안 프로바이더 설계 및 구현 (Design and Implementation of Java Crypto Provider for Android Platform)

  • 손미경;강남희
    • 한국통신학회논문지
    • /
    • 제37C권9호
    • /
    • pp.851-858
    • /
    • 2012
  • 안드로이드 기반 스마트기기에서 보안 응용 서비스를 개발하기 위해 SUN JCA/JCE나 BC JCE와 같은 자바 기반 보안 라이브러리를 사용한다. 자바를 사용하여 제작된 응용은 자바 가상 머신(JVM: Java Virtual Machine)에서 기능이 수행되므로 시스템 하드웨어에 의존하는 기능을 사용하기 어렵고 실행 속도가 저하되는 문제가 있다. 보안 프리미티브(primitive)의 경우 계산양이 많고 연산 복잡도가 높아 JVM에서 수행되는 보안 프리미티브를 적용할 수 있는 응용은 제한적이다. 특히, 실시간 특성을 요하는 스트리밍 서비스나 계산양이 많은 공개키 기반 알고리즘을 빈번히 적용하는 보안 응용 서비스의 경우 성능의 문제로 자바 라이브러리 사용이 어렵다. 이를 해결하기 위해 본 논문에서는 JNI와 NDK 도구를 사용하여 C나 C++ 언어로 구현된 네이티브 기능을 사용하여 보안 기능을 수행할 수 있는 프로바이더를 설계하고 구현한다. 제안하는 자바 보안 프로바이더(DSCrypt)는 기존 자바 기반 보안 라이브러리와 동일한 방식으로 사용할 수 있지만 빠르게 보안 기능이 수행되는 장점을 제공한다.

안드로이드 콘텐츠 저작권 침해 방지를 위한 서버 기반 리소스 난독화 기법의 설계 및 구현 (Design and Implementation of Server-based Resource Obfuscation Techniques for Preventing Copyrights Infringement to Android Contents)

  • 박희완
    • 한국콘텐츠학회논문지
    • /
    • 제16권5호
    • /
    • pp.13-20
    • /
    • 2016
  • 소프트웨어는 대부분 바이너리 파일 포맷으로 배포되기 때문에 역공학 분석이 쉽지 않다. 그러나 안드로이드는 자바를 기반으로 하며 가상머신 위에서 동작한다. 따라서 안드로이드 역시 자바와 유사하게 역공학 도구에 의해서 쉽게 분석될 수 있다. 이 문제를 극복하기 위해서 다양한 난독화 기법이 제안되었다. 안드로이드 환경에서는 안드로이드 SDK에 포함되어 배포되는 난독화 도구인 프로가드(Proguard)가 가장 널리 사용된다. 프로가드는 자바 소스 코드를 역공학 분석으로부터 보호할 수 있다. 그러나 이미지, 사운드, 데이터베이스와 같은 리소스를 보호하는 기능은 가지고 있지 않다. 본 논문에서는 안드로이드 앱의 리소스를 보호할 수 있는 리소스 난독화 기법을 제안하고 구현하였다. 본 논문에서 제안하는 리소스 난독화 기법을 적용하면 효과적으로 리소스 도용을 예방할 수 있을 것으로 기대한다.

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

  • 최찬우;이철훈
    • 한국콘텐츠학회:학술대회논문집
    • /
    • 한국콘텐츠학회 2008년도 춘계 종합학술대회 논문집
    • /
    • pp.551-554
    • /
    • 2008
  • 셋탑박스나 스마트폰과 같은 임베디드 장비는 GUI(Graphical User Interface)기능 제공 및 플랫폼 독립성(Platform Independance) 유지를 위해 자바 환경을 사용한다. 이러한 장비에 자바 환경을 적용하기 위해 SUN에서 제공하는 임베디드용 자바가상머신의 하나인 CVM(Classic Virtual Machine)을 탑재하여 사용하게 된다. 자바의 GUI를 제공하기 위해서는 CVM에 포함된 PBP(Personal Basis Profile)에서 명세하고 있는 GUI표준 API를 사용해야 한다. GUI 표준 API를 구현 할때에 자바의 네이티브 메서드와 운영체제의 네이티브 함수간에 상호 연동이 될 수 있도록 JNI(Java Native Interface)를 사용하여 구현한다. 이에 본 논문에서는 실시간 운영체제 iRTOS를 기반으로 CVM GUI를 구현하기 위해 그래픽 원도우 시스템과 GUI 표준 API와의 상호 연동을 하는 네이티브 함수와 각종 이벤트 처리에 대해 설계 및 구현한 내용을 기술한다.

  • PDF