◆임베디드시스템의 부상과 함께 임베디드인터넷 및 임베디드자바에 대해 국내외 업계의 시선이 모아지고 있다. 임베디드인터넷과 임베디드자바는 각각 사용환경이 다양하다는 점과 일반 기기에 인터넷 접속성(connectivity)을 구현할 수 있다는 점에서 앞으로 전개될 임베디드시스템 시대의 핵심기술로 각광받고 있다. 여기에서는 빠르게 발전하고 있는 이들 기술의 내용 및 응용 분야를 살펴보자.◆
◇ 임베디드자바(Embeded Java)=임베디드시스템 시대가 개막되면서 다시 한번 「자바(Java)」가 각광받고 있다. 자바는 일종의 인터넷용 언어 내지는 네트워크시스템과 관련한 플랫폼 정도로 여겨져왔다. 그러나 자바는 본래 임베디드시스템에서 탄생했고 특히 최근들어서는 다양한 하드웨어 이식성 때문에 임베디드 운용체계의 대안으로 부상하고 있다.
자바는 당초 네트워크화한 컴퓨팅 환경에서 적합한 작업을 수행할 수 있도록 설
계됐다. 이는 초창기 자바가 알려지기 시작할 무렵 선마이크로시스템스가 외쳤던 「Network is Computer」라는 캐치프레이즈에도 잘 나타나 있다.
자바는 자체 파일을 만들지 않고 가상 메모리를 차지하지 않는다는 이점이 있다. 더 나아가 임베디드시스템에서 자바는 하드웨어 플랫폼에 대해 독립적인 수행환경을 제공한다. 이같은 플랫폼 독립성은 네트워크 컴퓨팅 환경에서 프로그램을 옮겨다니면서 작업을 수행할 수 있도록 하기 위한 것이다.
자바는 또 네트워크를 통해 자바 애플릿 같은 자바프로그램을 다운로드할 수 있으며 자바클래스를 로딩할 수 있다.
자바는 이같은 장점에 기반을 두고 고기능 컴퓨터 뿐만 아니라 프린터·전기밥솥·냉장고·세트톱박스 등 저기능 중앙처리장치(CPU)와 적은 메모리를 갖는 임베디드시스템에서 활발히 응용되고 있다.
단점도 있다. 자바버추얼머신(JVM)에 의해 작업이 수행되기 때문에 컴파일된 프로그램에 비해 수행속도가 다소 늦다. 이같은 단점은 고성능 임베디드칩들이 개발되면서 상당부분 해결되고 있다.
자바는 리눅스·윈도CE·VxWorks 등에서 수행될 수 있으며 자바프로그램 하나로 여러 플랫폼에서 컴파일 없이 작업을 수행할 수 있어 다른 운용체계들과 경쟁관
계라기보다는 보완관계에 있다.
◇ 응용환경=임베디드시스템에 적합한 자바 응용환경은 자바카드, 임베디드자바, 퍼스널자바 등을 들 수 있다.
자바카드는 스마트카드가 작동하는 데 필요한 환경만을 제공한다. 임베디드자바는 전화·무선호출기·프린터 등 사용자에게 제공되는 화면이 문자위주인 가전기기 및 제어장치 등에 적합한 환경을 제공한다. 또 퍼스널자바는 문자위주의 화면이 아닌 그림, 윈도 환경 등 복잡한 화면을 구성하는 인터넷TV·영상전화·개인휴대단말기(PDA) 등의 기기와 e자바가 제공하는 기능보다 더 많은 기능을 요구하는 기기에 적합하다. 이같은 실행환경 구분을 통해 각 시스템에 포팅되는 버추얼머신의 능력과 메모리 점유율이 각각 달라진다.
퍼스널자바는 가정·사무실·이동통신 환경에서 사용되는 제품에서 작동하는 네트워크에 연결되는 응용제품을 제작하기 위해 고안된 자바 응용환경으로 JVM, 클래스라이브러리 및 자바에서 제공하는 핵심 API와 선택적 API를 포함하는 자바의 부분집합으로 구성된다. 그리고 자원이 한정돼 있는 환경에서 작동하는 데 필요한 특수기능을 가지고 있다. 특히 메모리와 프로세서 요구사항이 기존 자바 응용환경보다 작다는 점이 특징이다.
퍼스널자바는 현재 많은 업체에서 라이선스 계약을 맺고 제품제작에 들어갔다. 특히 에이콘·루슨트테크놀로지스·마이크로웨어·윈드리버 등이 퍼스널자바를 지원하기로 결정함으로써 더욱 강력한 힘을 발휘할 수 있게 됐다. 또 노텔·알카텔·삼성 등도 퍼스널자바를 응용환경으로 채택해 제품생산에 들어간 것으로 알려졌다.
임베디드자바는 퍼스널자바와 유사한 JVM과 자바API로 구성돼 있다. 다만 퍼스널자바와 달리 네트워크 연결성을 지원하지 않는 임베디드시스템을 겨냥해 설계됐다. 즉 응용프로그램 자체가 내장돼 상당기간 사용될 수 있기 때문에 계속해서 네트워크를 이용해 응용프로그램을 다운로드하지 않아도 된다는 말이다. 임베디드자바는 무선호출기, 저수준 전화기, 프린터, 팩스 등 일반적으로 접할 수 있는 기기들에 적합하다.
임베디드자바는 또 퍼스널자바와 달리 애플릿을 지원하지 않는다. 불필요한 기능을 제거하고 필요한 기능만 제공하기 위한 시스템을 위해 설계된 것이다.
자바카드는 스마트카드를 겨냥해 설계된 새로운 자바 응용환경으로 임베디드자바와 퍼스널자바보다도 훨씬 낮은 환경에서 실행된다. 자바카드프로그램은 일반 자바 개발도구에 의해 사용되며 스마트카드에 삽입돼 동작한다. 또한 스마트카드에 적합한 환경을 제공하도록 고안됐기 때문에 자바내 여러 기능이 지원되지 않는다.
<허의원 ewheo@etnews.co.kr>