KR101908732B1 - An electronics apparatus configured to execute memory cleaning and method thereof - Google Patents

An electronics apparatus configured to execute memory cleaning and method thereof Download PDF

Info

Publication number
KR101908732B1
KR101908732B1 KR1020110141685A KR20110141685A KR101908732B1 KR 101908732 B1 KR101908732 B1 KR 101908732B1 KR 1020110141685 A KR1020110141685 A KR 1020110141685A KR 20110141685 A KR20110141685 A KR 20110141685A KR 101908732 B1 KR101908732 B1 KR 101908732B1
Authority
KR
South Korea
Prior art keywords
time
sleep state
electronic device
memory
application
Prior art date
Application number
KR1020110141685A
Other languages
Korean (ko)
Other versions
KR20130073697A (en
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 KR1020110141685A priority Critical patent/KR101908732B1/en
Publication of KR20130073697A publication Critical patent/KR20130073697A/en
Application granted granted Critical
Publication of KR101908732B1 publication Critical patent/KR101908732B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System (AREA)
  • Telephone Function (AREA)

Abstract

본 발명의 일 실시예에 따라 사전 가비지 컬렉션(Garbage Collection)을 수행하는 전자 기기의 메모리 관리 또는 정리 방법이 개시되며, 상기 방법은 상기 전자 기기의 휴면상태를 인지하는 단계; 상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하는 단계; 및 상기 휴면상태가 상기 일정 기간 동안 지속되면, 각각의 메모리에 대해 가비지 컬렉션을 수행하는 단계를 포함할 수 있다. According to an embodiment of the present invention, there is provided a method of managing or organizing a memory of an electronic device that performs a pre-garbage collection, comprising: recognizing a sleep state of the electronic device; Determining whether the sleep state of the electronic device continues for a predetermined period of time; And performing garbage collection for each memory if the sleep state continues for the predetermined period.

Description

메모리 정리를 실행하는 전자 기기 및 그 방법 {AN ELECTRONICS APPARATUS CONFIGURED TO EXECUTE MEMORY CLEANING AND METHOD THEREOF}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to an electronic apparatus for executing memory clean-

본 발명은 내장 메모리를 정리 또는 관리하기 위한 전자 기기 또는 그 방법에 관한 것으로서, 좀더 상세하게는 상기 내장 메모리를 정리 또는 관리하기 위해 가비지 컬렉션(garbage collection)을 실행하는 전자 기기 또는 그 방법에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to an electronic apparatus or method for organizing or managing a built-in memory, and more particularly to an electronic apparatus or a method for performing garbage collection for organizing or managing the internal memory .

전자 기기에 대용량의 저장매체, 예컨대 메모리가 내장되면서 메모리를 관리 또는 정리하기 위한 솔루션(solution)에 대한 개발이 많이 이루어지고 있다. BACKGROUND ART [0002] A large amount of storage medium such as a memory is built in an electronic device to develop a solution for managing or organizing a memory.

예를 들어, 모바일 기기 또는 텔레비전과 같은 전자 기기를 사용하면서, 사용자의 입력에 대응한 상기 전자 기기의 반응이 느리거나 지체되는 일이 종종 발생한다. 이는 일반적으로 사용자의 입력에 대응하여 발생한 메모리에 대한 할당 요청과, 메모리 관리 알고리즘의 실행이 중첩되어 발생한다. 상기 사용자의 입력이 요청되는 시점에서, 상기 전자 기기의 메모리 사용량(할당량)이 미리 정해놓은 값(임계치)을 초과하였기 때문이고, 따라서 전자 기기는 미리 정해진 메모리 관리 알고리즘을 통해 각각의 어플리케이션이나 응용프로그램 등에 할당된 메모리를 할당해제(또는 반환하게끔)함으로써 상기 사용자의 입력에 대응한 일련의 프로세싱을 수행할 준비를 하게 된다. For example, while using an electronic device such as a mobile device or a television, the response of the electronic device corresponding to a user's input often becomes slow or delayed. This is generally caused by the overlapping of the allocation request for the memory generated corresponding to the user's input and the execution of the memory management algorithm. Since the memory usage (quota) of the electronic device has exceeded a predetermined value (threshold value) at the time when the input of the user is requested, the electronic device can not access each application or application program (Or return) the memory allocated to the user to be ready to perform a series of processing corresponding to the input of the user.

현재에도 이러한 메모리 관리 알고리즘이 존재하나, 종래의 알고리즘들은 위에서 설명한 것처럼 반응속도의 저하로 인해 이러한 알고리즘의 실행을 사용자가 인식가능하도록 설계되어 있다.
Even though such a memory management algorithm exists today, conventional algorithms are designed so that the user can recognize the execution of such an algorithm due to the degradation of the reaction speed as described above.

본 발명은 상기의 문제점을 해결하기 위해 새로운 메모리 정리 또는 관리 방법 및 이를 수행하는 전자 기기를 제안하고자 한다.
In order to solve the above problems, the present invention proposes a new memory organizing or managing method and an electronic apparatus for performing the same.

본 발명의 일 실시예에 따라 사전 가비지 컬렉션(Garbage Collection)을 수행하는 전자 기기의 메모리 관리 또는 정리 방법이 개시되며, 상기 방법은 상기 전자 기기의 휴면상태를 인지하는 단계; 상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하는 단계; 및 상기 휴면상태가 상기 일정 기간 동안 지속되면, 각각의 메모리에 대해 가비지 컬렉션을 수행하는 단계를 포함할 수 있다. According to an embodiment of the present invention, there is provided a method of managing or organizing a memory of an electronic device that performs a pre-garbage collection, comprising: recognizing a sleep state of the electronic device; Determining whether the sleep state of the electronic device continues for a predetermined period of time; And performing garbage collection for each memory if the sleep state continues for the predetermined period.

상기 전자 기기의 휴면상태를 인지하는 단계는 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하는 단계를 포함할 수 있다. The step of recognizing the sleep state of the electronic device may include recording the time (t n ) when the electronic device enters the sleep state.

상기 휴면상태로 진입한 시간(tn)을 기록하는 단계는 상기 기록된 시간(tn) 직전에 휴면상태로 진입한 시간(tp)을 기록하는 단계를 포함할 수 있고, 상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하는 단계는 상기 기록된 시간(tn)과 상기 직전에 휴면상태로 진입한 시간(tp)의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정할 수 있다. Step of recording the time (t n) entering the sleep state may comprise the step of recording the time (t p) enters a sleep state immediately before the time (t n) of the record, of the electronic device Wherein the step of determining whether the sleeping state is continued for a predetermined period includes calculating a time difference between the recorded time t n and the sleeping time t p , Can be determined.

상기 각각의 메모리에 대해 가비지 컬렉션을 수행하는 단계는: 어플리케이션이 실행되고 있는 가상 머신 각각의 메모리 사용량이 미리 결정된 임계치를 초과하는 경우에 해당 메모리에 대해 수행될 수 있다. Performing garbage collection for each of the memories may be performed for the memory if the memory usage of each of the virtual machines on which the application is running exceeds a predetermined threshold.

본 발명의 일 실시예에 따라 메모리 정리를 위해 사전 가비지 컬렉션(Garbage Collection)을 수행하기 위한 전자 기기가 개시되며, 상기 전자 기기는 상기 전자 기기의 휴면상태를 인지하고, 상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하며, 상기 휴면상태가 상기 일정 기간 동안 지속되면, 상기 각각의 메모리에 대해 가비지 컬렉션을 수행하도록 구성된 프로세서를 포함할 수 있다. According to an embodiment of the present invention, an electronic apparatus for performing a garbage collection for memory organization is disclosed, the electronic apparatus recognizing a sleep state of the electronic apparatus, A processor configured to determine whether to continue for a predetermined period of time, and to perform garbage collection for each memory if the sleep state continues for the predetermined period of time.

상기 프로세서는 상기 전자 기기의 휴면상태를 인지하기 위해, 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하도록 구성될 수 있다. The processor may be configured to record a time (t n ) when the electronic device enters a sleep state to recognize a sleep state of the electronic device.

상기 프로세서는 상기 기록된 시간(tn) 직전에 휴면상태로 진입한 시간(tp)을 추가로 기록하도록 구성될 수 있고, 상기 프로세서는 상기 기록된 시간(tn)과 상기 직전에 휴면상태로 진입한 시간(tp)의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정하도록 구성될 수 있다. The processor may be configured to record to add the time (t p) enters a sleep state immediately before the time (t n) of the recording, the processor the recorded time (t n) and a sleep state in the immediately preceding by calculating the time difference of the time (t p) enters, it may be configured so that the time difference to determine if is greater than a predetermined value.

상기 프로세서는 어플리케이션이 실행되고 있는 가상 머신 각각의 메모리 사용량이 미리 결정된 임계치를 초과하는 경우에 해당 메모리에 대해 상기 가비지 컬렉션을 수행하도록 구성될 수 있다.
The processor may be configured to perform the garbage collection for the memory if the memory usage of each of the virtual machines on which the application is running exceeds a predetermined threshold.

본 발명의 일 실시예에 따르면 사용자로 하여금 메모리 관리 또는 정리의 프로세스 진행을 인식할 수 없도록 하여, 사용자의 불편함을 없앨 수 있다. 또한, 효율적인 메모리 관리 또는 정리를 제공하여, 메모리 부족이나 메모리에 대한 응답속도의 지연을 현저히 감소시킬 수 있다.
According to an embodiment of the present invention, the user can not recognize the progress of the memory management or the cleanup process, thereby eliminating the inconvenience of the user. It also provides efficient memory management or cleanup, which can significantly reduce memory and delay in response to memory.

도 1은 본 발명의 일 실시예에 따른 메모리 정리 방법의 순서도를 도시한다.
도 2는 본 발명의 일 실시예에 따른 각 어플리케이션에 할당된 메모리의 사용량을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 전자 기기의 블록도를 도시한다.
FIG. 1 shows a flowchart of a memory clearance method according to an embodiment of the present invention.
2 is a diagram for explaining an amount of memory allocated to each application according to an embodiment of the present invention.
3 shows a block diagram of an electronic device according to an embodiment of the present invention.

본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 포괄하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary terms and should be construed in a sense and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are included. Therefore, It is to be understood that equivalents and modifications are possible.

또한, 도면에서 동일한 참조 부호 또는 도면 부호는 본 명세서의 전체에 걸쳐 동일하거나 대응하는 구성요소를 지칭하는 것으로 본다. Also, in the drawings, like reference numerals or designations refer to the same or corresponding elements throughout the present specification.

이하에서는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여 본 발명의 다양한 실시 예를 상세하게 설명한다. 다만, 본 발명이 후술하는 실시 예들에 의해 제한되거나 한정되는 것은 아니다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings and the attached drawings. However, the present invention is not limited or limited by the following embodiments.

또한, 본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.
In addition, while the term used in the present specification selects the general term that is widely used in the present invention while considering the function of the present invention, it may vary depending on the intention or custom of a person skilled in the art or the emergence of a new technique. In addition, in certain cases, there may be a term arbitrarily selected by the applicant, in which case the meaning thereof will be described in the description of the corresponding invention. Therefore, it is intended that the terminology used herein should be interpreted based on the meaning of the term rather than on the name of the term, and on the entire contents of the specification.

도 1은 본 발명의 일 실시예에 따른 사전 가비지 컬렉션(Garbage Collection; GC)을 이용하여 전자 기기의 메모리 관리 또는 정리 방법의 순서도를 도시한다. 본 명세서에 첨부된 도면과 아래의 설명들에서 본 발명의 일 실시예에 따른 메모리 관리 또는 정리 방법은 일반적인 전자 기기에 적용될 수 있고, 또한 이들은 다른 장치, 기기 또는 시스템, 예컨대 모바일 기기, 모바일 단말, 텔레비전(TV), 스마트 TV 등에도 적용될 수 있다. FIG. 1 shows a flowchart of a memory management or organizing method of an electronic device using a pre-garbage collection (GC) according to an embodiment of the present invention. In the drawings attached hereto and in the following description, a memory management or organizing method according to an embodiment of the present invention can be applied to general electronic devices, and they can also be applied to other devices, devices or systems such as mobile devices, Television (TV), smart TV, and the like.

본 발명의 일 실시예에 따른 전자 기기의 메모리 관리 또는 정리 방법은 이러한 서비스 또는 옵션 사항이 설정되어 있는지 여부를 판단하는 단계(S110); 상기 전자 기기가 휴면상태인지 여부를 판단하는 단계(S120); 상기 휴면상태가 일정 시간 동안 지속되는지 여부를 결정하는 단계(S130); 그리고 상기 휴면상태가 일정 시간 동안 지속되면, 가비지 컬렉션(GC)을 실행하도록 요청하는 단계(S140)를 포함할 수 있다. The method for managing or organizing a memory of an electronic device according to an embodiment of the present invention may include determining whether the service or option is set (S110); Determining whether the electronic device is in a sleep state (S120); Determining whether the sleep state continues for a predetermined time (S130); And requesting execution of garbage collection (GC) if the sleep state continues for a predetermined time (S140).

이러한 서비스 또는 옵션 사항이 설정되어 있는지 여부를 판단하는 단계(S110)는 사용자 또는 설계자의 선택에 따라, 본 발명의 일 실시예에 따른 메모리 관리 또는 정리 방법을 사용할지 여부를 판단하는 단계에 해당한다. 이러한 서비스 또는 옵션 사항이 사용자 또는 설계자에 의해 활성화되어 있지 않다면, 본 발명의 일 실시예에 따른 방법은 종료될 수 있다. Step S110 of determining whether such a service or option is set corresponds to a step of determining whether to use the memory management or arrangement method according to an embodiment of the present invention in accordance with the choice of the user or the designer . If these services or options are not activated by the user or designer, the method according to one embodiment of the present invention may be terminated.

본 발명의 일 실시예에 따른 메모리 관리 또는 정리 방법외에도, 기본적으로 오퍼레이팅 시스템(Operating System)에서 제공하는 메모리 관리 또는 정리 알고리즘 등이 운용될 것이므로, 단계 S110에서 상기 서비스나 옵션 사항이 선택되어 있지 않다 하더라도 종래에 제공된 알고리즘에 의해 메모리 관리 또는 정리가 수행될 수 있다. In addition to the memory management or arrangement method according to an embodiment of the present invention, since the memory management or the arrangement algorithm provided by the operating system is basically operated, the service or option is not selected in step S110 The memory management or the cleanup can be performed by the algorithms conventionally provided.

상기 전자 기기가 휴면상태인지 여부를 판단하는 단계(S120)는 상기 전자 기기의 스크린 또는 화면(예컨대, 액정 표시 장치(LCD))이 꺼졌는지(OFF) 또는 슬립 상태인지 여부를 판단할 수 있다. 상기 전자 기기의 스크린 또는 화면은 사용자의 조작 입력에 의해 꺼질 수 있고, 또한 상기 전자 기기의 기본 설정 항목의 세팅(setting)에 의해 꺼질 수 있다. The step S120 of determining whether the electronic device is in a sleep state may determine whether a screen or a screen of the electronic device (e.g., a liquid crystal display (LCD)) is off (OFF) or in a sleep state. The screen or screen of the electronic apparatus can be turned off by a user's operation input, and can be turned off by a setting of a basic setting item of the electronic apparatus.

예를 들어, 사용자가 상기 전자 기기의 전원 버튼을 가볍게 한차례 누르면(push) 상기 전자 기기의 스크린 또는 화면이 오프(OFF)되며, 상기 전자 기기의 스크린 또는 화면이 켜져 있는 상태에서 일정 시간 동안 사용자의 어떠한 입력이 없다면 상기 스크린 또는 화면이 오프(OFF)될 수 있다. For example, when the user pushes the power button of the electronic device lightly once, the screen or the screen of the electronic device is turned off, and when the screen or the screen of the electronic device is turned on, If there is no input, the screen or screen may be turned off.

따라서, 상기 전자 기기의 프로세서(또는 제어부)는 상기 전자 기기가 휴면상태인지를 검출할 수 있고, 이러한 휴면상태가 검출되는 경우에 상기 방법은 단계 S130으로 진행할 수 있다. Thus, the processor (or control unit) of the electronic device can detect whether the electronic device is in a dormant state, and if the dormant state is detected, the method can proceed to step S130.

상기 휴면상태가 일정 시간 동안 지속되는지 여부를 결정하는 단계(S130)는 상기 전자 기기의 휴면상태가 일정 시간(n1) 동안 지속되는지 여부를 결정할 수 있다. 상기 전자 기기의 휴면상태가 지속되는지를 결정하는 이유는, 본 발명의 일 실시예에 따른 가비지 컬렉션을 이용한 메모리 관리 또는 정리 방법을 수행함에 있어서, 사용자가 상기 전자 기기를 사용하지 않는 경우에 미리 또는 사전에 상기 메모리의 관리 또는 정리 등을 수행함으로써 상기 전자 기기의 응답속도의 지연, 지체 또는 저하 등을 방지할 수 있기 때문이다. Step (S130) to the sleep state is determined whether or not continued for a predetermined time may be a sleep state of the electronic device to determine whether or not continued for a predetermined time (n 1). The reason for determining whether the sleep state of the electronic device is maintained is that, in performing the memory management or the organizing method using the garbage collection according to an embodiment of the present invention, when the user does not use the electronic device, It is possible to prevent delay, lag or deterioration of the response speed of the electronic device by performing management or rearrangement of the memory in advance.

본 발명의 일 실시예에서는, 상기 전자 기기가 휴면상태에 진입하자마자 메모리 관리 또는 정리 방법을 수행하지않고, 그에 앞서 상기 휴면상태가 어느 정도 지속되는지 여부를 판단한다. 이는 사용자의 의도된 조작에 의해 상기 휴면상태로의 진입과 진출이 짧은 시간내에 반복되는 경우를 대비한 것으로서, 이러한 경우에는 본 발명의 일 실시예에 따른 메모리 관리 또는 정리 방법을 수행하지 않는 것이 바람직하다. In one embodiment of the present invention, the electronic device does not perform the memory management or the cleanup method as soon as the electronic device enters the sleep state, and determines whether or not the sleep state is continued before the electronic device enters the sleep state. This is in contrast to the case where the entry into the sleeping state and the advancement of the sleeping state are repeated within a short time by the user's intended operation. In such a case, it is preferable not to perform the memory management or the organizing method according to the embodiment of the present invention Do.

상기 휴면상태가 일정 시간 동안 지속되는지 여부를 결정하는 방법은 단계 S120에서 상기 전자 기기의 휴면상태가 인지된 시각 또는 시간(time)을 기록하며, 예를 들어 10번의 휴면상태 진입/진출이 반복되었다면 총 10개의 시각 또는 시간이 기록되었을 것이나 이 중에서 현재로부터 가장 가까운 2개의 시각 또는 시간을 서로 비교하여 상기 휴면 상태의 지속 시간을 체크할 수 있다. The method for determining whether the sleeping state lasts for a predetermined time includes recording a time or a time at which the sleeping state of the electronic device is recognized in step S120. For example, if the sleeping state entry / A total of ten times or hours may be recorded, but the duration of the sleeping state may be checked by comparing two closest time or time among them.

다시 말하면, 가장 최근의 휴면상태로의 진입 시간(tp)과 단계 S120에서 현재 인지된 휴면상태로의 진입 시간(tn)이 기록될 수 있다. 이 기록된 시간들은 상기 전자 기기에 내장된 메모리와 같은 저장매체에 저장될 수 있다. In other words, the most can be recorded in the entry time (t n) at the entry time (t p) and the step S120 to the last sleep state to the sleep state if the current. The recorded times may be stored in a storage medium such as a memory built in the electronic device.

한편, 상기 휴면상태가 인지된 시각 또는 시간을 연속적으로 기록 또는 저장하는 방법이 있을 수도 있다. 이는 단계 S120에서처럼, 상기 전자 기기의 휴면상태가 인지되면, 상기 저장매체는 그 시간 또는 시각을 저장매체에 기록 또는 저장할 수 있다. On the other hand, there may be a method of continuously recording or storing the time or time at which the sleeping state is recognized. If, as in step S120, the sleep state of the electronic device is recognized, the storage medium may record or store the time or time on the storage medium.

또한, 상기 저장매체는 이러한 시간 또는 시각을 저장매체의 미리 정해놓은 어드레스(address)에 저장해놓을 수 있고, 이 어드레스에 해당하는 영역에 상기 전자 기기의 휴면상태로의 진입을 인지할 때마다 상기 시간 또는 시각을 업데이트할 수 있다. 이러한 경우에는, 프로세서 또는 제어부 등은 단계 S120에서 휴면상태가 인지되면 상기 메모리의 어드레스를 호출하여 가장 최근의 휴면상태로의 진입시간 또는 시각(tp)을 읽어들일 수 있으며, 또한 프로세서 또는 제어부의 클록을 확인하거나 기타 다른 방법을 이용하여 상기 단계 S120에서 휴면상태가 인지된 시점에 해당하는 시간 또는 시각(tn)을 확인할 수 있다. 이렇게 획득된 2개의 시간 또는 시각을 이용하여 상기 단계 S130에서 상기 휴면상태의 지속기간을 확인할 수 있다. Also, the storage medium may store the time or the time at a predetermined address of the storage medium, and whenever the electronic device recognizes entry of the electronic device into the sleeping state in the area corresponding to the address, Or update the time. In such a case, the processor or the control unit may call the address of the memory to read the entry time or time (t p ) to the latest sleep state if the sleep state is recognized in step S120, It is possible to confirm the time or the time t n corresponding to the point in time when the sleeping state is recognized in the step S 120 by checking the clock or using another method. The duration of the dormancy state can be confirmed in step S130 using the two times or times thus obtained.

상기 휴면상태 지속기간이 미리 결정된 시간을 초과하면, 상기 방법은 단계 S140으로 진행할 수 있다. 단계 S140에서, 상기 프로세서 또는 제어부는 각각의 어플리케이션(application) 또는 가상 어플리케이션 상의 가상 머신(virtual machine)으로 가비지 컬렉션(garbage collection)에 대한 실행 요청을 발행할 수 있다.
If the sleep state duration exceeds a predetermined time, the method may proceed to step S140. In step S140, the processor or the control unit may issue an execution request for garbage collection to each application or a virtual machine on the virtual application.

또한, 본 발명의 일 실시예에 따른 전자 기기의 메모리 관리 또는 정리 방법은 상기 가비지 컬렉션에 대한 실행 요청이 발행되면 각각의 어플리케이션에 할당된 메모리의 사용량이 미리 결정된 임계치를 초과하는지 여부를 판단하는 단계(S150); 및 상기 메모리의 사용량이 미리 결정된 임계치를 초과하면, 이에 해당하는 어플리케이션에 대해 할당된 메모리에 대하여 가비지 컬렉션을 실행하는 단계(S160)를 포함할 수 있다. According to another aspect of the present invention, there is provided a method for managing or organizing a memory of an electronic device, the method comprising: determining whether a usage amount of memory allocated to each application exceeds a predetermined threshold value when an execution request for the garbage collection is issued; (S150); And a step (S160) of performing garbage collection on the memory allocated for the corresponding application if the usage of the memory exceeds a predetermined threshold.

각각의 어플리케이션 또는 상기 어플리케이션 상의 가상 머신에 대해 현재 사용, 점유 또는 할당중인 메모리의 사용비율(현재 힙(heap) 사용량 대 최대 힙(heap)), 점유율 또는 할당비율 등을 확인할 수 있다(S150). 단계 S150에서, 상기 메모리의 사용비율, 점유율 또는 할당비율이 미리 결정된 값(n2)을 초과하는지 여부를 판단할 수 있다. (The current heap usage to the maximum heap), the occupancy rate or the allocation ratio of the currently used, occupied, or allocated memory for each application or the virtual machine on the application (S150). In step S150, it is possible to determine whether the use ratio, occupancy rate or allocation ratio of the memory exceeds a predetermined value (n 2 ).

상기 미리 결정된 값(n2)은 상기 전자 기기의 사용자가 상기 응답속도에 대한 지연, 지체 또는 저하 등을 인지할 수 없을 정도에 해당하는 값이며, 이는 사용자나 설계자에 의해 변경가능한 값일 수 있다. The predetermined value (n 2 ) is a value corresponding to a degree that the user of the electronic device can not recognize the delay, delay or degradation with respect to the response speed, and may be a value that can be changed by a user or a designer.

상기 메모리 사용비율 등이 상기 미리 결정된 값(n2)을 초과하면, 상기 방법은 단계 S160로 진행할 수 있다. 단계 S160에서, 단계 S150의 조건을 만족하는 어플리케이션 또는 가상 머신에 대한 메모리에 대해 가비지 컬렉션이 실행될 수 있다.
When a memory such as the usage rate exceeds the predetermined value (n 2), the method may advance to step S160. In step S160, garbage collection may be performed on the memory for the application or the virtual machine satisfying the condition of step S150.

도 2는 본 발명의 일 실시예에 따른 각 어플리케이션에 할당된 메모리의 사용량을 설명하기 위한 도면이다. 도 2을 참조하면, 어플리케이션 1 내지 3은 각각의 가상 머신 1 내지 3으로 구현될 수 있다. 2 is a diagram for explaining an amount of memory allocated to each application according to an embodiment of the present invention. Referring to FIG. 2, applications 1 to 3 may be implemented in respective virtual machines 1 to 3.

각각의 가상 머신에 대해 동일한 양의 메모리가 할당될 수 있으며, 따라서 각 메모리의 최대 힙(Heap)은 동일하다. 상기 최대 힙은 본 발명의 일 실시예가 구현되는 시스템에 의해 정의된 물리적인 메모리 힙 사이즈이다. The same amount of memory can be allocated for each virtual machine, so the maximum heap of each memory is the same. The maximum heap is the physical memory heap size defined by the system in which an embodiment of the present invention is implemented.

타깃 힙(target heap)은 가비지 컬렉션을 실행하기 전까지 메모리의 할당이 허용되는 한계 힙 영역에 해당한다. 다시 말하면, 상기 타깃 힙은 종래의 기술에서 사용된 메모리 사용량에 대한 임계치에 해당하며, 이 값을 초과하면 가비지 컬렉션이 수행되었다. The target heap corresponds to the limit heap area where memory allocation is allowed until garbage collection is executed. In other words, the target heap corresponds to a threshold value for the memory usage used in the conventional technology, and when this value is exceeded, garbage collection is performed.

또한, 현재 힙 사용량(current heap usage)은 현재 사용하고 있는 메모리의 사용량에 해당한다. Also, the current heap usage corresponds to the amount of memory currently in use.

본 발명의 일 실시예에 따른 상기 메모리의 사용량에 대한 임계치는 절대적인 값(예컨대, 수 내지 수백 메가바이트)일 수도 있고, 상기 현재 힙 사용량과 상기 타깃 힙의 비율일 수도 있다. 이에 따라, 도 1에서 설명된 단계 S150의 기재는 본 발명의 범위를 제한하지 않을 것이다. The threshold for the amount of memory usage according to an embodiment of the present invention may be an absolute value (e.g., several to several hundred megabytes), or may be a ratio of the current heap usage to the target heap. Accordingly, the description of step S150 described in Fig. 1 will not limit the scope of the present invention.

도 2에 도시된 것처럼, 종래의 기술에서처럼 "타깃 힙"을 상기 가비지 컬렉션을 위한 임계치로 사용하지 않고, 그보다 더 낮은 값(절대값 또는 상대값 모두)을 임계치로 사용함으로써 사용자가 상기 전자 기기의 응답속도의 지연, 지체 또는 저하를 인지하는 것을 방지하면서, 상기 메모리의 관리 또는 정리가 가능하다. 또한, 종래 기술에 따른 메모리 관리 또는 정리 방법을 실행 또는 수행하기 전에 사용자로 하여금 이러한 실행 또는 수행을 인지하지 않도록 구현되기 때문에, 본 발명의 일 실시예에 따른 상기 방법을 "사전" 가비지 컬렉션(GC)이라 지칭한다.
As shown in FIG. 2, by using a lower value (both an absolute value or a relative value) as a threshold value rather than using the "target heap" as a threshold value for the garbage collection as in the conventional technique, It is possible to manage or organize the memory while preventing the recognition of delay, delay or degradation of the response speed. Also, since the method is implemented so that the user does not perceive such execution or performance before executing or performing the memory management or cleanup method according to the prior art, the method according to an embodiment of the present invention is called " ).

도 3은 본 발명의 일 실시예에 따른 전자 기기의 블록도를 도시한다. 상기 전자 기기는 상기 전자 기기의 메모리 관리하거나 정리하기 위해 사전 가비지 컬렉션(Garbage Collection)을 수행하기 위한 전자 기기로서, 상기 전자 기기(300)는 상기 전자 기기(300)의 메모리를 관리 또는 정리하도록 구성된 프로세서(310) 및 각각의 어플리케이션 또는 가상 머신에 할당되는 메모리(320)로 구성될 수 있다. 3 shows a block diagram of an electronic device according to an embodiment of the present invention. The electronic device is an electronic device for performing a pre-garbage collection for managing or organizing memory of the electronic device. The electronic device 300 is configured to manage or organize the memory of the electronic device 300 A processor 310 and a memory 320 allocated to each application or virtual machine.

프로세서(310)는 상기 전자 기기(300)의 휴면상태를 인지하고, 상기 전자 기기(300)의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하며, 상기 휴면상태가 상기 일정 기간 동안 지속되면, 상기 각각의 메모리에 대해 가비지 컬렉션을 수행하도록 구성될 수 있다. The processor 310 recognizes the sleep state of the electronic device 300 and determines whether the sleep state of the electronic device 300 is continued for a predetermined period of time. If the sleep state is maintained for the predetermined period of time, And may be configured to perform garbage collection for each memory.

좀더 상세하게는, 프로세서(310)는 상기 휴면상태를 인지하고, 상기 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하도록 구성된 판단부(311); 상기 휴면상태가 상기 일정 기간 동안 지속되면, 상기 각각의 메모리에 대해 가비지 컬렉션을 수행하도록 구성된 실행부(312); 및 상기 메모리 또는 사용자와 인터페이싱하도록 구성된 인터페이스부(313)를 포함할 수 있다. More specifically, the processor 310 comprises a determination unit 311 configured to recognize the sleep state and determine whether the sleep state is maintained for a predetermined period of time; An execution unit (312) configured to perform garbage collection for each memory if the sleep state continues for the predetermined period; And an interface unit 313 configured to interface with the memory or the user.

상기 프로세서는 상기 전자 기기의 휴면상태를 인지하기 위해, 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하도록 구성될 수 있다. 상기 프로세서는 상기 기록된 시간(tn) 직전에 휴면상태로 진입한 시간(tp)을 추가로 기록하도록 구성될 수 있다. 상기 프로세서는 상기 기록된 시간(tn)과 상기 직전에 휴면상태로 진입한 시간(tp)의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정하도록 구성될 수 있다. The processor may be configured to record a time (t n ) when the electronic device enters a sleep state to recognize a sleep state of the electronic device. The processor may be further configured to record a time (t p ) which entered the sleep state just before the recorded time (t n ). The processor may be configured to calculate a time difference between the recorded time (t n ) and the immediately preceding sleeping state (t p ) to determine whether the time difference is greater than a predetermined value.

대안적인 실시예에서, 상기 프로세서는 상기 전자 기기의 휴면상태를 인지하기 위해, 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하도록 구성될 수 있다. 상기 프로세서는 상기 전자 기기가 휴면상태로 진입할 때마다 그 해당 시간을 개별적으로 저장할 수 있다. 따라서, 상기 프로세서는 현재 휴면상태로 인입한 시간을 포함한 가장 최근에 기록된 2개의 시간의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정할 수 있다. In an alternate embodiment, the processor may be configured to record the time (t n ) at which the electronic device enters a sleep state to acknowledge the sleep state of the electronic device. The processor may separately store the corresponding time each time the electronic device enters the sleep state. Thus, the processor may calculate a time difference of the two most recently recorded times, including the time of the current dormant state, to determine whether the time difference is greater than a predetermined value.

다른 대안적인 실시예에서, 상기 프로세서는 상기 전자 기기의 휴면상태를 인지하기 위해, 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하도록 구성될 수 있다. 상기 프로세서는 상기 메모리의 미리 지정된 어드레스에 상기 시간을 기록하기 위한 영역을 설정할 수 있고, 상기 미리 지정된 어드레스에 상기 전자 기기의 휴면상태 진입 시간(tn)을 기록하며, 또한 이를 계속 업데이트할 수 있다. In another alternative embodiment, the processor may be configured to record the time (t n ) at which the electronic device entered the sleep state to recognize the sleep state of the electronic device. The processor can set an area for recording the time at a predetermined address of the memory, record the sleeping state entry time (t n ) of the electronic device at the predetermined address, and update it continuously .

따라서, 상기 프로세서는 상기 미리 지정된 메모리의 어드레스에 액세스하여 최근까지 업데이트된 휴면상태 진입 시간(tn)을 읽어들일 수 있고, 현재 휴면상태 진입 시간(tc)을 상기 프로세서의 클록이나 기타 다른 장치로부터 읽어들일 수 있으며, 이 둘의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정할 수 있다. Thus, the processor can access the address of the pre-designated memory to read up to date the sleep state entry time t n that has been updated and update the current sleep state entry time t c to the clock of the processor or other device And it is possible to calculate whether or not the time difference is larger than a predetermined value by calculating the time difference between the two.

이에 따라, 상기 프로세서는 상기 휴면상태가 상기 일정 기간 동안 지속되면, 상기 각각의 메모리에 대해 가비지 컬렉션을 수행하도록 구성될 수 있다. 이러한 경우에, 상기 프로세서는 어플리케이션이 실행되고 있는 가상 머신 각각의 메모리 사용량이 미리 결정된 임계치를 초과하는 경우에 해당 메모리에 대해 상기 가비지 컬렉션을 수행하도록 구성될 수 있다. 여기서, 상기 메모리의 사용량은 절대적인 값 또는 상대적인 값 모두 가능할 수 있다. Accordingly, the processor may be configured to perform garbage collection for each memory if the sleep state continues for the predetermined period of time. In this case, the processor may be configured to perform the garbage collection for the memory if the memory usage of each of the virtual machines in which the application is running exceeds a predetermined threshold. Here, the usage amount of the memory may be either an absolute value or a relative value.

아래의 표 1은 종래기술에서 사용된 3가지 타입의 가비지 컬렉션(Maclloc, Concurrent, 및 Explicit GC)을 통한 메모리 관리 알고리즘에 대한 실험결과이며, 표 2는 상기 표 1의 조건에서 도 1에 도시된 본 발명의 일 실시예에 따른 메모리 관리 방법을 부가한 경우의 실험결과를 도시한다. Table 1 below shows experimental results on memory management algorithms using three types of garbage collection (Maclloc, Concurrent, and Explicit GC) used in the prior art, and Table 2 shows the results of experiments FIG. 5 shows experimental results when a memory management method according to an embodiment of the present invention is added. FIG.

각 실험은 조건은 다음과 같다. The conditions of each experiment are as follows.

- 3시간 동안 정해진 시나리오 대로 진행- Follow the scenario for 3 hours

- 전체 Sleep 횟수 : 약 20회- Total number of Sleeps: About 20 times

- 검증 시나리오- Verification Scenario

Wifi 연결 (sleep)Wifi connection (sleep)

기본 browser 사용하여 (1분) 웹서핑 (sleep)Using default browser (1 minute) Web surfing (sleep)

마켓 연결 (구글 계정 로그인) (sleep)Market link (Google account login) (sleep)

게임(newto50) 내려받은뒤 게임 2회 실행 (sleep)Game (newto50) After downloading, the game runs twice (sleep)

Dolphin browser 내려받은뒤 설치 (sleep)Dolphin browser Download and install (sleep)

Dolphin browser로 (1분) 웹서핑 (sleep)Dolphin browser (1 minute) Web surfing (sleep)

날씨 위젯 내려받은뒤 설치(sleep)Weather Widget Download (sleep)

날씨 실행 위젯 만들기(sleep)Create weather widget (sleep)

Maps 들어가서 내 위치 및 검색하기(sleep)Go into Maps and search my location and sleep (sleep)

Youtube 로 뮤직비디오 보기 (5편) (sleep 5)Watch music video on Youtube (5) (sleep 5)

Facebook 들어가서 (1분) 보기 (sleep)Facebook go in (1 minute) view (sleep)

게임(talkingtom) 내려받은뒤 설치 (sleep)Games (talkingtom) download (sleep)

게임 (1분 동안) 실행 (sleep)Game (for 1 minute) Run (sleep)

Home 으로 나옴 (sleep)Go to Home (sleep)

Process name Process name Malloc GC
(횟수/time)
Malloc GC
(Times / time)
Concurrent GC
(횟수/time)
Concurrent GC
(Times / time)
Explicit GC
(횟수/time)
Explicit GC
(Times / time)
Total GC Time
(횟수/time)
Total GC Time
(Times / time)
Memory usage(%)Memory usage (%)
system server시스템 서버 62 / 5580 ms 62/5580 ms 154 / 4542 ms 154/4542 ms 19 / 2484 ms 19/2484 ms 12,606 ms 12,606 ms 7373 systemui
systemui
0 / 0 ms 0/0 ms 87 / 1851 ms 87/1851 ms 3 / 292 ms 3/292 ms 2,143 ms 2,143 ms 8181
phone
phone
0 / 0 ms 0/0 ms 20 / 659 ms 20/659 ms 0 / 0 ms 0/0 ms 659 ms 659 ms 8383
lghome
lghome
0 / 0 ms 0/0 ms 23 / 610 ms 23/610 ms 17 / 1773 ms 17/1773 ms 2,383 ms 2,383 ms 8686
gapps
gapps
17 / 758 ms 17/758 ms 100 / 2745 ms 100/2745 ms 16 / 2134 ms 16/2134 ms 5,637 ms 5,637 ms 9090
aime
aime
0 / 0 ms 0/0 ms 32 / 848 ms 32/848 ms 0 / 0 ms 0/0 ms 848 ms 848 ms 8282
talkingtom
talkingtom
10 / 858 ms10/858 ms 15 / 206 ms 15/206 ms 1 / 97 ms 1/97 ms 1,161 ms 1,161 ms 7575
katana
katana
5 / 446 ms 5/446 ms 30 / 1015 ms 30/1015 ms 0 / 0 ms 0/0 ms 1,349 ms 1,349 ms 8181
TunnyBrowser
TunnyBrowser
3 / 148 ms 3/148 ms 8 / 159 ms 8/159 ms 0 / 0 ms0/0 ms 307 ms 307 ms 8888

표 1에서 주목해야 할 것은, 전체 GC 시간(Total GC time)과 메모리 사용량(Memory usage)이다. 앞선 실험 조건에 따라, 실험을 수행한 결과 전체 GC 시간에 해당하는 시간만큼의 GC 작업 또는 메모리 관리/정리 방법이 수행됐으며, 이 시간이 길면 길수록 사용자가 이러한 작업의 실행을 인지할 수 있는 확률이 높아진다. 다시말하면, 전체 GC 시간이 길어질 수록, 사용자가 상기 전자 기기를 사용하는 경우에 응답속도가 떨어지는 것을 체험할 확률이 높아진다.Table 1 shows the total GC time and memory usage. According to the previous experimental conditions, the GC operation or the memory management / cleanup method corresponding to the whole GC time was performed as a result of the experiment, and the longer the time, the greater the probability that the user can perceive the execution of such a task . In other words, the longer the total GC time, the higher the probability of experiencing a decrease in the response speed when the user uses the electronic device.

또한, 상기 메모리 사용량은 상기 실험이 종료된 후의 메모리 사용량, 좀더 정확하게는 메모리 사용비율이며, 이는 현재 힙(heap) 사용량 대 최대 힙(heap)의 비율에 해당한다. Also, the memory usage is the memory usage after the end of the experiment, more precisely, the memory usage rate, which corresponds to the current heap usage versus the maximum heap ratio.

Process nameProcess name Malloc GC
(횟수/time)
Malloc GC
(Times / time)
Concurrent GC
(횟수/time)
Concurrent GC
(Times / time)
Explicit GC
(횟수/time)
Explicit GC
(Times / time)
사전 GC
(횟수/time)
Dictionary GC
(Times / time)
Total GC Time
(횟수/time)
Total GC Time
(Times / time)
Memory usage(%)Memory usage (%)
system server시스템 서버 26 / 2876 ms 26/2876 ms 56 / 2260 ms 56/2260 ms 16 / 2858 ms 16/2858 ms 20 / 4724 ms 20/4724 ms 7,994 ms7,994 ms 4545 systemui
systemui
0 / 0 ms
0/0 ms
27 / 556 ms 27/556 ms 0 / 0 ms0/0 ms 10 / 1499 ms 10/1499 ms 556 ms 556 ms 4545
phone
phone
0 / 0 ms
0/0 ms
20 / 659 ms 20/659 ms 0 / 0 ms 0/0 ms 7 / 1184 ms 7/1184 ms 659 ms 659 ms 4545
lghome
lghome
0 / 0 ms
0/0 ms
15 / 410 ms 15/410 ms 14 / 1709 ms 14/1709 ms 10 / 1630 ms 10/1630 ms 2,119 ms 2,119 ms 4949
gapps
gapps
0 / 0 ms
0/0 ms
47 / 2133 ms 47/2133 ms 25 / 4980 ms 25/4980 ms 4 / 852 ms
4/852 ms
7,113 ms 7,113 ms 6363
aime
aime
0 / 0 ms
0/0 ms
17 / 469 ms 17/469 ms 0 / 0 ms 0/0 ms 6 / 1154 ms 6/1154 ms 469 ms 469 ms 3838
talkingtom
talkingtom
9 / 446 ms9/446 ms 12 / 338 ms 12/338 ms 0 / 0 ms 0/0 ms 1 / 207 ms 1/207 ms 784 ms 784 ms 6767
katana
katana
4 /220 ms4/220 ms 37 /1016 ms 37/1016 ms 1 / 113 ms 1/113 ms 1 / 204 ms 1/204 ms 1,349 ms
1,349 ms
6565
TunnyBrowser
TunnyBrowser
0 / 0 ms0/0 ms 12 / 177 ms 12/177 ms 0 / 0 ms 0/0 ms 1 /251 ms 1/251 ms 177 ms 177 ms 5656

본 발명의 일 실시예에 따른 실험결과(표 2)에서, 전체 GC 시간은 표 2의 제 2 열 내지 제 4 열에 해당하는 GC에 대한 시간만을 더했다. 이는 본 발명의 일 실시예에 따른 "사전 GC(가비지 컬렉션)"은 상기 전자 기기(또는 기타 다른 장치, 디바이스, 기기, 시스템 등)의 휴면상태에서 수행되기 때문에, 사용자가 인지할 수 없기 때문이다. In the experimental results (Table 2) according to an embodiment of the present invention, the total GC time was added only for the GC corresponding to the second to fourth columns of Table 2. This is because the "pre-GC (garbage collection)" according to an embodiment of the present invention can not be recognized by the user because it is performed in the sleep state of the electronic device (or other device, device, device, .

표 1과 표 2의 결과를 요약 정리하여 다음의 표 3과 표 4를 참조한다. The results of Table 1 and Table 2 are summarized and refer to Table 3 and Table 4 below.

Process nameProcess name 종래 기술에 따른 전체 GC 시간The total GC time 본 발명에 따른 전체 GC 시간The total GC time system server시스템 서버 12,606 ms12,606 ms 7,994 ms7,994 ms systemui systemui 2,143 ms2,143 ms 556 ms556 ms phonephone 659 ms659 ms 659 ms659 ms lghomelghome 2,383 ms2,383 ms 2,119 ms2,119 ms gappsgapps 5,637 ms5,637 ms 7,113 ms7,113 ms aimeaime 848 ms848 ms 469 ms469 ms talkingtomtalkingtom 1,161 ms1,161 ms 784 ms784 ms katanakatana 1,349 ms1,349 ms 1,349 ms1,349 ms TunnyBrowserTunnyBrowser 307 ms307 ms 177 ms177 ms

Process nameProcess name 종래 기술에 따른 Memory usage (%)Memory usage (%) according to the prior art 본 발명에 따른 Memory usage (%)Memory usage (%) according to the present invention system server시스템 서버 7373 4545 systemui systemui 8181 4545 phonephone 8383 4545 lghomelghome 8686 4949 gappsgapps 9090 6363 aimeaime 8282 3838 talkingtomtalkingtom 7575 6767 katanakatana 8181 6565 TunnyBrowserTunnyBrowser 8888 5656

본 발명의 일 실시예에 따른 메모리 관리 또는 정리 방법에 의하면, 메모리 관리를 위한 시간이 현저히 줄어드는 것을 확인할 수 있고, 또한 메모리 사용량이 현저히 감소한 것을 확인할 수 있다. 물론 "전체 GC 시간"에서는 종래 기술에 비해 좀더 많은 시간이 소요된 경우도 있으나, 이는 실험 조건이나 실험 수행에 따라 발생할 수 있는 오류에 해당하므로 무시해도 괜찮을 것이다.
According to the memory management or the organizing method according to an embodiment of the present invention, it is possible to confirm that the time for memory management is remarkably reduced, and the memory usage is remarkably reduced. Of course, in the "total GC time", it may take more time than the conventional technique, but this may be ignored because it corresponds to an error that may occur depending on the experimental condition or the experiment.

위에서 본 발명의 실시예들이 설명되었으며, 당해 기술 분야에 속한 통상의 지식을 가진 자는 이러한 실시예들은 발명을 한정하기 위한 것이 아니라 단지 예시적인 것임을 인식할 수 있고, 본 발명의 범위 또는 사상을 벗어나지 않고 변형, 수정 등이 가능함을 인식할 것이다.
Having described the embodiments of the present invention above, those of ordinary skill in the art will recognize that these embodiments are illustrative rather than limiting, and that various changes and modifications may be made without departing from the scope or spirit of the invention Variations, and modifications may be made without departing from the scope of the present invention.

310: 프로세서 311: 판단부
312: 실행부 313: 인터페이스부
320: 메모리
310: Processor 311:
312: Execution unit 313: Interface unit
320: Memory

Claims (10)

사전 가비지 컬렉션(Garbage Collection)을 수행하는 전자 기기의 메모리 관리 방법으로서,
상기 전자 기기의 휴면상태를 인지하는 단계;
상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하는 단계;
실행되고 있는 각각의 어플리케이션에 할당된 메모리의 사용량이 미리 결정된 임계치를 초과하는지 여부를 판단하는 단계; 및
상기 휴면상태가 상기 일정 기간 동안 지속되고 상기 어플리케이션에 대해 할당된 메모리의 사용량이 미리 결정된 임계치를 초과하면, 상기 어플리케이션에 대해 할당된 메모리에 대해 가비지 컬렉션을 수행하는 단계를 포함하며,
각각의 상기 어플리케이션에 대해 동일한 양의 메모리가 할당되고, 각각의 상기 어플리케이션에 대해 할당된 메모리의 사용량에 대한 임계치는 절대적인 값이거나 현재 힙(heap) 사용량과 타깃 힙(target heap)의 비율이고,
상기 어플리케이션에 대해 할당된 메모리에 대해 가비지 컬렉션을 수행하는 단계는 상기 전자기기의 휴면상태가 인지된 시각 또는 시간(time)을 기록하며, 반복적으로 기록된 시각 또는 시간 중에서 현재로부터 가장 가까운 2개의 시각 또는 시간을 서로 비교하여 휴면 상태의 지속시간을 체크하는, 메모리 관리 방법.
1. A memory management method of an electronic device performing a pre-garbage collection,
Recognizing a sleep state of the electronic device;
Determining whether the sleep state of the electronic device continues for a predetermined period of time;
Determining whether the amount of memory allocated to each application being executed exceeds a predetermined threshold; And
Performing garbage collection on the memory allocated to the application if the sleep state continues for the predetermined period and the amount of memory allocated to the application exceeds a predetermined threshold,
The same amount of memory is allocated for each of the applications and the threshold for the amount of memory allocated for each application is an absolute value or a ratio of the current heap usage to the target heap,
The step of performing garbage collection on the memory allocated to the application records a time or a time at which the sleep state of the electronic device is recognized, and the time of two consecutive times Or comparing the times to each other to check the duration of the sleep state.
제1항에 있어서, 상기 전자 기기의 휴면상태를 인지하는 단계는 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하는 단계를 포함하는, 메모리 관리 방법.
2. The method of claim 1, wherein recognizing the sleep state of the electronic device comprises recording the time (t n ) at which the electronic device entered the sleep state.
제2항에 있어서, 상기 휴면상태로 진입한 시간(tn)을 기록하는 단계는:
상기 기록된 시간(tn) 직전에 휴면상태로 진입한 시간(tp)을 기록하는 단계를 포함하는, 메모리 관리 방법.
3. The method of claim 2, wherein recording the time (t n ) entering the dormant state comprises:
And recording a time (t p ) which entered the sleep state just before the recorded time (t n ).
제3항에 있어서, 상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하는 단계는:
상기 기록된 시간(tn)과 상기 직전에 휴면상태로 진입한 시간(tp)의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정하는, 메모리 관리 방법.
4. The method of claim 3, wherein determining whether the sleep state of the electronic device continues for a period of time comprises:
Calculating a time difference between the recorded time (t n ) and the immediately preceding sleeping state (t p ) to determine whether the time difference is greater than a predetermined value.
삭제delete 메모리 관리를 위해 사전 가비지 컬렉션(Garbage Collection)을 수행하기 위한 전자 기기로서,
상기 전자 기기의 휴면상태를 인지하고, 상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하며, 실행되고 있는 각각의 어플리케이션에 할당된 메모리의 사용량이 미리 결정된 임계치를 초과하는지 여부를 판단하고, 상기 휴면상태가 상기 일정 기간 동안 지속되고 상기 어플리케이션에 대해 할당된 메모리의 사용량이 미리 결정된 임계치를 초과하면, 상기 어플리케이션에 대해 할당된 메모리에 대해 가비지 컬렉션을 수행하도록 구성된 프로세서를 포함하며,
각각의 상기 어플리케이션에 대해 동일한 양의 메모리가 할당되고, 각각의 상기 어플리케이션에 대해 할당된 메모리의 사용량에 대한 임계치는 절대적인 값이거나 현재 힙(heap) 사용량과 타깃 힙(target heap)의 비율이고,
상기 프로세서는 상기 전자기기의 휴면상태가 인지된 시각 또는 시간을 기록하며, 반복적으로 기록된 시각 또는 시간 중에서 현재로부터 가장 가까운 2개의 시각 또는 시간을 서로 비교하여 휴면 상태의 지속시간을 체크하는, 전자 기기.
An electronic device for performing a preliminary garbage collection for memory management,
Determines whether the sleep state of the electronic device is maintained for a predetermined period of time, determines whether or not the usage amount of the memory allocated to each application being executed exceeds a predetermined threshold value And a processor configured to perform garbage collection on the memory allocated for the application if the sleep state continues for the predetermined period and the amount of memory allocated for the application exceeds a predetermined threshold,
The same amount of memory is allocated for each of the applications and the threshold for the amount of memory allocated for each application is an absolute value or a ratio of the current heap usage to the target heap,
Wherein the processor records the time or the time at which the sleep state of the electronic apparatus is recognized and checks the duration of the sleep state by comparing two times or times closest to the present from among the repeated times or times, device.
제6항에 있어서, 상기 프로세서는
상기 전자 기기의 휴면상태를 인지하기 위해, 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하도록 구성되는, 전자 기기.
7. The apparatus of claim 6, wherein the processor
And to record the time (t n ) when the electronic device enters the sleep state to recognize the sleep state of the electronic device.
제7항에 있어서, 상기 프로세서는
상기 기록된 시간(tn) 직전에 휴면상태로 진입한 시간(tp)을 추가로 기록하도록 구성되는, 전자 기기.
8. The apparatus of claim 7, wherein the processor
(T p ) entering the sleep state just before the recorded time (t n ).
제8항에 있어서, 상기 프로세서는
상기 기록된 시간(tn)과 상기 직전에 휴면상태로 진입한 시간(tp)의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정하도록 구성되는, 전자 기기.
9. The apparatus of claim 8, wherein the processor
And is configured to calculate a time difference between the recorded time (t n ) and the immediately preceding sleeping state (t p ) to determine whether the time difference is greater than a predetermined value.
삭제delete
KR1020110141685A 2011-12-23 2011-12-23 An electronics apparatus configured to execute memory cleaning and method thereof KR101908732B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110141685A KR101908732B1 (en) 2011-12-23 2011-12-23 An electronics apparatus configured to execute memory cleaning and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110141685A KR101908732B1 (en) 2011-12-23 2011-12-23 An electronics apparatus configured to execute memory cleaning and method thereof

Publications (2)

Publication Number Publication Date
KR20130073697A KR20130073697A (en) 2013-07-03
KR101908732B1 true KR101908732B1 (en) 2018-10-16

Family

ID=48988090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110141685A KR101908732B1 (en) 2011-12-23 2011-12-23 An electronics apparatus configured to execute memory cleaning and method thereof

Country Status (1)

Country Link
KR (1) KR101908732B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022154380A1 (en) * 2021-01-13 2022-07-21 삼성전자주식회사 Electronic device and method for managing memory of electronic device
WO2023101155A1 (en) * 2021-11-30 2023-06-08 삼성전자 주식회사 Memory recovery method and device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102076181B1 (en) * 2018-10-31 2020-02-11 (주)주인정보시스템 Building automatic control system using virtual agent
KR20230019629A (en) * 2021-08-02 2023-02-09 삼성전자주식회사 Method and apparatus for avoiding operation of garbage collection
EP4283473A4 (en) 2021-08-02 2024-09-04 Samsung Electronics Co Ltd Device and method for reduction of garbage collection operations

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100690804B1 (en) * 2005-06-13 2007-03-09 엘지전자 주식회사 Method for executing garbage collection of mobile terminal
KR100996251B1 (en) * 2008-07-08 2010-11-23 삼성전자주식회사 Method for informing a state of portable terminal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022154380A1 (en) * 2021-01-13 2022-07-21 삼성전자주식회사 Electronic device and method for managing memory of electronic device
WO2023101155A1 (en) * 2021-11-30 2023-06-08 삼성전자 주식회사 Memory recovery method and device

Also Published As

Publication number Publication date
KR20130073697A (en) 2013-07-03

Similar Documents

Publication Publication Date Title
KR101908732B1 (en) An electronics apparatus configured to execute memory cleaning and method thereof
US9734073B2 (en) System and method for flash read cache with adaptive pre-fetch
US10970082B2 (en) Startup accelerating method and apparatus
CN111273832B (en) Content sharing method, device, terminal and storage medium
EP3506106B1 (en) Method for processing application, electronic device, and computer-readable storage medium
KR20180097674A (en) Memory reclaim method and apparatus
EP3506105B1 (en) Method and device for processing a memory and storage medium
US20190205265A1 (en) Memory processing method and device and storage medium
CN105430478B (en) A kind of network video buffered play method, apparatus and television set
CN105677742A (en) Method and apparatus for storing files
US11301084B2 (en) Method of detecting touch point and touch controller
US20160148670A1 (en) Systems and methods for reducing volatile memory standby power in a portable computing device
CN105677483B (en) Data caching method and device
EP2725506A2 (en) Apparatus and method for displaying loading state of web browser in portable terminal
CN103874987B (en) Embedded multi-media card partitioned storage space allocation method and terminal
US20140189272A1 (en) Method and apparatus for managing memory
CN110231963A (en) Application control method and relevant apparatus
EP3392754A1 (en) Method and apparatus for managing storage device
US10359960B1 (en) Allocating storage volumes between compressed and uncompressed storage tiers
CN115623557A (en) Network finding frequency determining method, network finding frequency determining device and electronic equipment
US8589624B2 (en) Systems and methods for background destaging storage tracks
CN114564315A (en) Memory allocation method and device, electronic equipment and medium
CN105549857A (en) Control method for electronic terminal and electronic terminal
CN113270077A (en) Refresh rate setting device, refresh rate setting method, and storage medium
WO2014206197A1 (en) Method and device for browsing network data,and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant