KR100661637B1 - 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법 - Google Patents

이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법 Download PDF

Info

Publication number
KR100661637B1
KR100661637B1 KR1020030094695A KR20030094695A KR100661637B1 KR 100661637 B1 KR100661637 B1 KR 100661637B1 KR 1020030094695 A KR1020030094695 A KR 1020030094695A KR 20030094695 A KR20030094695 A KR 20030094695A KR 100661637 B1 KR100661637 B1 KR 100661637B1
Authority
KR
South Korea
Prior art keywords
virtual machine
mobile communication
task
communication terminal
execution
Prior art date
Application number
KR1020030094695A
Other languages
English (en)
Other versions
KR20050063304A (ko
Inventor
김우식
이상윤
이재호
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020030094695A priority Critical patent/KR100661637B1/ko
Publication of KR20050063304A publication Critical patent/KR20050063304A/ko
Application granted granted Critical
Publication of KR100661637B1 publication Critical patent/KR100661637B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법에 관한 것으로, 특히 본 발명의 구조는 이동통신 단말기를 구동시키는 호스트 컴퓨터 운영체계와, 호스트 컴퓨터 운영체계의 신호에 따라 구동되는 독립된 다수개의 태스크들과, 이동통신 단말기내 응용 프로그램들을 실행하는 제 1 내지 제 n가상머신들과, 가상머신과 태스크간의 메시지 정보를 주고받기 위한 메시지 인터페이스와, 가상머신을 동작시키고 있는 태스크에 대한 정보를 관리하고 가상머신들간의 메시지 통신을 관리하는 가상머신 정보 관리자를 포함한다. 그러므로 본 발명은 이동통신 단말기에서 같은 종류 또는 서로 다른 종류의 가상머신을 상호 독립적으로 다중 동작시킬 수 있는 실행 환경과 가상머신간에 통신이 가능한 구조를 갖도록 함으로써 이동통신 단말기에서 여러 응용 프로그램의 동시 동작이 가능하고 응용 프로그램간의 상호 동작을 통해서 다양한 응용 프로그램의 활용 영역을 확대시킬 수 있다.
이동통신 단말기, 태스크, 가상머신

Description

이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법{SYSTEM METHOD FOR AN ENVIRONMENT EXECUTION TO RUN MULTIPLE VIRTUAL MACHINES ON THE MOBILE PHONE}
도 1은 종래의 가상머신을 구동시키는 이동통신 단말기에서의 실행 환경 시스템을 나타낸 도면,
도 2는 종래 기술에 의한 가상머신을 구동시키는 메모리의 내부 구조를 나타낸 도면,
도 3은 본 발명에 따라 다중 가상머신을 구동시키는 이동통신 단말기의 실행 환경 시스템을 나타낸 도면,
도 4는 본 발명에 따라 다중 가상머신을 구동시키기 위한 메모리의 내부 구조를 나타낸 도면,
도 5는 본 발명에 따라 이동통신 단말기에서 가상머신 구동용 실행 방법을 나타낸 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 다중 가상머신을 구동시키는 이동통신 단말기에서의 실행 환경 시스템
102 : 호스트 컴퓨터 운영체계(Host OS)
104 : 다수개의 태스크들(Task)
106, 106a, 106b, 106c : 제 1 내지 제 n가상머신들(VM)
108 : 응용 프로그램(APP)
110 : 가상머신 정보 관리자
112 : 호처리 관리자들(CM)
114 : 저장부(NV)
116 : 단문 메시지 서비스부(SMS)
본 발명은 이동통신 단말기에서 가상머신 구동용 실행 환경 시스템 및 그 실행 방법에 관한 것으로서, 특히 응용 프로그램을 실행하는 가상머신(VM : Virtual Machine)이 다중으로 구동될 수 있는 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법에 관한 것이다.
최근에는 이동통신 단말기의 기능이 날로 다양화되고 있는 추세에 따라 이동통신 단말기의 본연의 기능인 음성 호처리 외에 단문 메시지(SMS : Short Message Service) 전송, 폰북(phone book), 일정 관리, 계산기, 전화번호부, 게임(game) 등의 부가 기능과 인터넷 브라우징하는 기능 등이 추가되어 사용되고 있다. 또한, 이동통신 단말기에 추가 기능이 부가되는 경우, 부가되는 프로그램을 이용하기 위해서는 사용자가 직접 서비스 센터를 방문하여 해당 기능뿐만 아니라 이동통신단말기의 모든 프로그램을 새로이 업그레이드(up-grade)시켜야 하는 불편 함이 뒤따른다. 즉, 이동통신 단말기의 구조상 기능 변경을 위해서는 데이터 케이블을 이용해야 하므로 외부 인터페이스가 용이하지 못하고 개인 컴퓨터(PC)에서의 운영체제(DOS)나 윈도우즈(Windows)와 같은 일반화된 동적인 프로그램 환경이 제공되지 않기 때문에 이동통신 단말기의 제조업체에서 모든 소프트웨어(S/W)를 개발하고 사용자는 이를 직접서비스 센터에서 업그레이드 할 수밖에 없는 실정이다.
이와 같은 단점을 개선하기 위하여 GVM, JAVA, BREW 등과 같은 이동통신 단말기에 동적 환경을 제공하기 위한 프로그램이 개발되고 있다. 상기한 GVM은 mini-C, JAVA는 JAVA 언어로, BREW는 C 언어로 각각 작성된 응용 프로그램을 이동통신 단말기의 데이터 서비스를 통하여 사용자의 이동통신 단말기에 저장하여 사용할 수가 있는데, 현재 서비스되고 있는 응용 프로그램으로는 게임, 위치 정보, 증권, 노래방, 전자북(e-book) 등이 알려져 있다.
이러한 동적 환경을 제공하는 프로그램(GVM, JAVA, BREW 등)은 현재 이동통신 단말기의 메뉴에 의해 동작하며, 사용자가 원하는 응용 프로그램을 이용하고자 한다면 이동통신 단말기의 메뉴에서 동적 환경을 제공하는 프로그램을 구동하는 메뉴를 선택하고, 구동된 동적 프로그램이 가지는 응용 프로그램을 관리하는 방법에 따라 사용자가 원하는 응용 프로그램을 선택하여 사용하게 된다.
도 1은 종래의 가상머신을 구동시키는 이동통신 단말기에서의 실행 환경 시스템을 나타낸 도면이다.
도 1을 참조하면, 가상머신을 구동시키는 이동통신 단말기에서의 실행 환경 시스템(1)은 이동통신 단말기를 구동시키는 호스트 컴퓨터 운영체계(Host OS)(10)와, 호스트 컴퓨터 운영체계(Host OS)(10)의 신호에 따라 구동되는 독립된 다수개의 태스크들(Task)(12)과, 다운로딩 및 변경불가 영역내에 응용 프로그램(APP : APPlication program)(22)을 실행하는 가상머신(VM)(14)과, 호처리 관리자들(CM : Call Manager)(16)과, 단문 메시지 서비스부(SMS : Short Message Service)(18)와, 저장부(NV : Non Volatile)(20) 등을 포함한다. 여기서, 다운로딩 및 변경이 가능한 영역에 있는 응용 프로그램(APP)(22)은 프로그램을 추가 또는 삭제 구동할 수 있는 환경을 제공한다.
이와 같이 구성된 종래의 가상머신을 구동시키는 이동통신 단말기에서의 실행 환경 시스템에 있어서, 가상머신(VM)(14)의 구동 환경은 이동통신 단말기의 호스트 컴퓨터 운영체계(Host OS)(10)에 등록된 태스크들(Task)(12) 중에서 하나의 태스크에 의해 구동되는 구조이다. 이러한 가상머신(VM)(14)의 구동 태스크는 가상머신(VM)(14)내 시작 루틴을 호출함으로 실행된다.
도 2는 종래 기술에 의한 가상머신을 구동시키는 메모리의 내부 구조를 나타낸 도면이다.
도 2를 참조하면, 가상머신의 실행 이미지는 이동통신 단말기 실행 이미지(32)와 함께 롬(ROM : Read Only Memory) 영역(34)에 적재된다. 이동통신 단말기 실행 이미지와 가상머신 실행 이미지가 사용하는 전역 변수(global variable) 및 정적 변수(static variable)는 램(RAM : Random Access Memory) 영역(36)의 시작 부분에 위치하는 전역 및 정적 변수를 위해 할당된 전역 및 정적 변수 참조 영역(30)에 저장된다. 나머지 메모리 영역은 힙(heap) 및 스택(stack) 할당 영역(38)으로 사용되는데, 힙은 주소값이 작은 위치부터 시작하고 스택은 주소값이 높은 위치부터 시작한다.
가상머신의 실행은 이동통신 단말기 실행 이미지(32)가 가상머신 실행 이미지의 실행 루틴을 호출함으로써 이루어지고 호출시의 함수 스택은 힙 및 스택 할당 영역(38)에 쌓이게 된다.
그런데 가상머신의 구동에 관련된 전역 변수들과 정적 변수들은 도 1의 각 태스크들(Task)(12)이 공유하여 접근가능하므로 또 다른 태스크를 통해서 구동되는 가상머신은 먼저 구동되어 사용되고 있는 가상머신과 이들의 변수들을 공유해서 사용하게 되므로 각각 독립적으로 정상적인 동작을 할 수가 없었다. 따라서 종래의 이동통신 단말기는 동적 환경을 제공하는 프로그램의 다운로드 실행 환경을 구성하는 가상머신을 한 개밖에 동작시킬 수 없는 문제가 있었다.
본 발명의 목적은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 이동통신 단말기에서 같은 종류 또는 서로 다른 종류의 가상머신을 상호 독립적으로 다중 동작시킬 수 있는 실행 환경과 가상머신간에 통신이 가능한 구조를 갖도록 함으로써 이동통신 단말기에서 여러 응용 프로그램의 동시 동작이 가능하고 응용 프로그램간의 상호 동작을 통해서 다양한 응용 프로그램의 활용 영역을 확대시킬 수 있는 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법을 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명은 이동통신 단말기를 구동시키는 호스 트 컴퓨터 운영체계와, 호스트 컴퓨터 운영체계의 신호에 따라 구동되는 독립된 다수개의 태스크들과, 이동통신 단말기내 응용 프로그램들을 실행하는 제 1 내지 제 n가상머신들과, 가상머신과 태스크간의 메시지 정보를 주고받기 위한 메시지 인터페이스와, 가상머신을 동작시키고 있는 태스크에 대한 정보를 관리하고 가상머신들간의 메시지 통신을 관리하는 가상머신 정보 관리자를 포함한다.
상기 목적을 달성하기 위하여 본 발명은 임의의 가상머신의 구동에 대한 시작 요청이 호스트 컴퓨터 운영체계에서 특정 태스크에 불려지면, 해당 태스크는 로더 루틴의 실행 함수 프로그램을 호출하는 단계와, 해당 태스크내 로더에서 가상머신의 가상머신 실행 이미지를 로더 힙 영역에 복사하고, 가상머신 실행 이미지가 참조하는 전역 변수 및 정적 변수들을 로더 힙 영역으로 복사하는 단계와, 해당 태스크내 로더 힙 영역으로 복사된 가상머신 실행 이미지에서 참조하는 전역 변수 및 정적 변수들이 로더 힙 영역에 복사된 전역 및 정적 변수들을 참조하도록 가상머신 실행 이미지를 수정하는 단계와, 해당 태스크내 로더에서 내부 가상머신들을 관리하는 가상머신 정보 관리자에게 해당 가상머신에 대한 실행 정보를 등록하고 해당 가상머신의 실행 함수를 호출하는 단계를 포함한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 설명하고자 한다.
도 3은 본 발명에 따라 다중 가상머신을 구동시키는 이동통신 단말기의 실행 환경 시스템을 나타낸 도면이다.
도 3을 참조하면, 본 발명에 따라 다중 가상머신을 구동시키는 이동통신 단말기에서의 실행 환경 시스템(100)은 이동통신 단말기를 구동시키는 호스트 컴퓨터 운영체계(Host OS)(102)와, 호스트 컴퓨터 운영체계(Host OS)(102)의 신호에 따라 구동되는 독립된 다수개의 태스크들(Task)(104)과, 다운로딩 및 변경불가 영역내에 응용 프로그램들(APP)(108)을 실행하는 제 1 내지 제 n가상머신들(VM)(106a, 106b, 106c)(106)과, 호처리 관리자들(CM)(112)과, 저장부(NV)(114)와, 단문 메시지 서비스부(SMS)(116)와, 가상머신(VM)(106)과 태스크(Task)(104)간의 메시지 정보를 주고 받기 위한 메시지 인터페이스(105)와, 가상머신(VM)(106)을 동작시키고 있는 태스크(Task)(104)에 대한 정보를 관리하고 제 1 내지 제 n가상머신들(VM)(106a, 106b, 106c)(106)간의 메시지 통신을 관리하는 가상머신 정보 관리자(110) 등을 포함한다. 여기서, 다운로딩 및 변경이 가능한 영역에 있는 응용 프로그램(APP)(108)은 프로그램을 추가 또는 삭제 구동할 수 있는 환경을 제공한다.
이와 같이 구성된 본 발명에 따른 다중 가상머신을 구동시키는 이동통신 단말기에서의 실행 환경 시스템에 있어서, 가상머신(VM)(104)의 구동 환경은 이동통신 단말기의 호스트 컴퓨터 운영체계(Host OS)(102)에 등록된 태스크들(Task)(104) 중에서 하나의 태스크에 의해 구동되는 구조이다. 이러한 제 1 내지 제 n가상머신들(VM)(106a, 106b, 106c)(106)의 구동 태스크는 각 가상머신(VM)(106)내 시작 루틴을 호출함으로 실행된다.
그리고 본 발명은 이동통신 단말기의 호스트 컴퓨터 운영체계(Host OS)(102) 의 각 태스크(Task)(104)를 할당하여 각 가상머신(VM)(106)을 실행할 수 있고, 가상머신(VM)(106)간의 통신이 가능한데, 이를 위해서 메시지 인터페이스(105)와 가상머신 정보 관리자(110)가 사용된다.
한편 본 발명에 따른 이동통신 단말기에서 태스크 상에서 동작하는 가상머신들 사이의 메시지 통신은 다음과 같이 이루어진다.
그리고 본 발명은 이동통신 단말기의 호스트 컴퓨터 운영체계(Host OS)(102)의 각 태스크(Task)(104)를 할당하여 각 가상머신(VM)(106)을 실행할 수 있고, 가상머신(VM)(106)간의 통신이 가능한데, 이를 위해서 메시지 인터페이스(105)와 가상머신 정보 관리자(110)가 사용된다.
다수개의 가상머신들(VM)(106a, 106b, 106c)(106) 사이의 메시지 통신을 위해서는 각 가상머신(VM)(106)과 해당 가상머신(VM)(106)을 동작시키고 있는 태스크(Task)(104)간의 메시지 인터페이스(105)가 존재해야 한다. 메시지 인터페이스(105)는 가상머신(VM)(106)의 메시지를 하위 태스크에게 전달하는 역할과 하위 태스크를 통해서 전달되는 다른 가상머신(VM)(106)의 메시지를 해당 태스크의 가상머신(VM)(106)에게 전달하는 역할을 수행한다.
가상머신(VM)(106)과 태스크(Task)(104)간의 통신과 더불어서 태스크(Task)(104) 사이의 통신을 통해서 해당 메시지를 전달하고자하는 가상머신(VM)(106)에게 전달하는 과정은 가상머신 정보 관리자(110)를 통해서 이루어진다. 가상머신 정보 관리자(110)는 어떠한 태스크(Task)(104)에 어떠한 가상머신(VM)(106)이 동작하고 있는지에 대한 정보를 가지고 있다. 가상머신(VM)(106)으 로부터 전달되는 메시지를 해당 태스크(Task)(104)는 가상머신 정보 관리자(110)에게 전달한다. 가상머신 정보 관리자(110)는 받은 메시지의 내용을 분석하여 어떠한 태스크(Task)(104)에게 해당 메시지를 전달할지 결정한 뒤에 상기 메시지를 해당 태스크(Task)(104)에 전달한다. 그리고 태스크(Task)(104) 사이의 통신은 기존의 태스크간 통신 방법이 사용된다.
도 4는 본 발명에 따라 다중 가상머신을 구동시키기 위한 메모리의 내부 구조를 나타낸 도면이다.
도 4를 참조하면, 가상머신의 실행 루틴은 위치 독립 코드(PIC : Position Independent Code) 형태로 컴파일(compile)되어서 이동통신 단말기 바이너리 코드(binary code)와 같이 이동통신 단말기의 롬(ROM) 영역(124)에 적재된다. 롬(ROM) 영역(124)에는 이동통신 단말기 실행 이미지(122)가 가상머신의 실행 이미지와 함께 적재된다.
그리고 가상머신 이미지와 이동통신 단말기 실행 이미지(122)가 사용하는 전역 변수 및 정적 변수들은 램(RAM) 영역(126)의 시작 부분에 위치하는 전역 및 정적 변수를 위해 할당된 전역 및 정적 변수 참조 영역(120)에 저장된다. 그리고 이후 메모리 영역의 일정 부분은 로더 힙(loader heap) 영역(128)으로 할당되고 로더 힙 영역(128)으로 쓰이고 남은 나머지 메모리 영역은 힙 및 스택 할당 영역(130)으로 사용된다. 이때 힙은 주소값이 작은 위치부터 시작하고 스택은 주소값이 높은 위치부터 시작한다.
가상머신의 실행은 이동통신 단말기 실행 이미지(122)가 가상머신 실행 이미 지의 실행 루틴을 호출함으로써 이루어지고 호출시의 함수 스택은 힙 및 스택 할당 영역(130)에 쌓이게 된다.
더욱이 본 발명의 태스크 메모리내 로더(미도시됨)은 가상머신이 구동할 때 각 가상머신이 사용하는 전역 변수 및 정적 변수들을 서로 공유하지 못하도록 각 가상머신이 관리하는 전역 변수 및 정적 변수들, 가상머신 코드를 특정 메모리 영역, 즉 로더 힙 영역(128)으로 복사하고 메모리 레퍼런스(memory reference)를 참조하여 상기 변수들 및 심벌들을 처리한다.
도 5는 본 발명에 따라 이동통신 단말기에서 다중 가상머신 구동용 실행 방법을 나타낸 흐름도이다.
도 3 내지 도 5를 참조하면, 본 발명에 따라 이동통신 단말기에서 다중 가상머신 구동용 실행 방법은 다음과 같다.
제 1 내지 제 n가상머신들(VM)(106a. 106b, 106c)(106)에서 임의의 가상머신(VM)(106)의 구동에 대한 시작 요청이 호스트 컴퓨터 운영체계(Host OS)(102)에서 특정 태스크(Task)(104)에 불려지면, 해당 태스크(Task)(104)는 로더 루틴의 실행 함수 프로그램을 호출한다.(S100∼S102)
해당 태스크(Task)(104)내 로더는 가상머신 실행 이미지를 로더 힙 영역(128)에 복사하고, 가상머신 실행 이미지가 참조하는 전역 변수 및 정적 변수들을 전역 및 정적 변수 참조 영역(120)에서 로더 힙 영역(128)으로 복사한다.(S104∼S106)
복사한 뒤에는 해당 태스크(Task)(104)내 로더 힙 영역(128)으로 복사된 가 상머신 실행 이미지에서 참조하는 전역 변수 및 정적 변수들이 로더 힙 영역(128)에 복사된 전역 및 정적 변수들을 참조하도록 가상머신 실행 이미지를 수정(즉 변환)한다.(S108)
해당 태스크(Task)(104)내 로더는 내부 가상머신들(VM)(106)을 관리하는 가상머신 정보 관리자(110)에게 해당 가상머신(VM)(106)에 대한 실행 정보를 넘겨주어 등록하고, 실행 정보의 전달이 완료되면 로더는 해당 가상머신의 실행 함수를 호출함으로써 구동된다.
한편 본 발명에 따라 이동통신 단말기에서 임의의 가상머신, 예컨대 제 1가상머신(VM)(106a)이 실행된 상태에서 새로운 제 2가상머신(VM)(106b)이 실행되는 과정은 다음과 같다.
제 1가상머신(VM)(106a)을 실행시키고 있는 해당 태스크(Task)(104)와 다른 태스크(Task)(104)가 제 2가상머신(VM)(106b)의 구동을 요청받게 된다. 제 2가상머신(VM)(106b)의 구동을 요청 받은 다른 태스크(Task)(104)는 다시 로더 루틴을 호출하고 로더 루틴은 도면 4와 같이 해당 제 2가상머신(VM)(106b)에서 사용하는 가상머신 실행 이미지가 참조하는 전역 변수 및 정적 변수들을 제 1가상머신(VM)(106a)이 존재하는 메모리 영역이외의 로더 힙 영역(128)에 복사하고 해당 옮겨진 메모리 주소에 따라서 해당 가상머신 실행 이미지의 각종 메모리 참조 값들을 수정한다. 그 다음에 로더 프로그램은 가상머신 정보 관리자(110)에게 새로운 제 2가상머신(VM)(106b)에 대한 실행 정보를 넘겨주고 그 등록 상황을 알려 주어 새로운 제 2가상머신(VM)(106b)의 실행 함수를 호출한다.
또 본 발명은 제 1 내지 제 n가상머신들(VM)(106a, 106b, 106c)(106)은 각각 해당 태스크(Task)(104)의 제어하에서 동작하게 되므로 해당 가상머신(VM)(106)의 스케줄링은 태스크(Task)(104)를 스케줄링하는 것과 같게 된다. 그러므로 본 발명에 구비된 다수개의 가상머신들(VM)(106a, 106b, 106c)(106)에 대한 별도의 스케줄링 코드가 필요하지 않게 된다.
이상 설명한 바와 같이, 본 발명은 이동통신 단말기에서 같은 종류 또는 서로 다른 종류의 가상머신을 상호 독립적으로 다중 동작시킬 수 있는 실행 환경과 가상머신간에 통신이 가능한 구조를 갖도록 함으로써 이동통신 단말기에서 여러 응용 프로그램의 동시 동작이 가능하고 응용 프로그램간의 상호 동작을 통해서 다양한 응용 프로그램의 활용 영역을 확대시킬 수 있다.
한편, 본 발명은 상술한 실시예에 국한되는 것이 아니라 후술되는 청구범위에 기재된 본 발명의 기술적 사상과 범주내에서 당업자에 의해 여러 가지 변형이 가능하다.

Claims (4)

  1. 이동통신 단말기를 구동시키는 호스트 컴퓨터 운영체계와,
    상기 호스트 컴퓨터 운영체계의 신호에 따라 구동되며, 상기 이동통신 단말기내 응용 프로그램 실행을 위한 가상머신 실행 이미지를 저장하고 상기 가상머신 실행 이미지가 참조하는 전역 변수 및 정적 변수들이 복사되는 로더 힙 영역의 메모리 영역을 구비하는 독립된 다수개의 태스크들과,
    상기 이동통신 단말기내 응용 프로그램들을 실행하는 제 1 내지 제 n가상머신들과,
    상기 가상머신과 태스크간의 메시지 정보를 주고받기 위한 메시지 인터페이스와,
    상기 가상머신을 동작시키고 있는 태스크에 대한 정보를 관리하고 상기 가상머신들간의 메시지 통신을 관리하는 가상머신 정보 관리자
    를 포함하는 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템.
  2. 삭제
  3. 삭제
  4. 임의의 가상머신의 구동에 대한 시작 요청이 호스트 컴퓨터 운영체계에서 특정 태스크에 불려지면, 해당 태스크는 로더 루틴의 실행 함수 프로그램을 호출하는 단계와,
    상기 해당 태스크내 로더에서 상기 가상머신의 가상머신 실행 이미지를 로더 힙 영역에 복사하고, 상기 가상머신 실행 이미지가 참조하는 전역 변수 및 정적 변수들을 로더 힙 영역으로 복사하는 단계와,
    상기 해당 태스크내 로더 힙 영역으로 복사된 가상머신 실행 이미지에서 참조하는 전역 변수 및 정적 변수들이 로더 힙 영역에 복사된 전역 및 정적 변수들을 참조하도록 가상머신 실행 이미지를 수정하는 단계와,
    상기 해당 태스크내 로더에서 내부 가상머신들을 관리하는 가상머신 정보 관리자에게 해당 가상머신에 대한 실행 정보를 등록하고 해당 가상머신의 실행 함수를 호출하는 단계
    를 포함하는 이동통신 단말기에서 다중 가상머신 구동용 실행 방법.
KR1020030094695A 2003-12-22 2003-12-22 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법 KR100661637B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030094695A KR100661637B1 (ko) 2003-12-22 2003-12-22 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030094695A KR100661637B1 (ko) 2003-12-22 2003-12-22 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법

Publications (2)

Publication Number Publication Date
KR20050063304A KR20050063304A (ko) 2005-06-28
KR100661637B1 true KR100661637B1 (ko) 2006-12-27

Family

ID=37255170

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030094695A KR100661637B1 (ko) 2003-12-22 2003-12-22 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법

Country Status (1)

Country Link
KR (1) KR100661637B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132362A1 (en) * 2003-12-10 2005-06-16 Knauerhase Robert C. Virtual machine management using activity information
KR100772867B1 (ko) 2006-02-23 2007-11-02 삼성전자주식회사 복수의 애플리케이션에 대해 부분적으로 분리된 수행환경을 제공하는 방법 및 이를 이용한 디지털 정보 기기
US8798056B2 (en) * 2007-09-24 2014-08-05 Intel Corporation Method and system for virtual port communications
KR101104454B1 (ko) * 2010-06-29 2012-01-12 삼성에스디에스 주식회사 백그라운드에서 사용자용 가상머신의 상태를 설정할 수 있는 단말장치와 그 방법
KR101531833B1 (ko) * 2013-11-14 2015-06-26 주식회사 알투소프트 모바일 가상화 환경에서 스마트워크 보안 프레임워크 지원을 위한 다중 채널 제공 방법 및 장치
WO2017161572A1 (zh) * 2016-03-25 2017-09-28 深圳前海达闼云端智能科技有限公司 一种通信方法、装置、电子设备和程序产品

Also Published As

Publication number Publication date
KR20050063304A (ko) 2005-06-28

Similar Documents

Publication Publication Date Title
US8490070B2 (en) Unified mobile platform
RU2473111C1 (ru) Способ динамической компоновки программы на встроенной платформе и встроенная платформа
CA2145923C (en) Computer operating system providing means for formatting information in accordance with specified cultural preferences
JP3659062B2 (ja) 計算機システム
US7895594B2 (en) Virtual machine extended capabilities using application contexts in a resource-constrained device
US7127709B2 (en) System and method for jointly managing dynamically generated code and data
JP2004005419A (ja) インストール処理装置、処理方法及び記憶媒体ならびにプログラム
US7162711B2 (en) Method of automatically virtualizing core native libraries of a virtual machine
KR20070083569A (ko) 운영체제
US20040015960A1 (en) Method for loading and executing an application in an embedded environment
JP2009163508A (ja) 情報処理装置及びプログラム
US20060248508A1 (en) Method and system for applet extensibility application program interface (API)
KR100661637B1 (ko) 이동통신 단말기에서 다중 가상머신 구동용 실행 환경 시스템 및 그 실행 방법
CN113986543A (zh) 内存释放方法、装置、设备及存储介质
JP2007510211A (ja) コンピュータ装置におけるダイナミック・リンク・ライブラリのマッピング
KR100803290B1 (ko) 무선 센서 네트워크 환경에서 프로그램을 변경하기 위한확장 가능한 가상 머신 및 이를 이용한 리프로그래밍 방법
JP2003216434A (ja) 小型情報機器において、ユーザプロファイルデータの活用により、ダウンロードプログラムの最適化を図る方法およびシステム。
US7328436B2 (en) Dynamic allocation of internal memory at runtime
US7958496B2 (en) Method of and system for application service exchange across different execution environments
KR100767785B1 (ko) 모바일 단말기용 어플리케이션 갱신 시스템
US8584148B2 (en) Terminal device and program
US8181188B2 (en) Version resiliency for a host application and managed code
JP2000298592A (ja) プログラムコンポーネントアクセス装置及びプログラムコンポーネントアクセス方法
CN112306539A (zh) 一种单片机应用层开发方法、系统、终端及介质
KR101058182B1 (ko) 애플리케이션 다운로드 서비스 시스템 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee