[go: up one dir, main page]

KR100821261B1 - Method for realizing multi-tasking of mobile terminal - Google Patents

Method for realizing multi-tasking of mobile terminal Download PDF

Info

Publication number
KR100821261B1
KR100821261B1 KR1020070046057A KR20070046057A KR100821261B1 KR 100821261 B1 KR100821261 B1 KR 100821261B1 KR 1020070046057 A KR1020070046057 A KR 1020070046057A KR 20070046057 A KR20070046057 A KR 20070046057A KR 100821261 B1 KR100821261 B1 KR 100821261B1
Authority
KR
South Korea
Prior art keywords
interrupt
mobile communication
memory
application
communication terminal
Prior art date
Application number
KR1020070046057A
Other languages
Korean (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 KR1020070046057A priority Critical patent/KR100821261B1/en
Application granted granted Critical
Publication of KR100821261B1 publication Critical patent/KR100821261B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

이동통신 단말기용 멀티 태스킹 구현 방법이 제공된다. A method for implementing multitasking for a mobile communication terminal is provided.

본 발명의 일 실시예에 따른 이동통신 단말기용 멀티 태스킹 구현 방법은, 복수개의 어플리케이션(application)이 시스템 상에 로딩(loading)되는 시스템 로딩 단계, 로딩되는 어플리케이션의 수에 대응되도록 힙(heap) 메모리를 할당하는 힙 메모리 할당 단계, 힙 메모리 관리자(heap memory manager)에 의해 어플리케이션이 로딩되는 메모리 로딩 단계, 시스템 코드 관리자(system code manager)에 의해 어플레케이션이 풀링(pooling)되는 풀링 단계, 어플리케이션의 로딩, 풀링이 완료되면 인터럽트(interrupt)를 호출하는 인터럽트 호출 단계 및 인터럽트의 호출이 이루어지면 1회 인터럽트 시간 동안의 메모리 이동 및 UI(User Interface) 변경을 계산하고 이를 반영하는 계산 및 반영 단계를 포함한다.In accordance with another aspect of the present invention, there is provided a method for implementing multitasking for a mobile communication terminal, the system including a system loading step in which a plurality of applications are loaded on a system, and a heap memory so as to correspond to the number of applications loaded. Heap memory allocation step of allocating a memory, a memory loading step of loading an application by a heap memory manager, a pooling step of pooling an application by a system code manager, Interrupt calling step that calls interrupt when loading and pooling is completed, and calculating and reflecting step that calculate and reflect memory movement and user interface (UI) change during one interrupt time when interrupt is called do.

여기서, 본 발명의 실시예에 따른 이동통신 단말기용 멀티 태스킹 구현 방법은, 상기 인터럽트 호출 단계 이후 인터럽트의 호출이 이루어지지 않을 경우, 차기 인터럽트 차례(next interrupt turn)까지 대기하는 대기 단계를 더 포함할 수 있다.Here, the multi-tasking implementation method for a mobile communication terminal according to an embodiment of the present invention, if the interrupt is not called after the interrupt call step, the method further comprises a waiting step of waiting until the next interrupt turn (next interrupt turn) Can be.

Description

이동통신 단말기용 멀티 태스킹 구현 방법{Method for realizing multi-tasking of mobile terminal}Implementation method for multi-tasking for mobile terminal {Method for realizing multi-tasking of mobile terminal}

도 1은 종래 기술에 따른 이동통신 단말기용 멀티 태스킹 구현 방법을 나타낸 설명도이다.1 is an explanatory diagram showing a multi-tasking implementation method for a mobile communication terminal according to the prior art.

도 2는 본 발명의 일 실시예에 따른 이동통신 단말기용 멀티 태스킹 구현 방법을 나타낸 설명도이다.2 is an explanatory diagram showing a multi-tasking implementation method for a mobile communication terminal according to an embodiment of the present invention.

본 발명은 이동통신 단말기용 멀티 태스킹 구현 방법에 관한 것으로, 더욱 상세하게는, 다수 어플리케이션의 동시 구동에 있어, 메모리 공유 및 불필요한 시간 점유 최소화 등을 통해 보다 효율적인 멀티 태스킹의 실현이 가능할 수 있도록 개량된, 이동통신 단말기용 멀티 태스킹 구현 방법에 관한 것이다. The present invention relates to a method for implementing multi-tasking for a mobile communication terminal, and more particularly, to simultaneously implement a plurality of applications, and to improve the realization of more efficient multi-tasking through memory sharing and minimizing unnecessary time occupancy. The present invention relates to a multitasking implementation method for a mobile communication terminal.

급속한 정보통신 사회로의 발전으로 인해 인터넷 및 이동통신이 현대를 살아 가는 사람에게 없어서는 아니될 필수품과 같은 기능을 수행하게 된 지 이미 오래이다.It has been a long time since the rapid development of the information and telecommunications society has enabled the Internet and mobile communication to function as an indispensable necessity for people living in modern times.

특히, 이동통신 기술은 정보통신 기술분야에 있어 첨단기술의 집약적 형태로 급부상됨으로써, 다양한 기술산업의 분화 및 이로 인한 막대한 규모의 부가가치를 창출하고 있다. In particular, the mobile communication technology is rapidly emerging as an intensive form of high technology in the field of information and communication technology, thereby creating the diversification of various technology industries and the added value of the enormous scale.

이러한 추세에 발맞춰, 대다수의 국민들이 적어도 하나 이상의 개인용 모바일(mobile) 단말기를 소지하게 되었으며, 이에 따라, 이동통신용 단말기 자체 시장 및 단말기 관련 부가 서비스 시장의 규모도 급속도로 팽창되고 있는 게 현실이다.In line with this trend, the majority of people have at least one personal mobile terminal, and accordingly, the scale of the mobile communication terminal itself market and terminal related supplementary services market is rapidly expanding.

이동통신 단말기 또한, 초기의 단순 통화 위주의 기능에서 벗어나 점차 고기능화 되어 가고 있는 추세인데, 현재 거의 대부분의 이동통신 단말기는 각종 오디오 또는 이미지 파일 등을 재생하거나, 사진 및 동영상 등을 촬영하기 위한 다양한 기능들을 탑재하고 있다. 그리고, 이와 같은 이동통신 단말기의 고기능화로 인해 복수개 어플리케이션(application)의 동시 처리가, 이동통신 단말기와 관련한 주요 이슈로 등장하게 되었다.In addition, mobile communication terminals are gradually becoming more functional than the initial simple call-oriented functions. Currently, almost all mobile communication terminals play various audio or image files, or take various functions for taking pictures and videos. It is mounted. In addition, due to the high functionality of the mobile communication terminal, simultaneous processing of a plurality of applications has emerged as a major issue related to the mobile communication terminal.

도 1은 종래 기술에 따른 이동통신 단말기용 멀티 태스킹 구현 방법을 나타낸 설명도이다.1 is an explanatory diagram showing a multi-tasking implementation method for a mobile communication terminal according to the prior art.

도 1을 참조하면, 종래 일반적으로 사용되는 이동통신 단말기의 멀티 태스킹 구현 방법은 인터럽트(interrupt) 방식에 의해 이루어짐을 알 수 있다. 다시 말해, 도 1과 같이 N개의 어플리케이션(application)이 동시에 구동되고 있는 이동통신 단말기는, 해당 프로그램 별로 각각의 구별된 메모리 영역을 할당한 후 인터럽트 호출(interrupt calling)이 발생되는 경우에 한해 LCD 상에 해당 프로그램의 UI(User Interface)를 반영하는 방식으로 동작된다.Referring to FIG. 1, it can be seen that a multitasking implementation method of a conventionally used mobile communication terminal is performed by an interrupt method. In other words, as shown in FIG. 1, a mobile communication terminal in which N applications are simultaneously driven is allocated only when an interrupt calling occurs after allocating a separate memory area for each corresponding program. It operates in a manner that reflects the UI (User Interface) of the program.

즉, 순차적으로 호출되는 인터럽트 구동에 따라 각각의 프로그램이 순차적으로 실행되는 것인데, 이 경우, 가령 m번째 어플리케이션이 과도하게 시스템 성능을 점유하게 된다면 시스템의 전체적인 성능을 저하시키거나, 심지어는 시스템이 정지된 것처럼 보이도록 하는 등의 문제점을 유발시킬 소지가 크다. In other words, each program is executed sequentially according to the sequentially driven interrupts. In this case, for example, if the m-th application becomes excessively occupied by the system, the overall performance of the system may be reduced or even the system may stop. It is likely to cause problems such as making it appear to be correct.

왜냐하면, 멀티 어플리케이션이 각각 동작하게 되면 별도의 디바이스 인터럽트(device interrupt)를 통해 단말기로부터 시그널(signal)을 할당받아야 하는데, 이때 어느 하나의 어플레케이션이 과도한 인터럽트를 요청하게 되면 시스템 과부하의 발생으로 인해 이동통신 단말기가 부정확한 동작 등을 나타낼 수 있게 되기 때문이다.This is because, when each multi-application operates, a signal must be allocated from the terminal through a separate device interrupt. At this time, if one application requests excessive interruption, it may occur due to system overload. This is because the mobile communication terminal may exhibit incorrect operation or the like.

또한, 기본적인 로드 메모리(load memory)를 반복하여 로딩하는 과정으로 인한 시간 점유율의 불필요한 증가를 유발하게 된다는 문제점도 발생시킨다.In addition, a problem arises that an unnecessary increase in time occupancy is caused by a process of repeatedly loading a basic load memory.

그리고, 동작중인 어플리케이션의 수만큼 구별되는 각각의 메모리 영역을 구분지어 관리해야 하기 때문에, 메모리 매니저(memory manager) 프로그램을 통한 효율적인 메모리 자원의 관리에 어려움이 따른다는 등의 문제점도 지속적으로 존재해 왔다.In addition, since each memory area distinguished by the number of running applications must be divided and managed, problems such as difficulty in efficiently managing memory resources through a memory manager program have been continuously present. .

본 발명이 이루고자 하는 기술적 과제는, 다수 어플리케이션의 동시 구동에 있어, 메모리 공유 및 불필요한 시간 점유 최소화 등을 통해 보다 효율적인 멀티 태스킹의 실현이 가능할 수 있도록 개량된, 이동통신 단말기용 멀티 태스킹 구현 방법을 제공하기 위한 것이다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a multi-tasking implementation method for a mobile communication terminal, which is improved to enable more efficient multi-tasking through sharing memory and minimizing unnecessary time in simultaneously running multiple applications. It is to.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다. The objects of the present invention are not limited to the above-mentioned objects, and other objects which are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 이동통신 단말기용 멀티 태스킹 구현 방법은, 복수개의 어플리케이션(application)이 시스템 상에 로딩(loading)되는 시스템 로딩 단계, 로딩되는 어플리케이션의 수에 대응되도록 힙(heap) 메모리를 할당하는 힙 메모리 할당 단계, 힙 메모리 관리자(heap memory manager)에 의해 어플리케이션이 로딩되는 메모리 로딩 단계, 시스템 코드 관리자(system code manager)에 의해 어플레케이션이 풀링(pooling)되는 풀링 단계, 어플리케이션의 로딩, 풀링이 완료되면 인터럽트(interrupt)를 호출하는 인터럽트 호출 단계 및 인터럽트의 호출이 이루어지면 1회 인터럽트 시간 동안의 메모리 이동 및 UI(User Interface) 변경을 계산하고 이를 반영하는 계산 및 반영 단계를 포함한다.In order to achieve the above object, a multi-tasking implementation method for a mobile communication terminal according to an embodiment of the present invention, a system loading step of loading a plurality of applications (application) on the system, the number of applications to be loaded The heap memory allocation step of allocating heap memory to correspond, the memory loading step in which the application is loaded by the heap memory manager, and the application pooling by the system code manager. Calculate and reflect memory movement and user interface (UI) changes during one interrupt time when the pooling phase, the application loading, the interrupt invocation phase calling an interrupt when pooling is completed, and the interrupt is called Calculation and reflection steps.

이때, 본 발명의 실시예에 따른 이동통신 단말기용 멀티 태스킹 구현 방법은, 인터럽트 호출 단계 이후 인터럽트의 호출이 이루어지지 않을 경우, 차기 인터럽트 차례(next interrupt turn)까지 대기하는 대기 단계를 더 포함하여 구성될 수 있다.In this case, the method for implementing multi-tasking for a mobile communication terminal according to an embodiment of the present invention further includes a waiting step of waiting for the next interrupt turn when the interrupt is not called after the interrupt call step. Can be.

여기서, 상기 메모리 로딩 단계에 있어 각각의 어플리케이션의 구동에 필요한 중복 코드는, 해당 어플리케이션 사이에 상호 공유되도록 하는 것이 보다 바람직하다.Here, in the memory loading step, it is more preferable that duplicate codes required for driving each application are shared among the corresponding applications.

또한, 상기 메모리 로딩 단계는, 각각의 구동 어플리케이션에 대한 기본 바이너리 코드(base binary code)만의 로딩을 통해 이루어지도록 구성되는 것이 좋다.The memory loading step may be configured to be performed by only loading base binary code for each driving application.

그리고, 본 발명의 실시예에 따른 이동통신 단말기용 멀티 태스킹 구현 방법에 적용되는 상기 계산 및 반영 단계의 상기 인터럽트의 호출 관리는, 단일의 메인 프로그램을 통해 수행되는 것이 바람직할 수 있으며, 상기 UI에 반영되는 프레임(frame)의 수는, 각각의 어플리케이션에 적합하도록 선별 반영 가능한 것이 좋다.In addition, the call management of the interrupt in the calculation and reflection steps applied to the multi-tasking implementation method for a mobile communication terminal according to an embodiment of the present invention may be preferably performed through a single main program. The number of frames to be reflected may be selectively reflected to suit each application.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발 명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있을 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것으로, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be embodied in various forms, and the present embodiments are merely provided to make the disclosure of the present invention complete and to provide a general knowledge of the present invention. It is provided to fully inform the person having the scope of the invention, the invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 이동통신 단말기용 멀티 태스킹 구현 방법을 나타낸 설명도이다.2 is an explanatory diagram showing a multi-tasking implementation method for a mobile communication terminal according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 이동통신 단말기용 멀티 태스킹 구현 방법은, 먼저, 복수개의 어플리케이션(application)이 시스템 상에 로딩(loading)되는 단계(210)로부터 시작된다.As shown in FIG. 2, the method for implementing multi-tasking for a mobile communication terminal according to an embodiment of the present invention begins with a step 210 in which a plurality of applications are loaded on a system. .

복수개의 어플리케이션이 시스템 상에 로딩(210)되면, 다음 이에 대응되도록 힙(heap) 메모리를 할당하는 단계(220)를 수행한 후, 힙 메모리 관리자(heap memory manager)에 의해 각각의 어플리케이션을 로딩(230)시키게 된다.When a plurality of applications are loaded 210 on the system, after performing a step 220 of allocating heap memory to correspond to the next, load each application by a heap memory manager ( 230).

여기서, 힙 메모리 관리자에 의한 어플리케이션의 로딩(230)은, 각각의 구동 어플리케이션에 대한 기본 바이너리 코드(base binary code)만의 로딩을 통해 이루어지도록 구성될 수 있는데, 이에 따라, 복수개의 어플리케이션이 구동되는 경우라도 이는 내부적으로 관리될 뿐이며, 실질적인 메모리 상에는 '벡터 & 비트맵 이미 지 스냅샷'과 '벡터 & 비트맵 이미지 모션' 정보용 영역 정도만 추가 할당되는 것으로 충분하다.In this case, the loading of the application 230 by the heap memory manager may be configured to be performed by only loading base binary code for each driving application, and thus, when a plurality of applications are driven. Even though this is only managed internally, it is sufficient to allocate additional space for 'vector & bitmap image snapshot' and 'vector & bitmap image motion' information on the actual memory.

또한, 각각의 어플리케이션의 구동에 필요한 중복 코드는, 1회의 로딩을 통해 해당 어플리케이션 사이에 상호 공유되도록 함으로써, 메모리의 공간 활용이나 로딩 시간 할당을 효율적으로 이용할 수 있도록 하였다.In addition, the redundant code required to drive each application is shared among the corresponding applications through one load, thereby efficiently utilizing the space utilization of the memory and the allocation of the load time.

다시 말해, 앞서 도 1을 통해 설명한 종래 기술에 따른 멀티 태스킹 구현 방법의 경우, N개의 어플리케이션을 구동시키기 위해서는 N * (Base code binary size)의 메모리 중복 사용이 발생될 수밖에 없지만, 본 발명의 실시예를 적용할 경우, 복수개의 어플리케이션을 구동시키는 경우라도 1회의 (Base code binary size)가 사용되는 것만으로 충분하게 된다.In other words, in the multitasking implementation method according to the related art described above with reference to FIG. 1, in order to drive N applications, memory redundancy of N * (Base code binary size) is inevitably generated, but embodiments of the present invention Is applied, it is enough that only one (base code binary size) is used even when running a plurality of applications.

그러므로, 본 발명의 실시예에 따른 멀티 태스킹 구현 방법은, 현재 시중에 유통되고 있는 대부분의 이동통신용 단말기의 최소 사양 환경에서도 구동 가능함을 알 수 있다.Therefore, it can be seen that the multi-tasking implementation method according to the embodiment of the present invention can be driven even in the minimum specification environment of most mobile communication terminals in the market.

힙 메모리 관리자에 의해 어플리케이션의 로딩(230)이 이루어짐과 동시에 시스템 코드 관리자(system code manager)에 의한 어플레케이션 풀링(pooling) 단계(240)의 수행이 이루어진다.The application 230 is loaded by the heap memory manager, and the application pooling step 240 is performed by the system code manager.

그리고, 상기의 로딩(230)과 풀링(240) 단계가 완료되면 인터럽트를 호출하는 인터럽트 호출 단계(250)를 수행하게 된다.When the loading 230 and pooling 240 steps are completed, an interrupt call step 250 for calling an interrupt is performed.

여기서, 인터럽트의 호출(250)에 대응되도록 인터럽트가 발생되면, 각각의 어플리케이션에 대해 1회 인터럽트 시간 동안의 메모리 이동을 계산(260)함과 동시 에 동 기간 동안의 UI(User Interface) 변경을 계산(265)한 후 이를 반영(270)시키게 된다. Here, when an interrupt is generated so as to correspond to the call of the interrupt 250, the memory movement during the interrupt time is calculated 260 for each application, and at the same time, the UI (User Interface) change is calculated during the same period. After 265, this is reflected (270).

이때, 이러한 인터럽트의 호출 관리 및 계산, 반영 등의 과정은 단일의 메인 프로그램을 통해 수행되도록 구성되는 것이 바람직한데, 이 경우, 각각의 어플리케이션이 상호 커뮤니케이션(communication)할 수 있게 되어 별도의 시스템 인터럽트 호출이 이루어지지 않아도 되기 때문에, 연동 가능한 어플리케이션의 수 및 각각의 어플리케이션의 퍼포먼스(performance)를 증가시키는 등의 효과를 유발할 수 있게 된다.At this time, it is preferable that the processes such as call management, calculation, and reflection of interrupts are performed through a single main program. In this case, each application can communicate with each other to call a separate system interrupt. Since this does not have to be done, effects such as increasing the number of interoperable applications and the performance of each application can be induced.

또한, 1회의 인터럽트 발생에 의해 현재 구동중인 복수개 어플리케이션이 동시 다발적으로 UI를 통해 반영될 수 있게 됨으로써, 사용자로 하여금 실질적인 멀티태스킹으로 인식하도록 한다는 등의 효과도 갖는다.In addition, a plurality of applications that are currently running can be reflected simultaneously through the UI by one interrupt occurrence, so that the user can recognize the user as the actual multitasking.

한편, 단일의 프로그램을 통해 인터럽트 호출 기간 동안 어플리케이션의 UI 변경을 위한 프레임(frame)의 수의 계산이 이루어지기 때문에, 각각의 어플리케이션 별로 가장 적합한 프레임 수를 선별 반영할 수 있게 됨으로써, 시스템 최적화 적용이 가능하게 된다는 등의 장점을 갖는다.On the other hand, since a single program calculates the number of frames for changing the UI of the application during the interrupt invocation period, it is possible to selectively reflect the most suitable number of frames for each application, thereby applying system optimization. It is possible to be able to.

마지막으로, 인터럽트 호출 단계(250) 이후 인터럽트의 호출이 이루어지지 않을 경우, 차기 인터럽트 차례(next interrupt turn)까지 대기하는 단계(280)를 더 수행할 수 있다.Finally, if an interrupt call is not made after the interrupt call step 250, step 280 of waiting for the next interrupt turn may be further performed.

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해되어야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, the embodiments described above are to be understood in all respects as illustrative and not restrictive.

상기한 바와 같은 본 발명의 이동통신 단말기용 멀티 태스킹 구현 방법에 따르면, 메인 프로그램에서 인터럽트를 관리하면서, 공유된 메모리를 이용하여 복수개의 어플리케이션을 동시에 관리할 수 있게 되었다.According to the multi-tasking implementation method for a mobile communication terminal of the present invention as described above, it is possible to manage a plurality of applications at the same time using a shared memory, while managing the interrupt in the main program.

이에 따라, 각각의 프로그램의 구동시 중복적으로 로딩되는 자원을 최소화 시킬 수 있어, 이에 따른 프로그램 구동의 시간 점유를 획기적으로 단축시킬 수 있게 되었다는 장점이 있다.Accordingly, it is possible to minimize the resources that are redundantly loaded during the driving of each program, it has the advantage that it can significantly reduce the time occupancy of the program driving accordingly.

또한, 1회의 인터럽트 발생에 의해 현재 구동중인 복수개 어플리케이션이 동시 다발적으로 UI를 통해 반영될 수 있게 됨으로써, 사용자로 하여금 실질적인 멀티태스킹으로 인식할 수 있도록 한다는 장점도 있다.In addition, a plurality of applications that are currently running can be reflected through the UI simultaneously by one interrupt occurrence, so that the user can recognize the user as the actual multitasking.

또한, 제한된 이동통신 단말기의 메모리 용량 내에서 단일의 관리 시스템에 의해 힙 메모리의 관리가 이루어지게 됨으로써 시스템의 안정성을 향상시킬 수 있게 되었다는 장점도 있다.In addition, since the heap memory is managed by a single management system within the limited memory capacity of the mobile communication terminal, the stability of the system can be improved.

또한, 각각의 어플리케이션에 대해 관리 시스템이 구동되기 위한 기본 바이너리 코드만을 로딩하기 때문에, 메모리 자원의 효율적인 활용이 가능할 수 있게 되었다는 장점도 있다.In addition, since only the basic binary code for running the management system for each application is loaded, there is an advantage that it is possible to efficiently use the memory resources.

그리고, UI에 반영되는 프레임(frame)의 수는, 각각의 어플리케이션에 적합하도록 선별 반영 가능하기 때문에, 시스템에 최적화된 적용이 가능할 수 있게 되었다는 등의 다양한 장점도 있다.In addition, since the number of frames reflected in the UI can be selectively reflected to suit each application, there are various advantages, such that an application optimized for the system can be enabled.

Claims (6)

복수개의 어플리케이션(application)이 시스템 상에 로딩(loading)되는 시스템 로딩 단계;A system loading step in which a plurality of applications are loaded on the system; 상기 로딩되는 어플리케이션의 수에 대응되도록 힙(heap) 메모리를 할당하는 힙 메모리 할당 단계;A heap memory allocation step of allocating a heap memory to correspond to the number of the loaded applications; 힙 메모리 관리자(heap memory manager)에 의해 상기 어플리케이션이 로딩되는 메모리 로딩 단계;A memory loading step in which the application is loaded by a heap memory manager; 시스템 코드 관리자(system code manager)에 의해 상기 어플레케이션이 풀링(pooling)되는 풀링 단계;A pooling step in which the application is pooled by a system code manager; 상기 어플리케이션의 로딩 및 풀링이 완료되면 인터럽트(interrupt)를 호출하는 인터럽트 호출 단계; 및An interrupt call step of calling an interrupt when loading and pooling of the application is completed; And 상기 인터럽트의 호출이 이루어지면 1회 인터럽트 시간 동안의 메모리 이동 및 UI(User Interface) 변경을 계산하고 이를 반영하는 계산 및 반영 단계를 포함하는 이동통신 단말기용 멀티 태스킹 구현 방법.And calculating and reflecting a memory movement and a UI change during the one interrupt time when the interrupt is called. 제 1 항에 있어서,The method of claim 1, 상기 인터럽트 호출 단계 이후 인터럽트의 호출이 이루어지지 않을 경우, 차기 인터럽트 차례(next interrupt turn)까지 대기하는 대기 단계를 더 포함하는 이 동통신 단말기용 멀티 태스킹 구현 방법.If the interrupt is not called after the interrupt call step, the multi-tasking implementation method for a mobile communication terminal further comprising a waiting step to wait until the next interrupt turn (next interrupt turn). 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 메모리 로딩 단계에 있어 각각의 어플리케이션의 구동에 필요한 중복 코드는, 해당 어플리케이션 사이에 상호 공유되도록 하는 것을 특징으로 하는 이동통신 단말기용 멀티 태스킹 구현 방법.The method for implementing multi-tasking for a mobile communication terminal, wherein the redundant codes necessary for driving each application in the memory loading step are shared among the corresponding applications. 제 3 항에 있어서,The method of claim 3, wherein 상기 메모리 로딩 단계는, 상기 각각의 구동 어플리케이션에 대한 기본 바이너리 코드(base binary code)의 로딩을 통해 이루어지는 것을 특징으로 하는 이동통신 단말기용 멀티 태스킹 구현 방법.The memory loading step, the multi-tasking implementation method for a mobile communication terminal, characterized in that the loading through the base binary code (base binary code) for each of the driving application. 제 4 항에 있어서,The method of claim 4, wherein 상기 계산 및 반영 단계에 있어 상기 인터럽트의 호출 관리는 단일의 메인 프로그램을 통해 수행되는 것을 특징으로 하는 이동통신 단말기용 멀티 태스킹 구현 방법.Call management of the interrupt in the calculating and reflecting step is a multi-tasking implementation method for a mobile communication terminal, characterized in that performed through a single main program. 제 5 항에 있어서,The method of claim 5, wherein 상기 계산 및 반영 단계에 있어 상기 UI에 반영되는 프레임(frame)의 수는, 각각의 어플리케이션에 적합하도록 선별 반영 가능한 것을 특징으로 하는 이동통신 단말기용 멀티 태스킹 구현 방법.The number of frames reflected in the UI in the calculating and reflecting step, the multi-tasking implementation method for a mobile communication terminal, characterized in that can be selectively reflected to suit each application.
KR1020070046057A 2007-05-11 2007-05-11 Method for realizing multi-tasking of mobile terminal KR100821261B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070046057A KR100821261B1 (en) 2007-05-11 2007-05-11 Method for realizing multi-tasking of mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070046057A KR100821261B1 (en) 2007-05-11 2007-05-11 Method for realizing multi-tasking of mobile terminal

Publications (1)

Publication Number Publication Date
KR100821261B1 true KR100821261B1 (en) 2008-04-11

Family

ID=39534520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070046057A KR100821261B1 (en) 2007-05-11 2007-05-11 Method for realizing multi-tasking of mobile terminal

Country Status (1)

Country Link
KR (1) KR100821261B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940012123A (en) * 1992-11-26 1994-06-22 정용문 How to Perform Multitasking Using Timer Interrupts
KR20020038195A (en) * 2000-11-16 2002-05-23 최건 Memory Management in the Mobile Computing System using a Multi-tasking Operating System
US7165255B2 (en) 2001-03-15 2007-01-16 Sun Microsystems, Inc. Method and apparatus for managing surplus memory in multitasking system
KR20070045007A (en) * 2005-10-26 2007-05-02 삼성전자주식회사 Portable Terminal and Method for Preventing Hang-Up of Multimedia in Multi-tasking Environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940012123A (en) * 1992-11-26 1994-06-22 정용문 How to Perform Multitasking Using Timer Interrupts
KR20020038195A (en) * 2000-11-16 2002-05-23 최건 Memory Management in the Mobile Computing System using a Multi-tasking Operating System
US7165255B2 (en) 2001-03-15 2007-01-16 Sun Microsystems, Inc. Method and apparatus for managing surplus memory in multitasking system
KR20070045007A (en) * 2005-10-26 2007-05-02 삼성전자주식회사 Portable Terminal and Method for Preventing Hang-Up of Multimedia in Multi-tasking Environment

Similar Documents

Publication Publication Date Title
JP3676827B2 (en) Scheduling method for multiprocessor system
CN108984264B (en) Virtual GPU (graphics processing Unit) implementation method, device and system
US5748468A (en) Prioritized co-processor resource manager and method
US9396012B2 (en) Systems and methods of using a hypervisor with guest operating systems and virtual processors
KR20040068600A (en) A method and a system for executing operating system functions, as well as an electronic device
CN107577523B (en) Task execution method and device
EP2219108A1 (en) System and method for executing a complex task by sub-tasks
CN111274033B (en) Resource deployment method, device, server and storage medium
US20040098722A1 (en) System, method, and computer program product for operating-system task management
JP2000056986A (en) Software interruption mechanism
EP3783484B1 (en) Data processing method and computer device
CN115145722A (en) System and method for switching micro-service architecture and single architecture
CN114253713B (en) Asynchronous batch processing method and system based on reactor
CN115421787A (en) Instruction execution method, apparatus, device, system, program product, and medium
KR100821261B1 (en) Method for realizing multi-tasking of mobile terminal
CN101176061A (en) Implementation of multi-tasking on a digital signal processor
CN116382713A (en) Method, system, device and storage medium for constructing application mirror image
EP1450254A2 (en) Method of converting software program for single processor to software program for multiprocessor
CN112583733A (en) Interface traffic shaping method and device, storage medium and electronic equipment
CN113296900A (en) Task switching method and device
JP2001306339A (en) Information processor
JP2003186686A (en) Resource control apparatus, method and recording medium
CN117539639B (en) Video memory resource scheduling method, device, system, storage medium and electronic equipment
US20230359440A1 (en) Externally-initiated runtime type extension
CN115509767A (en) Service process calling method and related device

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20070511

PA0201 Request for examination
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20080327

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20080403

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20080404

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20110331

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20120330

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20120330

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20130329

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20130329

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20160513

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20160513

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20170403

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20180327

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20180327

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20190325

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20200122

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20200122

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20220331

Start annual number: 15

End annual number: 15

PR1001 Payment of annual fee

Payment date: 20230330

Start annual number: 16

End annual number: 16

PR1001 Payment of annual fee

Payment date: 20240401

Start annual number: 17

End annual number: 17

PR1001 Payment of annual fee

Payment date: 20250305

Start annual number: 18

End annual number: 18