[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20130073697A - 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
KR20130073697A
KR20130073697A KR1020110141685A KR20110141685A KR20130073697A KR 20130073697 A KR20130073697 A KR 20130073697A KR 1020110141685 A KR1020110141685 A KR 1020110141685A KR 20110141685 A KR20110141685 A KR 20110141685A KR 20130073697 A KR20130073697 A KR 20130073697A
Authority
KR
South Korea
Prior art keywords
time
electronic device
dormant state
memory
garbage collection
Prior art date
Application number
KR1020110141685A
Other languages
Korean (ko)
Other versions
KR101908732B1 (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)
  • Telephone Function (AREA)
  • Memory System (AREA)

Abstract

PURPOSE: An electronic device is provided to manage the use of a memory through an invisible memory management process to a user. CONSTITUTION: A system is applicable to a computer, a mobile device, a TV, a smart TV, etc. Whether a service or an option is set is determined (S110) and the dominant state of an electronic device is checked (S120). If the dormant state lasts longer than a certain period of time (S130), the execution of garbage collection is requested (S140). Then, the use rate of a memory is examined (S150), and the garbage collection is executed. [Reference numerals] (AA) Start; (BB) End; (S110) Service setting?; (S120) Dormant state?; (S130) Duration of the dormant state n_1 sec?; (S140) Request the execution of garbage collection; (S150) Memory usage > n_2 %?; (S160) Execute the garbage collection

Description

메모리 정리를 실행하는 전자 기기 및 그 방법 {AN ELECTRONICS APPARATUS CONFIGURED TO EXECUTE MEMORY CLEANING AND METHOD THEREOF}Electronic devices that perform memory cleanup and methods thereof {AN ELECTRONICS APPARATUS CONFIGURED TO EXECUTE MEMORY CLEANING AND METHOD THEREOF}

본 발명은 내장 메모리를 정리 또는 관리하기 위한 전자 기기 또는 그 방법에 관한 것으로서, 좀더 상세하게는 상기 내장 메모리를 정리 또는 관리하기 위해 가비지 컬렉션(garbage collection)을 실행하는 전자 기기 또는 그 방법에 관한 것이다.
The present invention relates to an electronic device or method for organizing or managing an internal memory, and more particularly, to an electronic device or method for executing garbage collection for organizing or managing the internal memory. .

전자 기기에 대용량의 저장매체, 예컨대 메모리가 내장되면서 메모리를 관리 또는 정리하기 위한 솔루션(solution)에 대한 개발이 많이 이루어지고 있다. As a large-capacity storage medium, such as a memory, is embedded in an electronic device, a lot of developments have been made for solutions for managing or organizing the memory.

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

현재에도 이러한 메모리 관리 알고리즘이 존재하나, 종래의 알고리즘들은 위에서 설명한 것처럼 반응속도의 저하로 인해 이러한 알고리즘의 실행을 사용자가 인식가능하도록 설계되어 있다.
Such memory management algorithms still exist today, but conventional algorithms are designed to allow the user to recognize the execution of such algorithms, as described above, due to the slow response.

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

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

상기 전자 기기의 휴면상태를 인지하는 단계는 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하는 단계를 포함할 수 있다. Recognizing a dormant state of the electronic device may include recording a time t n when the electronic device enters a dormant 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 Determining whether the dormant state lasts for a period of time may be performed by calculating a time difference between the recorded time t n and a time immediately before entering the dormant state t p to determine whether the time difference is greater than a predetermined value. You can decide whether or not.

상기 각각의 메모리에 대해 가비지 컬렉션을 수행하는 단계는: 어플리케이션이 실행되고 있는 가상 머신 각각의 메모리 사용량이 미리 결정된 임계치를 초과하는 경우에 해당 메모리에 대해 수행될 수 있다. Garbage collection for each memory may be performed when 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 device for performing pre-garbage collection for cleaning a memory is disclosed. The electronic device recognizes a dormant state of the electronic device, And determining whether to continue for a period of time, and if the dormant state lasts for the period of time, perform a garbage collection for each of the memories.

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

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

상기 프로세서는 어플리케이션이 실행되고 있는 가상 머신 각각의 메모리 사용량이 미리 결정된 임계치를 초과하는 경우에 해당 메모리에 대해 상기 가비지 컬렉션을 수행하도록 구성될 수 있다.
The processor may be configured to perform the garbage collection on the memory when 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 may not recognize the progress of the process of memory management or cleanup, thereby eliminating user inconvenience. In addition, efficient memory management or cleanup can be provided to significantly reduce memory shortages and delays in response to memory.

도 1은 본 발명의 일 실시예에 따른 메모리 정리 방법의 순서도를 도시한다.
도 2는 본 발명의 일 실시예에 따른 각 어플리케이션에 할당된 메모리의 사용량을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 전자 기기의 블록도를 도시한다.
1 is a flowchart of a memory cleanup method according to an embodiment of the present invention.
2 is a view for explaining the amount of memory allocated to each application according to an embodiment of the present invention.
3 illustrates 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

한편, 상기 휴면상태가 인지된 시각 또는 시간을 연속적으로 기록 또는 저장하는 방법이 있을 수도 있다. 이는 단계 S120에서처럼, 상기 전자 기기의 휴면상태가 인지되면, 상기 저장매체는 그 시간 또는 시각을 저장매체에 기록 또는 저장할 수 있다. Meanwhile, there may be a method of continuously recording or storing the time or time at which the sleep state is recognized. As in step S120, when the dormant 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에서 상기 휴면상태의 지속기간을 확인할 수 있다. In addition, the storage medium may store the time or time at a predetermined address of the storage medium, and the time is recognized whenever the electronic device enters the dormant state in a region corresponding to the address. Or you can update the time. In this case, when the dormant state is recognized in step S120, the processor or the controller may call the address of the memory to read the most recent entry time or time t p into the dormant state. The time or time t n corresponding to the time at which the sleep state is recognized in step S120 may be checked by checking the clock or by using another method. The duration of the dormant state may be checked in step S130 using the two times or times thus obtained.

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

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

각각의 어플리케이션 또는 상기 어플리케이션 상의 가상 머신에 대해 현재 사용, 점유 또는 할당중인 메모리의 사용비율(현재 힙(heap) 사용량 대 최대 힙(heap)), 점유율 또는 할당비율 등을 확인할 수 있다(S150). 단계 S150에서, 상기 메모리의 사용비율, 점유율 또는 할당비율이 미리 결정된 값(n2)을 초과하는지 여부를 판단할 수 있다. For each application or a virtual machine on the application, the usage ratio (current heap usage vs. maximum heap), occupancy ratio or allocation ratio of the memory currently being used, occupied or allocated may be checked (S150). In operation S150, it may be determined whether the usage 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 level at which a user of the electronic device cannot recognize a delay, a delay, or a decrease in the response speed, and may be a value changeable by a user or a designer.

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

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

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

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

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

본 발명의 일 실시예에 따른 상기 메모리의 사용량에 대한 임계치는 절대적인 값(예컨대, 수 내지 수백 메가바이트)일 수도 있고, 상기 현재 힙 사용량과 상기 타깃 힙의 비율일 수도 있다. 이에 따라, 도 1에서 설명된 단계 S150의 기재는 본 발명의 범위를 제한하지 않을 것이다. The threshold for the usage of the memory according to an embodiment of the present invention may be an absolute value (eg, 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 invention.

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

도 3은 본 발명의 일 실시예에 따른 전자 기기의 블록도를 도시한다. 상기 전자 기기는 상기 전자 기기의 메모리 관리하거나 정리하기 위해 사전 가비지 컬렉션(Garbage Collection)을 수행하기 위한 전자 기기로서, 상기 전자 기기(300)는 상기 전자 기기(300)의 메모리를 관리 또는 정리하도록 구성된 프로세서(310) 및 각각의 어플리케이션 또는 가상 머신에 할당되는 메모리(320)로 구성될 수 있다. 3 illustrates 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 prior garbage collection to manage or organize the memory of the electronic device. The electronic device 300 is configured to manage or organize the memory of the electronic device 300. It may be composed of a processor 310 and a memory 320 allocated to each application or virtual machine.

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

좀더 상세하게는, 프로세서(310)는 상기 휴면상태를 인지하고, 상기 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하도록 구성된 판단부(311); 상기 휴면상태가 상기 일정 기간 동안 지속되면, 상기 각각의 메모리에 대해 가비지 컬렉션을 수행하도록 구성된 실행부(312); 및 상기 메모리 또는 사용자와 인터페이싱하도록 구성된 인터페이스부(313)를 포함할 수 있다. More specifically, the processor 310 includes a determination unit 311 configured to recognize the dormant state and determine whether the dormant state lasts for a predetermined period of time; An execution unit 312 configured to perform garbage collection on each of the memories when the dormant state lasts for the predetermined period of time; 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 at which the electronic device enters the dormant state in order to recognize the dormant state of the electronic device. The processor may be configured to further record a time t p that enters a dormant state just before the recorded time t n . The processor may be configured to calculate whether a time difference between the recorded time t n and a time t p immediately before entering the dormant state is determined to determine whether the time difference is greater than a predetermined value.

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

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

따라서, 상기 프로세서는 상기 미리 지정된 메모리의 어드레스에 액세스하여 최근까지 업데이트된 휴면상태 진입 시간(tn)을 읽어들일 수 있고, 현재 휴면상태 진입 시간(tc)을 상기 프로세서의 클록이나 기타 다른 장치로부터 읽어들일 수 있으며, 이 둘의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정할 수 있다. Thus, the processor may access the address of the predetermined memory to read a recently updated dormant entry time t n and obtain a current dormant entry time t c from the clock or other device of the processor. The time difference between the two may be calculated to determine whether the time difference is greater than a predetermined value.

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

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

각 실험은 조건은 다음과 같다. Each experiment has the following conditions.

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

- 전체 Sleep 횟수 : 약 20회-Total number of sleep: about 20 times

- 검증 시나리오Validation scenario

Wifi 연결 (sleep)Wifi connection (sleep)

기본 browser 사용하여 (1분) 웹서핑 (sleep)(1 minute) surfing the web using default browser (sleep)

마켓 연결 (구글 계정 로그인) (sleep)Market Connect (Google Account Login) (sleep)

게임(newto50) 내려받은뒤 게임 2회 실행 (sleep)Download game (newto50) and run 2 games (sleep)

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

Dolphin browser로 (1분) 웹서핑 (sleep)Surf the web with Dolphin browser (1 minute) (sleep)

날씨 위젯 내려받은뒤 설치(sleep)Download and install weather widget (sleep)

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

Maps 들어가서 내 위치 및 검색하기(sleep)Enter Maps and find my location (sleep)

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

Facebook 들어가서 (1분) 보기 (sleep)Enter Facebook (1 minute) to view (sleep)

게임(talkingtom) 내려받은뒤 설치 (sleep)Download (talkingtom) and install (sleep)

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

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

Process name Process name Malloc GC
(횟수/time)
Malloc GC
(Count / time)
Concurrent GC
(횟수/time)
Concurrent GC
(Count / time)
Explicit GC
(횟수/time)
Explicit GC
(Count / time)
Total GC Time
(횟수/time)
Total GC Time
(Count / time)
Memory usage(%)Memory usage (%)
system serversystem 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 시간이 길어질 수록, 사용자가 상기 전자 기기를 사용하는 경우에 응답속도가 떨어지는 것을 체험할 확률이 높아진다.Note in Table 1 the total GC time and the memory usage. According to the previous experimental conditions, the experiment resulted in a GC task or memory management / cleanup method corresponding to the total GC time. The longer this time is, the more likely the user is to recognize the execution of the task. Increases. In other words, the longer the total GC time is, the higher the probability that the user experiences a slow response when using the electronic device.

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

Process nameProcess name Malloc GC
(횟수/time)
Malloc GC
(Count / time)
Concurrent GC
(횟수/time)
Concurrent GC
(Count / time)
Explicit GC
(횟수/time)
Explicit GC
(Count / time)
사전 GC
(횟수/time)
Dictionary GC
(Count / time)
Total GC Time
(횟수/time)
Total GC Time
(Count / time)
Memory usage(%)Memory usage (%)
system serversystem 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 result (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 is performed in the dormant state of the electronic device (or other device, device, device, system, etc.), and thus cannot be recognized by the user. .

표 1과 표 2의 결과를 요약 정리하여 다음의 표 3과 표 4를 참조한다. Summarize the results in Table 1 and Table 2 and refer to Table 3 and Table 4 below.

Process nameProcess name 종래 기술에 따른 전체 GC 시간Total GC time according to the prior art 본 발명에 따른 전체 GC 시간Total GC time according to the invention system serversystem 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 serversystem 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 organization method according to an embodiment of the present invention, it can be seen that the time for memory management is significantly reduced, and that the memory usage is significantly reduced. Of course, the "full GC time" may take more time than in the prior art, but this may be ignored because it corresponds to an error that may occur according to experimental conditions or performance of 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: Determination Unit
312: execution unit 313: interface unit
320: memory

Claims (10)

사전 가비지 컬렉션(Garbage Collection)을 수행하는 전자 기기의 메모리 관리 방법으로서,
상기 전자 기기의 휴면상태를 인지하는 단계;
상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하는 단계; 및
상기 휴면상태가 상기 일정 기간 동안 지속되면, 각각의 메모리에 대해 가비지 컬렉션을 수행하는 단계를 포함하는, 메모리 관리 방법.
As a memory management method of an electronic device that performs pre-garbage collection,
Recognizing a dormant state of the electronic device;
Determining whether the dormant state of the electronic device continues for a period of time; And
If the dormant state persists for the period of time, performing garbage collection for each memory.
제1항에 있어서, 상기 전자 기기의 휴면상태를 인지하는 단계는 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하는 단계를 포함하는, 메모리 관리 방법.
The method of claim 1, wherein recognizing a dormant state of the electronic device comprises recording a time t n when the electronic device enters a dormant state.
제2항에 있어서, 상기 휴면상태로 진입한 시간(tn)을 기록하는 단계는:
상기 기록된 시간(tn) 직전에 휴면상태로 진입한 시간(tp)을 기록하는 단계를 포함하는, 메모리 관리 방법.
3. The method of claim 2, wherein recording the time t n entering the dormant state is:
And recording a time (t p ) of entering into a dormant state immediately before the recorded time (t n ).
제3항에 있어서, 상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하는 단계는:
상기 기록된 시간(tn)과 상기 직전에 휴면상태로 진입한 시간(tp)의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정하는, 메모리 관리 방법.
The method of claim 3, wherein the determining whether the dormant state of the electronic device lasts for a period of time comprises:
And calculating the time difference between the recorded time (t n ) and the time (t p ) immediately before entering the dormant state, to determine whether the time difference is greater than a predetermined value.
제1항에 있어서, 상기 각각의 메모리에 대해 가비지 컬렉션을 수행하는 단계는:
어플리케이션이 실행되고 있는 가상 머신 각각의 메모리 사용량이 미리 결정된 임계치를 초과하는 경우에 해당 메모리에 대해 수행되는, 메모리 관리 방법.
2. The method of claim 1, wherein performing garbage collection for each memory comprises:
When the memory usage of each virtual machine on which the application is running exceeds a predetermined threshold, the memory management method.
메모리 관리를 위해 사전 가비지 컬렉션(Garbage Collection)을 수행하기 위한 전자 기기로서,
상기 전자 기기의 휴면상태를 인지하고, 상기 전자 기기의 휴면상태가 일정 기간 동안 지속되는지 여부를 결정하며, 상기 휴면상태가 상기 일정 기간 동안 지속되면, 상기 각각의 메모리에 대해 가비지 컬렉션을 수행하도록 구성된 프로세서를 포함하는, 전자 기기.
An electronic device for performing pre-garbage collection for memory management,
Recognize a dormant state of the electronic device, determine whether the dormant state of the electronic device lasts for a period of time, and if the dormant state lasts for the period of time, perform garbage collection for each of the memories An electronic device comprising a processor.
제6항에 있어서, 상기 프로세서는
상기 전자 기기의 휴면상태를 인지하기 위해, 상기 전자 기기가 휴면상태로 진입한 시간(tn)을 기록하도록 구성되는, 전자 기기.
The processor of claim 6, wherein the processor is
And to record a time (t n ) at which the electronic device has entered a dormant state to recognize a dormant state of the electronic device.
제7항에 있어서, 상기 프로세서는
상기 기록된 시간(tn) 직전에 휴면상태로 진입한 시간(tp)을 추가로 기록하도록 구성되는, 전자 기기.
8. The processor of claim 7, wherein the processor is
And additionally record a time (t p ) of entering into a dormant state immediately before the recorded time (t n ).
제8항에 있어서, 상기 프로세서는
상기 기록된 시간(tn)과 상기 직전에 휴면상태로 진입한 시간(tp)의 시간차를 계산하여, 상기 시간차가 미리 결정된 값보다 큰지 여부를 결정하도록 구성되는, 전자 기기.
The system of claim 8, wherein the processor is
And calculate a time difference between the recorded time (t n ) and a time (t p ) immediately before entering the dormant state, to determine whether the time difference is greater than a predetermined value.
제6항에 있어서, 상기 프로세서는
어플리케이션이 실행되고 있는 가상 머신 각각의 메모리 사용량이 미리 결정된 임계치를 초과하는 경우에 해당 메모리에 대해 상기 가비지 컬렉션을 수행하도록 구성되는, 전자 기기.
The processor of claim 6, wherein the processor is
And perform the garbage collection on the memory when the memory usage of each of the virtual machines on which the application is running exceeds a predetermined threshold.
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 true KR20130073697A (en) 2013-07-03
KR101908732B1 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 (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
WO2023013875A1 (en) * 2021-08-02 2023-02-09 삼성전자주식회사 Device and method for reduction of garbage collection operations
US11868249B2 (en) 2021-08-02 2024-01-09 Samsung Electronics Co., Ltd. Method and apparatus for reducing operation of garbage collection

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220102421A (en) * 2021-01-13 2022-07-20 삼성전자주식회사 Electronic device and memory management method of the electronic device
KR20230080535A (en) * 2021-11-30 2023-06-07 삼성전자주식회사 Method and apparatus for returning memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060129873A (en) * 2005-06-13 2006-12-18 엘지전자 주식회사 Method for executing garbage collection of mobile terminal
KR20100005829A (en) * 2008-07-08 2010-01-18 삼성전자주식회사 Method for informing a state of portable terminal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060129873A (en) * 2005-06-13 2006-12-18 엘지전자 주식회사 Method for executing garbage collection of mobile terminal
KR20100005829A (en) * 2008-07-08 2010-01-18 삼성전자주식회사 Method for informing a state of portable terminal

Cited By (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
WO2023013875A1 (en) * 2021-08-02 2023-02-09 삼성전자주식회사 Device and method for reduction of garbage collection operations
US11868249B2 (en) 2021-08-02 2024-01-09 Samsung Electronics Co., Ltd. Method and apparatus for reducing operation of garbage collection

Also Published As

Publication number Publication date
KR101908732B1 (en) 2018-10-16

Similar Documents

Publication Publication Date Title
US9734073B2 (en) System and method for flash read cache with adaptive pre-fetch
US8082387B2 (en) Methods, systems, and devices for management of a memory system
WO2015169212A1 (en) Startup accelerating method and apparatus
KR20180097674A (en) Memory reclaim method and apparatus
US20190205266A1 (en) Method for processing application, electronic device, and computer-readable storage medium
KR101908732B1 (en) An electronics apparatus configured to execute memory cleaning and method thereof
CN108701026B (en) Method and apparatus for managing processes under memory constraints
US11586544B2 (en) Data prefetching method and terminal device
KR20130021625A (en) Operating method and portable device supporting the same
CN105677483B (en) Data caching method and device
US11036334B2 (en) Method of determining touch detection mode and touch controller
CN114416178A (en) Data access method, device and non-transitory computer readable storage medium
US9063863B2 (en) Systems and methods for background destaging storage tracks
CN115623557A (en) Network finding frequency determining method, network finding frequency determining device and electronic equipment
CN114564315A (en) Memory allocation method and device, electronic equipment and medium
CN104199729A (en) Resource management method and system
CN105549857A (en) Control method for electronic terminal and electronic terminal
CN106470351B (en) Page display method and page display device
CN116560837A (en) Cache resource adjustment method and device, electronic equipment and readable storage medium
CN112162704B (en) Method and device for releasing storage space
CN112965920A (en) Memory management method and device, electronic equipment and storage medium
CN113032290A (en) Flash memory configuration method and device, electronic equipment and storage medium
EP2955621A1 (en) Electronic device and file storing method thereof
CN112911400B (en) Video playing control method and device, storage medium and mobile terminal
KR101101324B1 (en) Mobile Device Including Storage Controlling Apparatus for Controlling Hard Disk Drive and Method for Controlling Storage

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