KR20230114004A - Electronic apparatus and control method thereof - Google Patents

Electronic apparatus and control method thereof Download PDF

Info

Publication number
KR20230114004A
KR20230114004A KR1020220009957A KR20220009957A KR20230114004A KR 20230114004 A KR20230114004 A KR 20230114004A KR 1020220009957 A KR1020220009957 A KR 1020220009957A KR 20220009957 A KR20220009957 A KR 20220009957A KR 20230114004 A KR20230114004 A KR 20230114004A
Authority
KR
South Korea
Prior art keywords
memory
electronic device
usage
capacity
predicted usage
Prior art date
Application number
KR1020220009957A
Other languages
Korean (ko)
Inventor
권진만
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020220009957A priority Critical patent/KR20230114004A/en
Publication of KR20230114004A publication Critical patent/KR20230114004A/en

Links

Images

Classifications

    • 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/5016Allocation 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 the resource being the memory
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

전자장치는, 실행할 프로세스의 개시에 응답하여, 프로세스에 사용될 것으로 예측되는 메모리의 예측 사용량을 식별하고, 메모리의 현재 사용 가능한 가용량을 식별하고, 식별된 가용량 및 식별된 예측 사용량에 기초하여 메모리의 가용량을 추가 확보할 것인지 여부를 판단하며, 판단 결과에 따라서 메모리의 가용량의 추가 확보 동작을 선택적으로 수행하고, 프로세스의 메모리 할당 요청에 응답하여, 프로세스에 메모리를 할당하는 프로세서를 포함한다.In response to initiation of a process to run, the electronic device identifies a predicted amount of memory expected to be used by the process, identifies a currently available amount of memory, and uses the memory based on the identified amount and the identified predicted amount. and a processor that determines whether to additionally secure the available capacity of the memory, selectively performs an additional securing operation of the available capacity of the memory according to the determination result, and allocates the memory to the process in response to a memory allocation request of the process. .

Description

전자장치 및 그 제어방법 {ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF}Electronic device and its control method {ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF}

본 발명은 실행되는 프로세스에 메모리를 할당하는 전자장치 및 그 제어방법에 관한 것으로서, 상세하게는 메모리의 현재 가용량을 고려하여 메모리를 기 할당한 이전 프로세스를 종료시킴으로써 새로운 프로세스에 대한 메모리의 가용량을 확보하는 전자장치 및 그 제어방법에 관한 것이다.The present invention relates to an electronic device for allocating memory to a running process and a method for controlling the same, and more particularly, by terminating a previous process that previously allocated memory in consideration of the current capacity of memory, the available capacity of memory for a new process It relates to an electronic device that secures and a control method thereof.

프로세스를 실행하기 위해, 연산을 위한 CPU, 칩셋, 메모리 등의 전자부품들을 기본적으로 포함하는 전자장치는, 처리 대상이 되는 정보 또는 사용 용도가 무엇인지에 따라서 다양한 종류로 구분될 수 있다. 예를 들면, 전자장치에는 범용의 정보를 처리하는 PC(personal computer)나 서버(server) 등의 정보처리장치, 영상데이터를 처리하는 영상처리장치, 오디오를 처리하는 오디오장치, 가정 내 잡무를 수행하는 생활가전 등이 있다. 영상처리장치는 처리된 영상데이터를 자체 구비한 디스플레이 패널(display panel) 상에 영상으로 표시하는 디스플레이장치로 구현될 수 있다. 이와 같은 다양한 종류의 전자장치는 상호 통신 가능하게 연결되며, 소정의 서비스를 제공하는 서버 또는 호스트의 역할과, 상기한 서비스를 제공받는 클라이언트의 역할 중 어느 하나를 수행할 수 있다.In order to execute a process, an electronic device that basically includes electronic components such as a CPU, a chipset, and a memory for calculation may be classified into various types depending on information to be processed or usage. For example, electronic devices include an information processing device such as a PC (personal computer) or server that processes general-purpose information, an image processing device that processes image data, an audio device that processes audio, and performs household chores. There are household appliances to do. The image processing device may be implemented as a display device that displays processed image data as an image on a display panel provided therewith. These various types of electronic devices are communicatively connected to each other and may perform either a role of a server or host providing a predetermined service or a role of a client receiving the service.

전자장치는 프로세스에 메모리를 할당하고, 해당 프로세스의 데이터를 메모리의 할당된 저장영역에 저장하여 실행시킴으로써, 다양한 기능을 구현한다. 그러나, 전자장치가 동작하는 동안에 다양한 프로세스에 대하여 메모리를 할당하는 한편, 메모리의 저장영역은 제한이 있으므로, 어느 시점에서는 차후 프로세스들의 실행을 위해 메모리의 가용한 용량, 즉 가용량을 확보하는 메모리 확보 동작이 수행될 필요가 있다. 전자장치의 어떤 종류의 운영체제는, 가능한 한 많은 프로세스를 메모리에 상주시키고, 프로세스의 종료에 따른 메모리의 해제는 최대한 늦게 하려는 성향을 가진다. 이는, 유휴 자원의 메모리를 최대한 활용하기 위함이다. 이러한 경우에, 전자장치는 여러 프로세스가 실행되는 중에 메모리의 가용량이 기 설정된 문턱값 이하로 내려가면, 메모리 스왑을 수행하거나 메모리에 할당된 프로세스들 중 일부를 종료시킴으로써 메모리의 충분한 가용량을 확보한다. An electronic device implements various functions by allocating a memory to a process and storing and executing data of the corresponding process in an allocated storage area of the memory. However, while the electronic device allocates memory for various processes while operating, since the storage area of the memory is limited, at some point, the available capacity of the memory, that is, the memory that secures the available capacity is secured for the execution of subsequent processes. An action needs to be performed. A certain type of operating system of an electronic device tends to have as many processes reside in memory as possible and release memory as late as possible upon termination of a process. This is to make maximum use of the memory of the idle resource. In this case, the electronic device secures sufficient memory capacity by performing a memory swap or terminating some of the processes allocated to the memory when the capacity of the memory falls below a preset threshold while several processes are running. .

그런데, 이 경우에는 프로세스가 실행되는 중간에 메모리 확보 동작이 수행되므로, CPU 등의 부하에 따른 프로세스의 동작 지연이 발생할 수도 있다. 예를 들어, 프로세스가 동영상 재생 플레이어이고 영상컨텐트를 재생하여 영상을 표시하는 경우를 고려할 수 있다. 메모리 확보 동작을 수행하기 위해 CPU를 비롯한 전자장치의 자원이 소요되면, 동영상 재생 프로세스에 할당되는 자원이 줄어들게 되고, 이로 인해 영상의 재생이 끊기거나 영상의 재생이 지연되거나 영상의 해상도가 낮아지는 등, 정상적으로 영상컨텐트를 재생하기에 곤란한 상황이 될 수도 있다.However, in this case, since a memory securing operation is performed in the middle of a process being executed, a process operation delay may occur due to a load of a CPU or the like. For example, a case in which the process is a video playback player and displays video by playing video content may be considered. If the resources of the electronic device, including the CPU, are consumed to perform the memory securing operation, the resources allocated to the video playback process are reduced, which causes video playback to be interrupted, video playback to be delayed, or video resolution to be lowered. However, it may be difficult to reproduce video content normally.

따라서, 메모리의 가용량을 확보하면서도, 실행중인 여러 프로세스의 퍼포먼스가 저하되는 것을 방지하여, 원활한 동작을 제공하는 전자장치가 요구된다.Therefore, there is a need for an electronic device that provides smooth operation by preventing deterioration in the performance of various running processes while securing available memory capacity.

본 발명의 실시예에 따른 전자장치는, 메모리와, 실행할 프로세스의 개시에 응답하여, 상기 프로세스에 사용될 것으로 예측되는 상기 메모리의 예측 사용량을 식별하고, 상기 메모리의 현재 사용 가능한 가용량을 식별하고, 상기 식별된 가용량 및 상기 식별된 예측 사용량에 기초하여 상기 메모리의 가용량을 추가 확보할 것인지 여부를 판단하며, 상기 판단 결과에 따라서 상기 메모리의 가용량의 추가 확보 동작을 선택적으로 수행하고, 상기 프로세스의 메모리 할당 요청에 응답하여, 상기 프로세스에 상기 메모리를 할당하는 프로세서를 포함한다.An electronic device according to an embodiment of the present invention, in response to the initiation of a memory and a process to be executed, identifies a predicted usage of the memory expected to be used by the process, identifies a currently usable capacity of the memory, Based on the identified capacity and the identified predicted usage, it is determined whether to additionally secure the capacity of the memory, and according to the determination result, an operation of additionally securing the capacity of the memory is selectively performed, and a processor allocating the memory to the process in response to a memory allocation request of the process.

또한, 상기 프로세서는, 상기 식별된 예측 사용량이 상기 식별된 가용량을 초과하는 것에 기초하여 상기 추가 확보 동작을 수행하고, 상기 식별된 예측 사용량이 상기 식별된 가용량을 초과하지 않는 것에 기초하여 상기 추가 확보 동작을 수행하지 않을 수 있다.In addition, the processor performs the additional securing operation based on the identified predicted usage exceeds the identified capacity, and based on the identified predicted usage does not exceed the identified capacity, the processor Additional securing operations may not be performed.

또한, 상기 프로세서는, 상기 메모리의 예측 사용량을 식별할 수 없는 것에 기초하여 상기 추가 확보 동작을 수행하지 않을 수 있다.In addition, the processor may not perform the additional securing operation based on not being able to identify the estimated usage amount of the memory.

또한, 상기 프로세서는, 상기 프로세스의 메모리 사용 이력에 기초하여 상기 예측 사용량을 식별할 수 있다.Also, the processor may identify the estimated usage amount based on the memory usage history of the process.

또한, 상기 프로세서는, 상기 메모리 사용 이력에서 상기 프로세스의 최대 메모리 사용량들의 평균을 상기 예측 사용량으로 식별할 수 있다.In addition, the processor may identify an average of maximum memory usages of the process in the memory usage history as the predicted usage.

또한, 상기 프로세서는, 상기 메모리 사용 이력에서 상기 프로세스의 최대 메모리 사용량들 중에서 가장 높은 값을 상기 예측 사용량으로 식별할 수 있다.In addition, the processor may identify the highest value among maximum memory usages of the process in the memory usage history as the predicted usage.

또한, 상기 프로세서는, 상기 메모리를 기 할당하여 실행중인 하나 이상의 타 프로세스를 종료시킴으로써 상기 추가 확보 동작을 수행할 수 있다.In addition, the processor may perform the additional securing operation by pre-allocating the memory and terminating one or more other processes that are running.

또한, 스토리지를 더 포함하고, 상기 프로세서는, 실행중인 하나 이상의 타 프로세스에 기 할당된 상기 메모리의 데이터를 상기 스토리지로 이동시킴으로써 상기 추가 확보 동작을 수행할 수 있다.The processor may further include a storage, and the processor may perform the additional securing operation by moving data of the memory pre-allocated to one or more other running processes to the storage.

또한, 외부장치와 통신하는 인터페이스부와, 상기 예측 사용량에 관한 정보가 저장된 스토리지를 더 포함하고, 상기 프로세서는, 상기 인터페이스부를 통해 상기 외부장치로부터 수신되는 업데이트정보를 사용하여 상기 스토리지에 저장된 상기 정보를 업데이트할 수 있다.The processor may further include an interface unit communicating with an external device and a storage storing information on the predicted usage amount, wherein the processor uses update information received from the external device through the interface unit to store the information stored in the storage. can be updated.

또한, 사용자입력부와, 상기 예측 사용량에 관한 정보가 저장된 스토리지를 더 포함하고, 상기 프로세서는, 상기 사용자입력부를 통한 사용자 입력에 따라서 상기 스토리지에 저장된 상기 정보를 업데이트할 수 있다.The processor may further include a user input unit and a storage in which information on the predicted amount of usage is stored, and the processor may update the information stored in the storage according to a user input through the user input unit.

또한, 본 발명의 실시예에 따른 전자장치의 제어방법은, 실행할 프로세스의 개시에 응답하여, 상기 프로세스에 사용될 것으로 예측되는 메모리의 예측 사용량을 식별하는 단계와, 상기 메모리의 현재 사용 가능한 가용량을 식별하는 단계와, 상기 식별된 가용량 및 상기 식별된 예측 사용량에 기초하여 상기 메모리의 가용량을 추가 확보할 것인지 여부를 판단하며, 상기 판단 결과에 따라서 상기 메모리의 가용량의 추가 확보 동작을 선택적으로 수행하는 단계와, 상기 프로세스의 메모리 할당 요청에 응답하여, 상기 프로세스에 상기 메모리를 할당하는 단계를 포함한다.In addition, a control method of an electronic device according to an embodiment of the present invention includes the steps of identifying a predicted usage amount of a memory that is expected to be used in the process in response to the start of a process to be executed, and determining the currently usable capacity of the memory. determining whether to additionally secure the capacity of the memory based on the identified capacity and the identified predicted usage, and selectively performing an additional securing operation of the capacity of the memory according to the determination result and allocating the memory to the process in response to the memory allocation request of the process.

도 1은 전자장치의 구성 블록도이다.
도 2는 전자장치의 제어방법을 나타내는 플로우차트이다.
도 3은 전자장치에서 프로세스의 실행 시 메모리 추가확보 과정을 나타내는 플로우차트이다.
도 4는 전자장치가 프로세스의 예측 사용량에 관한 정보를 획득하는 예시들을 나타내는 구성 블록도이다.
도 5는 전자장치가 프로세스 사용 이력에 기초하여 프로세스의 예측 사용량을 도출하는 방법을 나타내는 예시도이다.
도 6은 타 프로세스들로부터 종료할 것들을 선택하는 방법을 나타내는 예시도이다.
도 7은 전자장치가 프로세스에 대해 식별된 예측 사용량보다 제한하여 메모리를 할당하는 경우를 나타내는 예시도이다.
1 is a configuration block diagram of an electronic device.
2 is a flowchart showing a control method of an electronic device.
3 is a flowchart illustrating a process of securing additional memory when a process is executed in an electronic device.
4 is a block diagram illustrating examples in which an electronic device acquires information about a predicted usage amount of a process.
5 is an exemplary diagram illustrating a method for an electronic device to derive a predicted usage amount of a process based on a process usage history.
6 is an exemplary diagram illustrating a method of selecting those to be terminated from other processes.
7 is an exemplary diagram illustrating a case in which an electronic device allocates memory with a limit greater than the predicted usage amount identified for a process.

이하에서는 첨부도면을 참조하여 본 발명에 따른 실시예들에 관해 상세히 설명한다. 각 도면을 참조하여 설명하는 실시예들은 특별한 언급이 없는 한 상호 배타적인 구성이 아니며, 하나의 장치 내에서 복수 개의 실시예가 선택적으로 조합되어 구현될 수 있다. 이러한 복수의 실시예의 조합은 본 발명의 기술분야에서 숙련된 기술자가 본 발명의 사상을 구현함에 있어서 임의로 선택되어 적용될 수 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. Embodiments described with reference to each drawing are not mutually exclusive configurations unless otherwise specified, and a plurality of embodiments may be selectively combined and implemented in one device. A combination of these plurality of embodiments may be arbitrarily selected and applied by a person skilled in the art in implementing the spirit of the present invention.

만일, 실시예에서 제1구성요소, 제2구성요소 등과 같이 서수를 포함하는 용어가 있다면, 이러한 용어는 다양한 구성요소들을 설명하기 위해 사용되는 것이며, 용어는 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용되는 바, 이들 구성요소는 용어에 의해 그 의미가 한정되지 않는다. 실시예에서 사용하는 용어는 해당 실시예를 설명하기 위해 적용되는 것으로서, 본 발명의 사상을 한정하지 않는다.If there are terms including ordinal numbers, such as the first element and the second element in the embodiment, these terms are used to describe various elements, and the term distinguishes one element from other elements. As used to do, these components are not limited in meaning by terms. Terms used in the embodiments are applied to describe the corresponding embodiments and do not limit the spirit of the present invention.

또한, 본 명세서에서의 복수의 구성요소 중 "적어도 하나(at least one)"라는 표현이 나오는 경우에, 본 표현은 복수의 구성요소 전체 뿐만 아니라, 복수의 구성요소 중 나머지를 배제한 각 하나 혹은 이들의 조합 모두를 지칭한다.In addition, when the expression "at least one" among a plurality of components in the present specification appears, this expression refers to not only the entire plurality of components, but also each one or these excluding the rest of the plurality of components. refers to all combinations of

도 1은 전자장치의 구성 블록도이다.1 is a configuration block diagram of an electronic device.

도 1에 도시된 바와 같이, 본 실시예는 전자장치(1)에 관한 것이다. 전자장치(1)는 다양한 종류의 장치로 구현될 수 있는 바, 예를 들면 PC, 서버 등을 포함하는 정보처리장치이거나; TV, 모니터, 디지털 사이니지(signage), 전자칠판, 전자액자 등을 포함하는 고정형 디스플레이장치이거나; 스마트폰, 태블릿기기, 휴대용 멀티미디어 재생기기 등을 포함하는 모바일기기이거나; 셋탑박스, 광학미디어 재생기기 등을 포함하는 영상처리장치이거나; 냉장고, 세탁기, 의류관리기기, 공기조화기 등을 포함하는 생활가전이거나; IoT(internet of things) 환경을 구축하는 게이트웨이, 허브, 호스트장치, 슬레이브장치이거나; 사람이 착용할 수 있는 웨어러블 디바이스(wearable device) 등으로 구현될 수 있다.As shown in FIG. 1 , this embodiment relates to an electronic device 1 . The electronic device 1 may be implemented as various types of devices, for example, an information processing device including a PC, a server, and the like; fixed display devices including TVs, monitors, digital signage, electronic blackboards, electronic photo frames, and the like; It is a mobile device including a smart phone, tablet device, portable multimedia player, and the like; It is an image processing device including a set-top box, an optical media player, and the like; household appliances including refrigerators, washing machines, clothing management devices, air conditioners, and the like; A gateway, hub, host device, or slave device that builds an IoT (internet of things) environment; It may be implemented as a wearable device that can be worn by a person.

전자장치(1)는 동작을 위해 다양한 하드웨어 요소들을 포함한다. 본 실시예에서는 전자장치(1)가 디스플레이장치로 구현되는 경우에 관해 설명한다. 그러나, 앞서 설명한 바와 같이 전자장치(1)는 다양한 종류의 장치로 구현될 수 있으므로, 이하 설명하는 구성은 다양한 구현 예시 중 하나에 불과함을 밝힌다.The electronic device 1 includes various hardware elements for operation. In this embodiment, a case in which the electronic device 1 is implemented as a display device will be described. However, as described above, since the electronic device 1 can be implemented as various types of devices, the configuration described below is only one of various implementation examples.

전자장치(1)는 인터페이스부(10)를 포함할 수 있다. 인터페이스부(10)는 전자장치(1)가 다양한 종류의 외부장치와 통신을 수행하고, 또한 데이터를 송수신하기 위한 인터페이스 회로를 포함한다. 인터페이스부(10)는 연결 방식에 따라서, 유선 통신연결을 위한 하나 이상의 유선인터페이스부(11), 또는 무선 통신연결을 위한 하나 이상의 무선인터페이스부(12) 중 적어도 하나를 포함한다.The electronic device 1 may include an interface unit 10 . The interface unit 10 includes an interface circuit for the electronic device 1 to communicate with various types of external devices and to transmit/receive data. The interface unit 10 includes at least one of one or more wired interface units 11 for wired communication connection or one or more wireless interface units 12 for wireless communication connection according to a connection method.

유선인터페이스부(11)는 기 정의된 전송규격의 케이블이 접속되는 커넥터 또는 포트를 포함한다. 예를 들면, 유선인터페이스부(11)는 방송신호를 수신하도록 지상파 또는 위성방송 안테나에 접속되거나 케이블방송의 케이블이 접속되는 포트를 포함한다. 또는, 유선인터페이스부(11)는 다양한 영상처리장치와 접속하도록 HDMI, DP(DisplayPort), DVI, 컴포넌트, 컴포지트, S-Video, 썬더볼트(Thunderbolt) 등 다양한 유선전송규격의 케이블이 접속되는 포트를 포함한다. 또는, 유선인터페이스부(11)는 USB 기기와 접속하기 위한 USB 규격의 포트를 포함한다. 또는, 유선인터페이스부(11)는 광케이블이 접속되는 광포트를 포함한다. 또는, 유선인터페이스부(11)는 외부 마이크로폰이 접속되는 오디오 입력 포트와, 헤드셋, 이어폰, 외부 스피커 등이 접속되는 오디오 출력 포트를 포함한다. 또는, 유선인터페이스부(11)는 광역 네트워크에 접속하기 위해 게이트웨이, 라우터, 허브 등에 접속하는 이더넷 포트를 포함한다.The wired interface unit 11 includes a connector or port to which a cable of a predefined transmission standard is connected. For example, the wired interface unit 11 includes a port connected to a terrestrial or satellite broadcasting antenna or a cable of cable broadcasting to receive a broadcasting signal. Alternatively, the wired interface unit 11 provides a port to which cables of various wire transmission standards such as HDMI, DP (DisplayPort), DVI, component, composite, S-Video, and Thunderbolt are connected to connect to various image processing devices. include Alternatively, the wired interface unit 11 includes a USB standard port for connection with a USB device. Alternatively, the wired interface unit 11 includes an optical port to which an optical cable is connected. Alternatively, the wired interface unit 11 includes an audio input port to which an external microphone is connected, and an audio output port to which a headset, earphone, external speaker, etc. are connected. Alternatively, the wired interface unit 11 includes an Ethernet port connected to a gateway, router, hub, or the like to access a wide area network.

무선인터페이스부(12)는 다양한 종류의 무선통신 프로토콜에 대응하는 통신모듈, 통신칩 등의 구성요소들 중 적어도 하나 이상을 포함하는 양방향 통신회로를 포함한다. 예를 들면, 무선인터페이스부(12)는 와이파이(Wi-Fi) 방식에 따라서 AP(Access Point)와 무선통신을 수행하는 와이파이 통신칩과, 블루투스, Zigbee, Z-Wave, WirelessHD, WiGig, NFC 등의 무선통신을 수행하는 통신칩, IR 통신을 위한 IR 모듈, 모바일기기와 이동통신을 수행하는 이동통신칩 등을 포함한다.The wireless interface unit 12 includes a bidirectional communication circuit including at least one of components such as communication modules and communication chips corresponding to various types of wireless communication protocols. For example, the wireless interface unit 12 includes a Wi-Fi communication chip that performs wireless communication with an AP (Access Point) according to a Wi-Fi method, Bluetooth, Zigbee, Z-Wave, WirelessHD, WiGig, NFC, etc. It includes a communication chip that performs wireless communication, an IR module for IR communication, and a mobile communication chip that performs mobile communication with a mobile device.

전자장치(20)는 디스플레이부(20)를 포함할 수 있다. 디스플레이부(20)는 프로세서(270)에 의해 처리되는 영상신호를 영상으로 표시하기 위한 화면을 형성한다. 디스플레이부(20)는 디스플레이 패널을 포함하는데, 디스플레이 패널의 구조에는 여러 가지 설계방식이 적용될 수 있다. 예를 들면, 디스플레이부(20)는 액정과 같은 수광형 구조의 디스플레이 패널 및 이에 광을 제공하는 백라이트를 포함할 수 있다. 또는, 디스플레이부(20)는 OLED(organic light emitting diodes)와 같은 자발광 구조의 디스플레이 패널을 포함할 수 있다. 또는, 디스플레이부(20)는 복수의 마이크로 LED 모듈이 타일 형태로 조합되어 대화면을 형성하는 구조일 수도 있다.The electronic device 20 may include a display unit 20 . The display unit 20 forms a screen for displaying the image signal processed by the processor 270 as an image. The display unit 20 includes a display panel, and various design methods may be applied to the structure of the display panel. For example, the display unit 20 may include a display panel having a light-receiving structure such as a liquid crystal and a backlight providing light to the display panel. Alternatively, the display unit 20 may include a display panel having a self-emitting structure such as organic light emitting diodes (OLEDs). Alternatively, the display unit 20 may have a structure in which a plurality of micro LED modules are combined in a tile form to form a large screen.

전자장치(1)는 사용자입력부(30)를 포함할 수 있다. 사용자입력부(30)는 사용자의 입력을 수행하기 위해 사용자가 조작할 수 있도록 마련된 다양한 종류의 사용자 입력 인터페이스 관련 회로를 포함한다. 사용자입력부(30)는 전자장치(1)의 종류에 따라서 여러 가지 형태의 구성이 가능하며, 예를 들면 전자장치(1)의 기계 버튼부 또는 전자 버튼부; 다양한 종류의 센서; 터치패드; 디스플레이부(20)에 설치된 터치스크린; 전자장치(1)와 분리되며 인터페이스부(10)를 통해 연결된 키보드, 마우스, 리모트 컨트롤러와 같은 외부입력기기 등이 있다.The electronic device 1 may include a user input unit 30 . The user input unit 30 includes various types of user input interface-related circuits prepared to be manipulated by the user in order to perform user input. The user input unit 30 can be configured in various forms according to the type of the electronic device 1, for example, a mechanical button or electronic button of the electronic device 1; various types of sensors; touchpad; a touch screen installed on the display unit 20; There are external input devices such as a keyboard, a mouse, and a remote controller that are separated from the electronic device 1 and connected through the interface unit 10 .

전자장치(1)는 저장부(40)를 포함할 수 있다. 저장부(40)는 디지털화된 데이터를 저장하기 위한 저장공간을 가진다. 저장부(40)는 프로세서(50)에 의해 처리되기 위한 데이터가 저장되며 전원이 제공되지 않으면 데이터를 보존할 수 없는 휘발성 속성을 가진 하나 이상의 메모리(memory)(41)를 포함한다. 메모리(41)에는 버퍼(buffer), 램(RAM; Random Access Memory) 등이 있다. 또한, 저장부(140)는 전원의 제공 유무와 무관하게 데이터를 보존할 수 있는 비휘발성 속성을 가진 하나 이상의 스토리지(storage)(42)를 포함한다. 스토리지(42)에는 플래시메모리(flash-memory), HDD(hard-disc drive), SSD(solid-state drive) ROM(Read Only Memory) 등이 있다.The electronic device 1 may include a storage unit 40 . The storage unit 40 has a storage space for storing digitized data. The storage unit 40 stores data to be processed by the processor 50 and includes one or more memories 41 having volatile properties that cannot preserve data unless power is supplied. The memory 41 includes a buffer, random access memory (RAM), and the like. In addition, the storage unit 140 includes one or more storages 42 having non-volatile properties capable of preserving data regardless of whether or not power is provided. The storage 42 includes a flash-memory, a hard-disc drive (HDD), a solid-state drive (SSD), and a read only memory (ROM).

전자장치(1)는 프로세서(50)를 포함할 수 있다. 프로세서(50)는 인쇄회로기판 상에 장착되는 CPU, 칩셋, 버퍼, 회로 등으로 구현되는 하나 이상의 하드웨어 프로세서를 포함하며, 설계 방식에 따라서는 SOC(system on chip)로 구현될 수도 있다. 전자장치(1)가 디스플레이장치인 경우에, 프로세서(50)는 영상컨텐트를 영상으로 표시하기 위해 디멀티플렉서, 디코더, 스케일러, 오디오 DSP(Digital Signal Processor), 앰프 등의 다양한 프로세스에 대응하는 모듈들을 포함한다. 여기서, 이러한 모듈들 중 일부 또는 전체가 SOC로 구현될 수 있다. 예를 들면, 디멀티플렉서, 디코더, 스케일러 등 영상처리와 관련된 모듈이 영상처리 SOC로 구현되고, 오디오 DSP는 SOC와 별도의 칩셋으로 구현되는 것이 가능하다.The electronic device 1 may include a processor 50 . The processor 50 includes one or more hardware processors implemented as a CPU, chipset, buffer, circuit, etc. mounted on a printed circuit board, and may be implemented as a system on chip (SOC) depending on a design method. When the electronic device 1 is a display device, the processor 50 includes modules corresponding to various processes such as a demultiplexer, a decoder, a scaler, an audio digital signal processor (DSP), and an amplifier to display video content as an image. do. Here, some or all of these modules may be implemented as an SOC. For example, modules related to image processing, such as a demultiplexer, a decoder, and a scaler, may be implemented as an image processing SOC, and an audio DSP may be implemented as a separate chipset from the SOC.

프로세서(50)는 전자장치(1)의 동작을 위해 운영체제(60)를 비롯한 여러 소프트웨어 프로그램을 실행시킨다. 예를 들어, 운영체제(60)의 원본 데이터는 스토리지(42)에 저장되며, 전자장치(1)의 부팅에 따라서 이 데이터가 메모리(41)에 저장됨으로써 운영체제(60)가 실행된다. 다양한 종류의 어플리케이션이 운영체제(60) 상에서 실행되며, 프로세서(50)는 이러한 프로그램들의 실행을 위한 연산처리를 수행한다. 전자장치(1)에서 소정의 기능이 요구될 때, 운영체제(60) 또는 어플리케이션에 의해 해당 기능에 관련된 프로세스(62)의 데이터가 메모리(41)에 저장되고 실행된다.The processor 50 executes various software programs including the operating system 60 for the operation of the electronic device 1 . For example, original data of the operating system 60 is stored in the storage 42, and the operating system 60 is executed by storing this data in the memory 41 according to booting of the electronic device 1. Various types of applications are executed on the operating system 60, and the processor 50 performs calculation processing for the execution of these programs. When a predetermined function is requested in the electronic device 1, data of a process 62 related to the corresponding function is stored in the memory 41 and executed by the operating system 60 or an application.

전자장치(1)는 메모리(41)의 저장공간을 관리하기 위한 메모리관리모듈(61)을 포함한다. 메모리관리모듈(61)은 운영체제(60)의 일부이거나, 운영체제(60) 상에서 구동되는 미들웨어 또는 어플리케이션일 수 있다. 메모리관리모듈(61)은 프로세서(50)의 연산처리에 의해 실행된다. 메모리관리모듈(61)은, 예를 들어 프로세스(62)를 실행하기 위한 요청이 발생하면, 해당 프로세스(62)로부터 메모리(41) 할당 요청을 수신하고, 해당 프로세스(62)에 대응하는 데이터가 메모리(41)의 저장공간에 저장될 수 있도록 해당 프로세스(62)에 메모리(41)를 할당한다. 프로세스(62)에 대한 메모리(41)의 할당 시, 메모리관리모듈(61)은 메모리(41)의 전체 저장공간 중 현재 가용한 저장공간(즉, 타 프로세스에 의해 사용되지 않고 있는 저장공간)을 해당 프로세스(62)에 할당한다.The electronic device 1 includes a memory management module 61 for managing the storage space of the memory 41 . The memory management module 61 may be part of the operating system 60 or may be middleware or an application running on the operating system 60 . The memory management module 61 is executed by the arithmetic processing of the processor 50 . The memory management module 61, for example, when a request to execute the process 62 occurs, receives a memory 41 allocation request from the process 62, and data corresponding to the process 62 is stored. The memory 41 is allocated to the corresponding process 62 so that it can be stored in the storage space of the memory 41 . When allocating the memory 41 to the process 62, the memory management module 61 selects currently available storage space (that is, storage space not used by other processes) among the entire storage space of the memory 41. Allocated to the corresponding process (62).

여기서, 프로세스(62)에 대한 메모리(41) 할당에 관해 설명한다. 프로세스(62)가 실행되기 위해서는 프로세서(50)가 연산 가능하도록 프로세스(62)의 데이터가 메모리(41) 상에 저장되어 있어야 한다. 프로세스(62)의 실행의 개시 시, 스토리지(42)에 저장되어 있는 프로세스(62)의 데이터는 메모리(41)로 저장된다. 상기한 데이터가 메모리(41)에 저장되기에 앞서서, 먼저 메모리관리모듈(61)은 메모리(41)의 가용한 저장공간 중에서 프로세스(62)에 할당할 저장공간을 지정한다. 이후, 프로세스(62)의 데이터는 메모리(41)의 상기와 같이 지정된 저장공간에 저장된다. 이와 같이 메모리관리모듈(61)이 프로세스(62)의 데이터가 저장되기 위한 메모리(41)의 저장공간을 지정하는 동작이, 해당 프로세스(62)에 대한 메모리(41) 할당에 해당한다.Here, the allocation of the memory 41 to the process 62 will be described. In order for the process 62 to be executed, data of the process 62 must be stored in the memory 41 so that the processor 50 can operate. Upon initiation of execution of the process 62 , the data of the process 62 stored in the storage 42 is stored into the memory 41 . Prior to storing the above data in the memory 41, the memory management module 61 first designates a storage space to be allocated to the process 62 from among available storage spaces in the memory 41. After that, the data of the process 62 is stored in the above-designated storage space of the memory 41 . In this way, an operation in which the memory management module 61 designates a storage space of the memory 41 for storing data of the process 62 corresponds to allocation of the memory 41 for the corresponding process 62 .

이와 같이 프로세스(62)의 실행 개시 시점으로부터, 프로세스(62)에 대한 메모리(41)의 할당 요청이 수신되고, 메모리(41)를 할당받은 후 프로세스(62)가 실행되는 시점까지의 과정에서, 프로세서(50)는 메모리관리모듈(61)을 사용하여 메모리(41)의 사용 가능한 저장공간을 추가로 확보하는(즉, 메모리(41)의 가용량을 추가로 확보하는) 동작을 수행할 수 있다. 이하, 이러한 실시예에 관해 설명한다.In this way, in the process from the start point of execution of the process 62 to the point at which the memory 41 allocation request for the process 62 is received, the memory 41 is allocated, and the process 62 is executed, The processor 50 may perform an operation of additionally securing usable storage space of the memory 41 (ie, additionally securing the available capacity of the memory 41) using the memory management module 61. . Hereinafter, these embodiments will be described.

도 2는 전자장치의 제어방법을 나타내는 플로우차트이다.2 is a flowchart showing a control method of an electronic device.

도 1 및 도 2에 도시된 바와 같이, 하기 동작은 전자장치(1)의 프로세서(50)에 의해 수행된다.As shown in FIGS. 1 and 2 , the following operations are performed by the processor 50 of the electronic device 1 .

210 단계에서 전자장치(1)는 프로세스(62)의 개시 이벤트를 감지한다. 전자장치(1)는 동작 중에, 새로운 프로세스(62)의 실행 개시 요청을 접수할 수 있다.In step 210, the electronic device 1 detects the start event of the process 62. During operation, the electronic device 1 may receive a request for starting execution of a new process 62 .

220 단계에서 전자장치(1)는 프로세스(62)에 사용될 것으로 예측되는 메모리(41)의 예측 사용량을 식별한다. 본 예측 사용량은, 프로세스(62)에 대해 메모리(41)를 할당한 이후, 프로세스(62)가 실행되는 동안에 사용할 것으로 예측되는 메모리(41)의 최대 사용량과 연관된다. 예측 사용량에 관한 자세한 설명은 후술한다.In step 220, the electronic device 1 identifies the predicted amount of memory 41 used in the process 62. The predicted usage is related to the maximum usage of the memory 41 predicted to be used while the process 62 is running, after the memory 41 is allocated for the process 62 . A detailed description of the predicted usage amount will be described later.

230 단계에서 전자장치(1)는 메모리(41)의 현재 사용 가능한 가용량을 식별한다. 즉, 전자장치(1)는 메모리(41)의 전체 저장공간 중에서 아직 사용되지 않는 저장공간의 용량을 식별한다.In step 230, the electronic device 1 identifies the currently usable capacity of the memory 41. That is, the electronic device 1 identifies the capacity of the storage space that is not yet used among the entire storage space of the memory 41 .

240 단계에서 전자장치(1)는 식별된 가용량 및 식별된 예측 사용량에 기초하여, 메모리(41)의 가용량을 추가 확보할 것인지 여부를 판단한다. 예를 들어, 전자장치(1)는 상기한 가용량 및 예측 사용량을 상호 비교한 결과에 따라서 상기한 판단을 수행하는데, 이에 관한 자세한 설명은 후술한다.In step 240, the electronic device 1 determines whether to additionally secure the available capacity of the memory 41 based on the identified available capacity and the identified predicted usage. For example, the electronic device 1 performs the above determination according to a result of mutually comparing the available capacity and the predicted usage, which will be described in detail later.

250 단계에서 판단 결과가 메모리(41)의 가용량을 추가 확보하는 것이면(250 단계에서 "Yes"), 260 단계에서 전자장치(1)는 추가 확보 동작을 수행하고, 270 단계로 이행한다. 반면에, 250 단계에서 판단 결과가 메모리(41)의 가용량을 추가 확보하지 않는 것이면(250 단계에서 "No"), 전자장치(1)는 추가 확보 동작을 수행하지 않고 270 단계로 이행한다.If the determination result in step 250 is to additionally secure the available capacity of the memory 41 (“Yes” in step 250), the electronic device 1 performs an additional securing operation in step 260 and proceeds to step 270. On the other hand, if the determination result in step 250 is not to additionally secure the available capacity of the memory 41 (“No” in step 250), the electronic device 1 does not perform an additional securing operation and proceeds to step 270.

270 단계에서 전자장치(1)는 프로세스(62)의 메모리 할당 요청에 응답하여 프로세스(62)에 메모리(41)를 할당한다. 이로써, 프로세스(62)의 데이터는 메모리(41)의 할당된 저장공간에 저장되고, 프로세스(62)가 실행된다.In step 270, the electronic device 1 allocates the memory 41 to the process 62 in response to the memory allocation request of the process 62. Thus, the data of the process 62 is stored in the allocated storage space of the memory 41, and the process 62 is executed.

프로세스(62)의 런칭(즉, 실행 개시 이벤트), 프로세스(62)의 메모리(41) 할당 요청, 프로세스(62)에 대한 메모리(41) 할당, 프로세스(62)의 실행의 시퀀스가 진행된다. 이러한 시퀀스에서, 본 실시예에 따른 전자장치(1)는 프로세스(62)에 의한 메모리(41)의 예측 사용량에 기초하여 메모리(41)의 가용량을 추가로 확보하는 동작을, 프로세스(62)의 메모리(41) 할당 요청이 발생하기 이전에 수행한다. 이와 같이, 전자장치(1)는 프로세스(62)를 위한 메모리(41)의 가용량을 미리 추가 확보함으로써, 프로세스(62)의 실행 시 퍼포먼스가 지연되는 것을 방지할 수 있다. 프로세스(62)의 퍼포먼스가 지연되는 예시로는, 영상컨텐트 재생 중에 영상 및 오디오의 동기가 어긋나거나, 영상이 끊기거나, 영상의 화질이 저하되는 등의 경우가 있다.The process 62 launches (i.e., an execution start event), process 62 requests memory 41 allocation, memory 41 allocation to process 62, and execution of process 62 proceeds in sequence. In this sequence, the electronic device 1 according to the present embodiment performs an operation of additionally securing the available capacity of the memory 41 based on the predicted usage amount of the memory 41 by the process 62. It is performed before the memory 41 allocation request of the occurrence occurs. In this way, the electronic device 1 can prevent performance from being delayed when the process 62 is executed by additionally securing the capacity of the memory 41 for the process 62 in advance. As an example of delay in the performance of the process 62, there is a case where the video and audio are out of sync during video content playback, the video is cut off, or the video quality is degraded.

결과적으로, 전자장치(1)는 메모리(41)의 가용량의 추가 확보 및 프로세스(62)의 퍼포먼스의 지연 방지를 함께 달성함으로써, 원활한 동작을 제공할 수 있다.As a result, the electronic device 1 can provide a smooth operation by achieving additional securing of the available capacity of the memory 41 and prevention of performance delay of the process 62 .

한편, 전자장치(1)의 프로세서(50)는 상기와 같이 프로세스(62)에 사용될 것으로 예측되는 메모리(41)의 예측 사용량을 식별하는 동작, 또는 프로세스(62)를 위해 메모리(41)의 가용량을 추가 확보할 것인지 여부를 판단하는 동작 등을 수행하기 위한 데이터 분석, 처리, 및 결과 정보 생성 중 적어도 일부를 규칙 기반 또는 인공지능(Artificial Intelligence) 알고리즘으로서 기계학습, 신경망 네트워크(neural network), 또는 딥러닝 알고리즘 중 적어도 하나를 이용하여 수행할 수 있다.On the other hand, the processor 50 of the electronic device 1 identifies the predicted usage of the memory 41 expected to be used in the process 62 as described above, or the availability of the memory 41 for the process 62 Machine learning, neural network, Alternatively, it may be performed using at least one of deep learning algorithms.

일 예로, 전자장치(1)의 프로세서(50)는 학습부 및 인식부의 기능을 함께 수행할 수 있다. 학습부는 학습된 신경망 네트워크를 생성하는 기능을 수행하고, 인식부는 학습된 신경망 네트워크를 이용하여 데이터를 인식(또는, 추론, 예측, 추정, 판단)하는 기능을 수행할 수 있다. 학습부는 신경망 네트워크를 생성하거나 갱신할 수 있다. 학습부는 신경망 네트워크를 생성하기 위해서 학습 데이터를 획득할 수 있다. 일 예로, 학습부는 학습 데이터를 전자장치(1)의 저장부 또는 외부로부터 획득할 수 있다. 학습 데이터는, 신경망 네트워크의 학습을 위해 이용되는 데이터일 수 있으며, 상기한 동작을 수행한 데이터를 학습데이터로 이용하여 신경망 네트워크를 학습시킬 수 있다.For example, the processor 50 of the electronic device 1 may perform functions of a learning unit and a recognizing unit together. The learning unit may perform a function of generating a learned neural network, and the recognizing unit may perform a function of recognizing (or inferring, predicting, estimating, or judging) data using the learned neural network. The learning unit may create or update a neural network. The learning unit may acquire learning data to generate a neural network. For example, the learning unit may acquire learning data from the storage unit of the electronic device 1 or from the outside. The learning data may be data used for learning of the neural network, and the neural network may be trained by using data on which the above operations are performed as learning data.

학습부는 학습 데이터를 이용하여 신경망 네트워크를 학습시키기 전에, 획득된 학습 데이터에 대하여 전처리 작업을 수행하거나, 또는 복수 개의 학습 데이터들 중에서 학습에 이용될 데이터를 선별할 수 있다. 일 예로, 학습부는 학습 데이터를 기 설정된 포맷으로 가공하거나, 필터링하거나, 또는 노이즈를 추가/제거하여 학습에 적절한 데이터의 형태로 가공할 수 있다. 학습부는 전처리된 학습 데이터를 이용하여 상기한 동작을 수행하도록 설정된 신경망 네트워크를 생성할 수 있다.The learning unit may perform pre-processing on the acquired training data before training the neural network using the training data, or may select data to be used for learning from among a plurality of training data. For example, the learning unit may process the learning data into a form of data suitable for learning by processing the learning data in a preset format, filtering, or adding/removing noise. The learning unit may generate a neural network set to perform the above operation using the preprocessed training data.

학습된 신경망 네트워크는, 복수의 신경망 네트워크(또는, 레이어)들로 구성될 수 있다. 복수의 신경망 네트워크의 노드들은 가중치를 가지며, 복수의 신경망 네트워크들은 일 신경망 네트워크의 출력 값이 다른 신경망 네트워크의 입력 값으로 이용되도록 서로 연결될 수 있다. 신경망 네트워크의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN (Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks)과 같은 모델을 포함할 수 있다.A learned neural network may be composed of a plurality of neural networks (or layers). Nodes of a plurality of neural network networks have weights, and the plurality of neural network networks may be connected to each other so that an output value of one neural network network is used as an input value of another neural network network. Examples of neural network networks include Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), and It may include models such as Deep Q-Networks.

한편 인식부는 상기한 동작을 수행하기 위해, 타겟 데이터를 획득할 수 있다. 타겟 데이터는 전자장치의 저장부 또는 외부로부터 획득된 것일 수 있다. 타겟 데이터는 신경망 네트워크의 인식 대상이 되는 데이터일 수 있다. 인식부는 타겟 데이터를 학습된 신경망 네트워크에 적용하기 전에, 획득된 타겟 데이터에 대하여 전처리 작업을 수행하거나, 또는 복수 개의 타겟 데이터들 중에서 인식에 이용될 데이터를 선별할 수 있다. 일 예로, 인식부는 타겟 데이터를 기 설정된 포맷으로 가공하거나, 필터링 하거나, 또는 노이즈를 추가/제거하여 인식에 적절한 데이터의 형태로 가공할 수 있다. 인식부는 전처리된 타겟 데이터를 신경망 네트워크에 적용함으로써, 신경망 네트워크로부터 출력되는 출력값을 획득할 수 있다. 인식부는 출력값과 함께, 확률값 또는 신뢰도값을 획득할 수 있다.Meanwhile, the recognizer may obtain target data to perform the above operation. The target data may be acquired from a storage unit of the electronic device or from the outside. The target data may be data to be recognized by a neural network. Before applying the target data to the learned neural network, the recognizer may perform preprocessing on the acquired target data or select data to be used for recognition from among a plurality of target data. For example, the recognizer may process the target data into a form of data suitable for recognition by processing the target data into a preset format, filtering, or adding/removing noise. The recognizer may obtain an output value output from the neural network by applying the preprocessed target data to the neural network. The recognition unit may obtain a probability value or a reliability value together with the output value.

이하, 전자장치(1)의 구체적인 동작에 관해 설명한다.Hereinafter, specific operations of the electronic device 1 will be described.

도 3은 전자장치에서 프로세스의 실행 시 메모리 추가확보 과정을 나타내는 플로우차트이다.3 is a flowchart illustrating a process of securing additional memory when a process is executed in an electronic device.

도 1, 도 2 및 도 3에 도시된 바와 같이, 전자장치(1)의 프로세서(50)는 전방 태스크(foreground task)(310), 메모리관리 태스크(memory management task)(320), 후방 태스크(background task)(330)의 세 가지 동작을 병행하여 수행할 수 있다(각 태스크의 명칭은 편의상 붙여진 것으로서 각 명칭이 실시예의 특징을 한정하지 않음). 전방 태스크(310)에서는, 초기 시점 T0에서 프로세스(62)의 실행이 개시된다. 메모리관리 태스크(320)에서는 전방 태스크(310) 및 후방 태스크(330) 각각의 과정과 관련된 메모리(41)의 관리가 이루어지며, 예를 들어 메모리(41)의 추가 확보 동작이 선택적으로 수행된다. 소프트웨어의 측면에서, 메모리관리 태스크(320)는 예를 들어 메모리관리모듈(61)에 의해 실행될 수 있다. 후방 태스크(330)에서는 초기 시점 T0에서 이미 메모리(41)가 할당되어 실행중인 하나 이상의 타 프로세스에 관련된 동작이 수행된다.1, 2 and 3, the processor 50 of the electronic device 1 includes a foreground task 310, a memory management task 320, and a rear task ( The three operations of the background task) 330 can be performed in parallel (the names of each task are given for convenience, and each name does not limit the characteristics of the embodiment). In forward task 310, execution of process 62 is initiated at an initial time T0. In the memory management task 320, management of the memory 41 related to each process of the front task 310 and the back task 330 is performed, and for example, an additional securing operation of the memory 41 is selectively performed. In terms of software, the memory management task 320 may be executed by, for example, the memory management module 61 . In the back task 330, an operation related to one or more other processes already assigned to and executing the memory 41 at the initial time point T0 is performed.

초기 시점 T0 이전에는 프로세스(62)가 실행되고 있지 않고, 하나 이상의 타 프로세스가 실행되고 있다(400 단계). 이 때, 프로세스(62)의 런칭 이벤트, 즉 프로세스(62)의 실행 요청에 따라서 프로세스(62)의 실행이 개시된다(410 단계; 도 2의 201 단계에 대응). 앞서 설명한 바와 같이, 프로세스(62)가 실행되기 이전에, 프로세스(62)에 메모리(41)가 할당되고(즉, 프로세스(62)에 메모리(41)의 가용한 저장공간이 할당되고), 할당된 메모리(41)의 저장공간에 프로세스(62)의 데이터가 저장된다.Prior to the initial point in time T0, process 62 is not running, and one or more other processes are running (step 400). At this time, execution of the process 62 is started according to the launching event of the process 62, that is, the execution request of the process 62 (step 410; corresponding to step 201 of FIG. 2). As described above, before the process 62 is executed, the memory 41 is allocated to the process 62 (i.e., the available storage space of the memory 41 is allocated to the process 62), and the allocation The data of the process 62 is stored in the storage space of the memory 41.

전자장치(1)는 프로세스(62)에 사용될 것으로 예측되는 메모리(41)의 예측 사용량을 식별한다(420 단계; 도 2의 220 단계에 대응). 이와 같은 예측 사용량은 여러 가지 방식으로 식별될 수 있는데, 이에 관한 자세한 설명은 후술한다.The electronic device 1 identifies the predicted usage amount of the memory 41 that is expected to be used in the process 62 (step 420; corresponds to step 220 of FIG. 2). Such predicted usage may be identified in various ways, which will be described in detail later.

전자장치(1)는 메모리(41)의 현재 가용량이 식별된 예측 사용량보다 큰지 여부를 판단한다(430 단계; 도 2의 230, 240, 250 단계에 대응). 본 실시예에서는 식별된 예측 사용량과 메모리(41)의 현재 가용량을 비교하는 경우에 관해 설명하지만, 그 이외의 방법도 가능하다. 통상적으로 메모리(41)는 전자장치(1)의 정상적인 퍼포먼스를 위해 저장공간을 필요로 하는 바, 전자장치(1)는 메모리(41)의 현재 가용량에서 상기한 이유를 고려하여 사전 설정된 용량을 차감하고, 식별된 예측 사용량과 상기 차감된 용량을 비교할 수도 있다.The electronic device 1 determines whether the current available capacity of the memory 41 is greater than the identified predicted usage amount (step 430; corresponding to steps 230, 240 and 250 of FIG. 2). In this embodiment, the case of comparing the identified predicted usage amount and the current available capacity of the memory 41 will be described, but other methods are also possible. In general, the memory 41 requires storage space for normal performance of the electronic device 1, and the electronic device 1 has a preset capacity in consideration of the above reasons from the current available capacity of the memory 41. It may be deducted, and the identified predicted usage amount and the deducted capacity may be compared.

메모리(41)의 현재 가용량이 식별된 예측 사용량보다 크면(430 단계에서 "Yes"; 도 2의 250 단계에서 "No"에 대응), 전자장치(1)는 480 단계로 이행한다. 반면에, 메모리(41)의 현재 가용량이 식별된 예측 사용량보다 크지 않으면(430 단계에서 "No"; 도 2의 250 단계에서 "Yes"에 대응), 전자장치(1)는 메모리(41) 추가 확보 동작을 수행한다(도 2의 260 단계에 대응). 메모리(41) 추가 확보 동작의 예시로서, 전자장치(1)는 타 프로세스 중에서 종료할 타 프로세스를 선별하고(440 단계), 선별된 타 프로세스의 종료신호를 후방 태스크(330) 측으로 전달한다(450 단계). 전자장치(1)는 이러한 종료신호에 따라서, 선별된 타 프로세스를 종료시킨다(460 단계). 타 프로세스가 종료되면, 종료된 타 프로세스에 할당되었던 메모리(41)의 저장공간은 다시 사용될 수 있다(즉, 메모리(41)의 가용량에 추가됨).If the current available capacity of the memory 41 is greater than the identified predicted usage amount (“Yes” in step 430; corresponding to “No” in step 250 of FIG. 2), the electronic device 1 proceeds to step 480. On the other hand, if the current available capacity of the memory 41 is not greater than the identified predicted usage ("No" in step 430; corresponding to "Yes" in step 250 of FIG. 2), the electronic device 1 adds the memory 41 A securing operation is performed (corresponding to step 260 in FIG. 2). As an example of an additional securing operation of the memory 41, the electronic device 1 selects another process to be terminated from among other processes (step 440), and transmits an end signal of the selected other process to the rear task 330 (step 450). step). The electronic device 1 terminates the selected other process according to the termination signal (step 460). When another process is terminated, the storage space of the memory 41 allocated to the terminated other process can be used again (ie, added to the available capacity of the memory 41).

메모리(41) 추가 확보 동작이 상기한 예시만으로 한정되는 것은 아니다. 예를 들면, 전자장치(1)는 메모리(41) 추가 확보 동작으로서 메모리 스왑을 수행할 수도 있다. 전자장치(1)는 메모리(41)에 저장되어 있는 타 프로세스의 데이터를 메모리(41) 이외의 저장매체, 예를 들면 스토리지(42)로 이동시킴으로써, 메모리(41)의 가용량을 추가로 확보할 수도 있다. 타 프로세스의 데이터가 스토리지(42)로 이동한 이후, 해당 데이터가 저장되었던 메모리(41)의 저장공간은 다시 사용될 수 있다.The additional securing operation of the memory 41 is not limited to the above example. For example, the electronic device 1 may perform a memory swap as an additional securing operation of the memory 41 . The electronic device 1 additionally secures the available capacity of the memory 41 by moving data of other processes stored in the memory 41 to a storage medium other than the memory 41, for example, the storage 42 You may. After the data of another process is moved to the storage 42, the storage space of the memory 41 in which the corresponding data was stored can be used again.

전자장치(1)는 메모리(41)의 현재 가용량이 식별된 예측 사용량보다 큰지 여부를 다시 판단한다(470 단계). 메모리(41)의 현재 가용량이 식별된 예측 사용량보다 크면(470 단계에서 "Yes"), 전자장치(1)는 480 단계로 이행한다. 반면에, 메모리(41)의 현재 가용량이 식별된 예측 사용량보다 크지 않으면(470 단계에서 "No"), 전자장치(1)는 440 단계로 이행하여 메모리(41)의 추가 확보 동작을 재개한다.The electronic device 1 determines again whether the current available capacity of the memory 41 is greater than the identified predicted usage amount (step 470). If the current available capacity of the memory 41 is greater than the identified predicted usage amount (“Yes” in step 470), the electronic device 1 proceeds to step 480. On the other hand, if the current available capacity of the memory 41 is not greater than the identified predicted usage amount (“No” in step 470), the electronic device 1 proceeds to step 440 and resumes the additional securing operation of the memory 41.

전자장치(1)는 시점 T1에 프로세스(62)에 대한 메모리(41) 할당 요청을 수신한다(480 단계). 전자장치(1)는 메모리(41) 할당 요청에 응답하여, 프로세스(62)에 메모리(41)를 할당함으로써 프로세스(62)가 실행되도록 한다(490 단계; 도 2의 270 단계에 대응).The electronic device 1 receives a memory 41 allocation request for the process 62 at time T1 (step 480). In response to the memory 41 allocation request, the electronic device 1 allocates the memory 41 to the process 62 so that the process 62 is executed (step 490; corresponding to step 270 of FIG. 2).

이와 같이, 전자장치(1)는 프로세스(62)가 실행을 위해 런칭되면, 프로세스(62)에 대한 메모리(41) 할당 요청이 수신되기 이전에 프로세스(62)를 위한 메모리(41)의 추가 확보를 수행한다. 이로써, 이후 프로세스(62)가 실행되는 동안에, 메모리(41)의 가용량 부족으로 인한 프로세스(62)의 실행 지연을 방지할 수 있다.As such, when the process 62 is launched for execution, the electronic device 1 additionally secures the memory 41 for the process 62 before a memory 41 allocation request for the process 62 is received. do Accordingly, while the process 62 is executed later, execution delay of the process 62 due to insufficient capacity of the memory 41 can be prevented.

한편, 420 단계에서, 여러 가지 이유로 인해 전자장치(1)가 프로세스(62)의 메모리 예측 사용량을 식별할 수 없는 경우도 가능하다. 예를 들어, 전자장치(1)는 사전에 저장된 정보를 사용하여 프로세스(62)의 예측 사용량을 식별하는데, 해당 정보에 프로세스(62)에 관한 내용이 검색되지 않을 수도 있고, 정보에 대한 억세스가 다양한 이유로 차단될 수도 있다. 이러한 경우에, 전자장치(1)는 메모리(41) 추가 확보 동작을 수행하지 않고, 480 단계로 이행할 수 있다.Meanwhile, in step 420, it is also possible that the electronic device 1 cannot identify the predicted memory usage amount of the process 62 due to various reasons. For example, the electronic device 1 identifies the predicted amount of usage of the process 62 using previously stored information, but the information about the process 62 may not be searched for, and access to the information is It may be blocked for various reasons. In this case, the electronic device 1 may proceed to step 480 without performing an additional securing operation of the memory 41 .

이하, 전자장치(1)가 프로세스(62)에 사용될 것으로 예측되는 메모리(41)의 예측 사용량을 식별하는 방법에 관해 설명한다.Hereinafter, a method for the electronic device 1 to identify the predicted amount of memory 41 to be used in the process 62 will be described.

도 4는 전자장치가 프로세스의 예측 사용량에 관한 정보를 획득하는 예시들을 나타내는 구성 블록도이다.4 is a block diagram illustrating examples in which an electronic device acquires information about a predicted usage amount of a process.

도 4에 도시된 바와 같이, 전자장치(1)의 프로세서(50), 또는 프로세서(50)에 의해 구동되는 메모리관리모듈(61)은, 스토리지(42)에 저장된 정보(500)를 획득하고, 획득한 정보(500)를 검색함으로써 프로세스가 사용할 것으로 예측되는 메모리(41)의 예측 사용량을 식별할 수 있다. 본 정보(500)는 테이블, 리스트 등 다양한 형식을 가질 수 있으며, 복수의 프로세스에 각기 대응하는 예측 사용량을 기록한다. 이를 위하여, 전자장치(1)는 각 프로세스의 종료 시에 해당 프로세스의 최대 메모리(41) 사용량을 사전 설정된 파일에 저장한다.As shown in FIG. 4, the processor 50 of the electronic device 1 or the memory management module 61 driven by the processor 50 obtains information 500 stored in the storage 42, By searching the acquired information 500 , it is possible to identify the predicted amount of memory 41 that the process will use. This information 500 may have various formats such as a table and a list, and records the estimated usage amount corresponding to each of a plurality of processes. To this end, the electronic device 1 stores the maximum amount of memory 41 used for each process in a preset file at the end of each process.

본 정보(500)에서 각 프로세스는 고유한 명칭 또는 ID에 의해 구별된다. 본 실시예의 예시에 따르면, 제1프로세스의 예측 사용량은 50MB, 제2프로세스의 예측 사용량은 200MB, 제3프로세스의 예측 사용량은 70MB이다. 예를 들어, 프로세서(50) 또는 메모리관리모듈(61)은 런칭되는 프로세스가 제2프로세스이면, 본 정보(500)를 검색함으로써 제2프로세스의 예측 사용량이 200MB임을 식별할 수 있다.In this information 500, each process is distinguished by a unique name or ID. According to an example of this embodiment, the predicted usage amount of the first process is 50MB, the predicted usage amount of the second process is 200MB, and the predicted usage amount of the third process is 70MB. For example, if the process to be launched is the second process, the processor 50 or the memory management module 61 can identify that the predicted usage amount of the second process is 200MB by searching the information 500 .

이와 같은 정보(500)는 다양한 방식에 기초하여 생성되어, 스토리지(42)에 저장된다. 한 가지 예시로는, 정보(500)는 전자장치(1)의 제조 단계에서 스토리지(42)에 저장되고, 제품으로 출시될 수 있다. 전자장치(1)의 제조사는 다양한 실험 및 시뮬레이션을 통해 각 프로세스 별 최적의 예측 사용량을 도출하여, 그 결과를 반영한 정보(500)를 제품 출시 이전에 전자장치(1)의 스토리지(42)에 저장할 수 있다.Such information 500 is generated based on various methods and stored in the storage 42 . As one example, the information 500 may be stored in the storage 42 in the manufacturing stage of the electronic device 1 and released as a product. The manufacturer of the electronic device 1 derives the optimal predicted usage for each process through various experiments and simulations, and stores the information 500 reflecting the result in the storage 42 of the electronic device 1 before product release. can

한 가지 예시로는, 전자장치(1)가 인터페이스부(10)를 통해 서버(2)와 통신 가능한 경우에, 정보(500)는 서버(2)로부터 인터페이스부(10)를 통해 전자장치(1)에 전달될 수 있다. 전자장치(1)에 인스톨되는 운영체제, 어플리케이션 등 다양한 소프트웨어 프로그램이 업데이트됨에 따라서, 여러 프로세스의 예측 사용량은 상기한 업데이트 이전과 이후가 서로 달라질 수 있다. 전자장치(1)가 서버(2)로부터 주기적으로 업데이트된 정보(500)를 제공받을 수 있는 바, 최적의 메모리(41) 관리가 가능해진다. 앞서 설명한 예시인 전자장치(1)의 제조 단계에서 정보(500)가 저장된 경우에도, 전자장치(1)는 서버(2)로부터 제공되는 새로운 정보(500)를 제공받아 기 저장된 정보(500)를 업데이트할 수도 있다.As one example, when the electronic device 1 can communicate with the server 2 through the interface unit 10, information 500 is transmitted from the server 2 through the interface unit 10 to the electronic device 1. ) can be passed on. As various software programs such as an operating system and applications installed in the electronic device 1 are updated, the predicted usage of various processes may be different before and after the update. Since the electronic device 1 can receive periodically updated information 500 from the server 2, optimal management of the memory 41 becomes possible. Even when the information 500 is stored in the manufacturing step of the electronic device 1, which is the example described above, the electronic device 1 receives new information 500 provided from the server 2 and replaces the previously stored information 500. can also be updated.

한 가지 예시로는, 전자장치(1)는 사용자입력부(30)를 통해 사용자가 특정 프로세스의 예측 사용량을 직접 입력받을 수도 있다. 이를 위해, 전자장치(1)는 사용자가 프로세스에 대응하는 예측 사용량을 용이하게 입력할 수 있도록 제공되는 UI를 표시하고, UI를 통해 입력되는 값을 해당 프로세스의 예측 사용량으로 스토리지(42)에 저장할 수 있다. 정보(500)가 전자장치(1)의 제조 단계에서 저장되거나 또는 서버(2)로부터 전자장치(1)에 제공되는 경우에도, 전자장치(1)는 사용자입력부(30)를 통해 스토리지(42)에 기 저장된 정보(500)를 수정하도록 제공할 수도 있다.As one example, the electronic device 1 may directly receive the predicted usage amount of a specific process from the user through the user input unit 30 . To this end, the electronic device 1 displays a UI provided so that the user can easily input the predicted usage amount corresponding to the process, and stores the value input through the UI in the storage 42 as the predicted usage amount of the corresponding process. can Even when the information 500 is stored in the manufacturing stage of the electronic device 1 or provided to the electronic device 1 from the server 2, the electronic device 1 stores the storage 42 through the user input unit 30. The information 500 previously stored in may be provided to be modified.

한 가지 예시로는, 전자장치(1)는 AI(510)가 탑재된 경우에, AI(510)에 의해 생성된 정보(500)를 획득할 수도 있다. AI(510)는 전자장치(1)에 탑재될 수도 있고, 전자장치(1)와 통신 가능한 서버 등의 외부장치에 탑재될 수도 있다. 또는, 전자장치(1)는 AI(510)로부터 획득한 정보(500)를 스토리지(42)에 저장하지 않고, 특정 프로세스의 예측 사용량을 다이렉트로 AI(510)로부터 획득할 수도 있다.As one example, the electronic device 1 may obtain the information 500 generated by the AI 510 when the AI 510 is installed. The AI 510 may be mounted on the electronic device 1 or may be mounted on an external device such as a server capable of communicating with the electronic device 1 . Alternatively, the electronic device 1 may directly acquire the predicted usage amount of a specific process from the AI 510 without storing the information 500 acquired from the AI 510 in the storage 42 .

한 가지 예시로는, 전자장치(1)는 대상이 되는 프로세스(62)로부터 직접 해당 프로세스(62)의 예측 사용량이 전달될 수 있다. 예를 들면, 메모리관리모듈(61)은 프로세스(62)의 런칭 시, 해당 프로세스(62)로부터 API(application programming interface)를 통해 예측 사용량을 전달받을 수도 있다. 이러한 경우에, 전자장치(1)는 정보(500) 없이도 프로세스(62)의 예측 사용량을 식별할 수 있다.As one example, the electronic device 1 may directly transmit the estimated usage amount of the corresponding process 62 from the target process 62 . For example, when the process 62 is launched, the memory management module 61 may receive the estimated usage amount from the corresponding process 62 through an application programming interface (API). In this case, the electronic device 1 can identify the estimated usage amount of the process 62 without the information 500 .

한 가지 예시로는, 전자장치(1)에서 수행된 프로세스의 메모리 사용 이력(520)에 기초하여 정보(500)가 생성될 수도 있다. 예를 들어, 과거에 제1프로세스가 복수 회 실행되었을 때에, 제1프로세스가 실제로 사용한 메모리(41)의 사용량의 최대치가 매회당 기록되어 메모리 사용 이력(520)으로 저장된다. 전자장치(1)는 메모리 사용 이력(520)에 저장된 제1프로세스에 대한 과거 복수 회의 최대 사용량에 기초하여, 제1프로세스의 예측 사용량을 도출하여 정보(500)에 기록할 수 있다.As one example, information 500 may be generated based on a memory use history 520 of a process performed in the electronic device 1 . For example, when the first process was executed multiple times in the past, the maximum amount of the memory 41 actually used by the first process is recorded each time and stored as the memory usage history 520 . The electronic device 1 may derive an estimated usage amount of the first process based on the past maximum usage amount of the first process stored in the memory usage history 520 and record it in the information 500 .

이하, 전자장치(1)가 프로세스의 메모리 사용 이력(520)에 기초하여 프로세스의 예측 사용량을 도출하는 예시에 관해 설명한다.Hereinafter, an example in which the electronic device 1 derives the predicted usage amount of a process based on the memory usage history 520 of the process will be described.

도 5는 전자장치가 프로세스 사용 이력에 기초하여 프로세스의 예측 사용량을 도출하는 방법을 나타내는 예시도이다.5 is an exemplary diagram illustrating a method for an electronic device to derive a predicted usage amount of a process based on a process usage history.

도 4 및 도 5에 도시된 바와 같이, 프로세스의 메모리 사용 이력(520)은 복수의 프로세스 각각에 대한 메모리(41)의 최대 사용량의 이력을 저장한다. 예를 들어, 프로세스의 메모리 사용 이력(520)에서, 제1프로세스가 1회차 최대 사용량이 40MB, 2회차 최대 사용량이 50MB, 3회차 최대 사용량이 60MB, 4회차 최대 사용량이 50MB이라고 할 때, 전자장치(1)는 이들 값에 기초하여 다양한 방법으로 제1프로세스의 예측 사용량을 산출할 수 있다.As shown in FIGS. 4 and 5 , the memory usage history 520 of a process stores a history of maximum usage of the memory 41 for each of a plurality of processes. For example, in the memory usage history 520 of a process, when the first process has a maximum usage of 40 MB for the first round, a maximum usage of the second round for 50 MB, a maximum usage for the third round for 60 MB, and a maximum usage for the fourth round for 50 MB, The device 1 may calculate the predicted usage amount of the first process in various ways based on these values.

한 가지 예시로서, 전자장치(1)는 제1프로세스의 복수 회의 실행 시 최대 사용량들의 평균을 예측 사용량으로 산출할 수 있다. 본 실시예에서의 예를 들면, (40+50+60+50)/4=50으로서, 제1프로세스의 예측 사용량은 50MB로 산출된다.As an example, the electronic device 1 may calculate an average of maximum amounts of usage as the predicted usage amount when the first process is executed a plurality of times. For example in this embodiment, as (40+50+60+50)/4=50, the predicted usage amount of the first process is calculated as 50MB.

한 가지 예시로서, 전자장치(1)는 제1프로세스의 복수 회의 실행 시 최대 사용량들 중에서 가장 높은 값을 예측 사용량으로 산출할 수 있다. 본 실시예에서의 예를 들면, 40, 50, 60, 50의 네 값 중에서 60이 가장 높은 값이므로, 제1프로세스의 예측 사용량은 60MB로 산출될 수 있다.As one example, the electronic device 1 may calculate the highest value among maximum amounts of usage as the predicted usage amount when the first process is executed multiple times. For example, in this embodiment, since 60 is the highest value among the four values 40, 50, 60, and 50, the estimated usage amount of the first process can be calculated as 60 MB.

이 외에도, 전자장치(1)는 다양한 방법을 사용하여 프로세스의 메모리 사용 이력(520)으로부터 프로세스의 예측 사용량이 산출될 수 있다.In addition to this, the electronic device 1 may calculate the predicted usage amount of the process from the memory usage history 520 of the process using various methods.

이하, 타 프로세스들 중에서 종료할 타 프로세스를 선택하는 방법에 관해 설명한다.Hereinafter, a method of selecting another process to be terminated from among other processes will be described.

도 6은 타 프로세스들로부터 종료할 것들을 선택하는 방법을 나타내는 예시도이다.6 is an exemplary diagram illustrating a method of selecting those to be terminated from other processes.

도 1 및 도 6에 도시된 바와 같이, 전자장치(1)는 프로세스의 런칭 시에 현재 실행중인 복수의 타 프로세스 중에서, 종료시킬 하나 이상의 타 프로세스를 선택한다. 여기서, 전자장치(1)가 메모리(41) 추가확보를 위해 종료시킬 타 프로세스를 선별하는 방법은 다양하게 마련된다.As shown in FIGS. 1 and 6 , the electronic device 1 selects one or more other processes to be terminated from among a plurality of other currently running processes when a process is launched. Here, various methods are provided for the electronic device 1 to select other processes to be terminated in order to additionally secure the memory 41 .

전자장치(1)는 여러 타 프로세스의 실행에 관한 이력정보 또는 로그(600)를 참조할 수 있다. 이러한 로그(600)는 여러 타 프로세스의 실행에 관한 기록, 예를 들어 각 프로세스의 실행 시점(프로세스가 메모리(41)에 할당되어 실행되는 시점), 각 프로세스에 대한 타 프로세스, 어플리케이션, 운영체제, 하드웨어 등의 전자장치(1)의 다양한 자원에 의해 억세스된 회수, 각 프로세스가 사용중인 메모리(41)의 현재 사용량 등에 관한 정보를 포함한다. 전자장치(1)는 이러한 로그(600)의 정보에 기초하여 종료시킬 타 프로세스를 선택한다.The electronic device 1 may refer to history information or logs 600 related to the execution of various other processes. This log 600 is a record of the execution of various other processes, for example, the execution time of each process (the time when the process is allocated to the memory 41 and executed), other processes for each process, applications, operating systems, hardware It includes information about the number of times accessed by various resources of the electronic device 1, such as the current usage of the memory 41 being used by each process. The electronic device 1 selects other processes to be terminated based on the information of the log 600 .

한 가지 예시로서, 전자장치(1)는 복수의 타 프로세스 각각의 실행 시점을 기준으로, 종료시킬 타 프로세스를 선택할 수 있다. 본 기준은, 실행 시점이 오래된 순서일 수 있다. 본 실시예에서와 같이 #1, #2, #3, #4, #5의 5가지의 타 프로세스 중에서 2개의 타 프로세스를 선택한다고 할 때, 전자장치(1)는 실행 시점이 상대적으로 오래된 #2, #4를 선택할 수 있다.As one example, the electronic device 1 may select another process to be terminated based on the execution time of each of a plurality of other processes. This criterion may be the order of the oldest execution point. As in the present embodiment, when selecting two other processes from among five other processes #1, #2, #3, #4, and #5, the electronic device 1 has a relatively old execution time # 2, #4 can be selected.

한 가지 예시로서, 전자장치(1)는 복수의 타 프로세스 각각의 억세스된 회수를 기준으로, 종료시킬 타 프로세스를 선택할 수 있다. 본 기준은, 억세스된 회수가 적은 순서일 수 있다. 본 실시예에서의 5가지 타 프로세스 중에서, 전자장치(1)는 억세스된 회수가 상대적으로 적은 #1, #4를 선택할 수 있다.As one example, the electronic device 1 may select another process to be terminated based on the number of accesses of each of a plurality of other processes. This criterion may be in order of a small number of accessed times. Among the five other processes in this embodiment, the electronic device 1 may select #1 and #4 having a relatively small number of accessed times.

한 가지 예시로서, 전자장치(1)는 복수의 타 프로세스 각각의 현재 메모리(41)의 사용량을 기준으로, 종료시킬 타 프로세스를 선택할 수 있다. 본 기준은, 예를 들면 메모리(41)의 사용량이 많은 순서일 수 있다. 본 실시예에서의 5가지 타 프로세스 중에서, 전자장치(1)는 현재 메모리(41)의 사용량이 상대적으로 많은 #3, #5를 선택할 수 있다.As one example, the electronic device 1 may select another process to be terminated based on the current memory 41 usage of each of a plurality of other processes. This criterion may be, for example, an order of increasing usage of the memory 41 . Among the five other processes in this embodiment, the electronic device 1 may select #3 and #5, which currently have a relatively large amount of memory 41 used.

이상 설명한 예시들 외에도, 다양한 방법이 타 프로세스의 선택에 적용될 수 있다. 예를 들면, 각 타 프로세스는 프로세스 ID 별로 우선순위 또는 예외조건을 가질 수 있다. 프로세스 중에는 전자장치(1)의 동작에 필수적이기 때문에 종료되면 안되는 것도 있을 수 있고, 전자장치(1)의 동작에 필수적이지 않더라도, 상대적으로 중요도가 높은 프로세스와 낮은 프로세스가 있을 수 있다. 이러한 경우에, 앞서 설명한 여러 조건(실행 시점, 억세스된 회수, 현재 메모리(41) 사용량 등)과 무관하게, 전자장치(1)는 사전 설정된 우선순위 또는 중요도에 따라서, 상대적으로 낮은 우선순위 또는 중요도를 가진 타 프로세스를 종료시킬 대상으로 선택할 수 있다.In addition to the examples described above, various methods may be applied to the selection of other processes. For example, each other process may have a priority or an exceptional condition for each process ID. Some of the processes may not be terminated because they are essential to the operation of the electronic device 1, and there may be processes of relatively high importance and processes of low importance even though they are not essential to the operation of the electronic device 1. In this case, regardless of various conditions described above (execution time, number of times accessed, current memory 41 usage, etc.), the electronic device 1 has a relatively low priority or importance according to a preset priority or importance. You can select other processes with . as targets to be terminated.

한편, 전자장치(1)가 프로세스의 런칭에 응답하여 해당 프로세스에 대한 메모리(41) 예측 사용량을 식별하였을 때, 식별된 예측 사용량을 앞선 실시예와 같이 그대로 수용할 수도 있고, 상한치를 두어 제한할 수도 있다. 이하, 이러한 실시예에 관해 설명한다.On the other hand, when the electronic device 1 identifies the estimated memory 41 usage for the corresponding process in response to the launch of the process, the identified predicted usage may be accepted as it is as in the previous embodiment, or may be limited by placing an upper limit. may be Hereinafter, these embodiments will be described.

도 7은 전자장치가 프로세스에 대해 식별된 예측 사용량보다 제한하여 메모리를 할당하는 경우를 나타내는 예시도이다.7 is an exemplary diagram illustrating a case in which an electronic device allocates memory with a limit greater than the predicted usage amount identified for a process.

도 1 및 도 7에 도시된 바와 같이, 전자장치(1)는 프로세스(62)의 런칭 시에 메모리(41)의 저장공간(700)을 할당한다. 저장공간(700)에는 기 실행중인 프로세스(타 프로세스)에 할당된 공간(710)과, 어떠한 프로세스에도 할당되지 않은 자유공간(720)이 있으며, 전자장치(1)는 자유공간(720)에 새로 런칭되는 프로세스(62)를 할당한다. 전자장치(1)는 앞선 실시예에서 설명한 바와 같이 프로세스(62)에 대한 메모리(41)의 저장공간(700)의 예측 사용량 W1을 식별한다.As shown in FIGS. 1 and 7 , the electronic device 1 allocates the storage space 700 of the memory 41 when the process 62 is launched. In the storage space 700, there is a space 710 allocated to an already running process (other processes) and a free space 720 not allocated to any process, and the electronic device 1 is newly assigned to the free space 720. Allocates a process 62 to be launched. As described in the previous embodiment, the electronic device 1 identifies the predicted usage W1 of the storage space 700 of the memory 41 for the process 62 .

도 7의 C1은 식별된 예측 사용량 W1이 그대로 저장공간(730)에 할당된 경우를 나타낸다. 앞선 실시예에 따르면, 전자장치(1)는 자유공간(720)이 허용하는 범위 내라면 프로세스(62)에 대해 저장공간(730)을 할당할 수 있다.C1 of FIG. 7 shows a case where the identified predicted usage amount W1 is allocated to the storage space 730 as it is. According to the foregoing embodiment, the electronic device 1 may allocate the storage space 730 to the process 62 if it is within the range allowed by the free space 720 .

그런데, 설계 방식에 따라서는, 전자장치(1)에서 메모리(41) 할당 용량에 상한치가 부여될 수도 있다. 도 7의 C2는 이러한 경우를 나타낸다. 이 경우에는, 식별된 예측 사용량이 설정된 상한치를 넘으면, 상한치까지의 용량만이 할당되고 그 이상의 용량은 할당되지 않는다. 프로세스(62)의 식별된 예측 사용량 W1이 상한치 W2를 초과하면(W1>W2), W1에서 W2를 초과하는 용량 W3는 배제되고 상한치 W2까지의 용량만이 프로세스(62)에 대해 할당된다(W2=W1-W3).However, depending on the design method, an upper limit may be assigned to the allocated capacity of the memory 41 in the electronic device 1 . C2 in FIG. 7 shows this case. In this case, if the identified predicted usage exceeds the set upper limit, only the capacity up to the upper limit is allocated and no capacity beyond that is allocated. If the identified predicted usage amount W1 of the process 62 exceeds the upper limit value W2 (W1>W2), the capacity W3 in W1 that exceeds W2 is excluded and only the capacity up to the upper limit value W2 is allocated for the process 62 (W2 =W1-W3).

한편, 앞선 실시예에서는 복수의 타 프로세스 중에서 종료시킬 하나 이상의 타 프로세스를 선택하는 경우에 관해 설명한 바 있다. 여기서, 설계 방식에 따라서는, 전자장치(1)의 사전 설정된 동작 모드에 대응하여, 종료시킬 하나 이상의 타 프로세스를 선택하는 방법이 달라질 수도 있다.Meanwhile, in the previous embodiment, the case of selecting one or more other processes to be terminated from among a plurality of other processes has been described. Here, depending on the design method, a method of selecting one or more other processes to be terminated may be different in correspondence to the preset operation mode of the electronic device 1 .

전자장치(1)에는 복수의 모드가 마련되며, 전자장치(1)의 현재 상태, 이벤트 또는 사용자 입력 등의 요인에 따라서, 자동 또는 수동으로 어느 한 모드로 이행할 수 있다. 예를 들어, 전자장치(1)에는 어떠한 타 프로세스도 종료시키지 않는 모드 0, 타 프로세스들 중 일부를 종료시킬 수 있는 모드 1, 타 프로세스들 전체를 종료시킬 수 있는 모드 2가 마련될 수 있다.A plurality of modes are provided in the electronic device 1, and it can automatically or manually shift to any one mode according to factors such as a current state of the electronic device 1, an event, or a user input. For example, the electronic device 1 may be provided with mode 0 in which no other processes are terminated, mode 1 in which some of the other processes may be terminated, and mode 2 in which all other processes may be terminated.

전자장치(1)가 모드 0에 있을 때에는, 타 프로세스의 종료가 불가하므로 앞서 설명한 바와 같은 메모리(41)의 추가 확보 동작이 수행되지 않는다. 전자장치(1)는 프로세스(62)가 런칭되면, 메모리(41)의 추가 확보 동작 없이 프로세스(62)에 메모리(41)를 할당한다.When the electronic device 1 is in mode 0, the additional securing operation of the memory 41 as described above is not performed because other processes cannot be terminated. When the process 62 is launched, the electronic device 1 allocates the memory 41 to the process 62 without an additional securing operation of the memory 41 .

전자장치(1)가 모드 1에 있을 때에는, 타 프로세스 중 일부는 종료 가능하며 나머지는 종료가 가능하지 않으므로, 메모리(41) 추가 확보 동작 시에 종료가 가능하게 설정된 타 프로세스들 중에서 종료시킬 것들을 선택한다.When the electronic device 1 is in mode 1, some of the other processes can be terminated and others cannot be terminated, so during the additional securing operation of the memory 41, those to be terminated are selected from among other processes set to be terminated. do.

전자장치(1)가 모드 2에 있을 때에는, 타 프로세스들 모두가 종료 가능하므로, 전자장치(1)는 앞선 실시예에서 설명한 바와 같이 종료시킬 타 프로세스를 선택할 수 있다.When the electronic device 1 is in mode 2, since all other processes can be terminated, the electronic device 1 can select other processes to be terminated as described in the foregoing embodiment.

이상 실시예들에서 설명한 바와 같은 장치의 동작은, 해당 장치에 탑재된 인공지능에 의해 수행될 수 있다. 인공지능은 기계 학습 알고리즘을 활용하여 다양한 제반 시스템에 적용될 수 있다. 인공지능 시스템은 인간 수준 내지는 인간 수준에 버금가는 지능을 구현하는 컴퓨터 시스템으로서, 기계, 장치 또는 시스템이 자율적으로 학습하고 판단하며, 사용 경험의 누적에 기반하여 인식률 및 판단 정확도가 향상되는 시스템이다. 인공지능 기술은 입력되는 데이터들의 특징을 스스로 분류하고 학습하는 알고리즘을 이용한 기계학습 기술 및 알고리즘을 활용하여, 인간의 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.The operation of the device as described in the above embodiments may be performed by artificial intelligence built into the device. Artificial intelligence can be applied to various systems by utilizing machine learning algorithms. An artificial intelligence system is a computer system that implements human-level or human-level intelligence, and a machine, device, or system autonomously learns and judges, and the recognition rate and judgment accuracy are improved based on the accumulation of experience. Artificial intelligence technology consists of machine learning technology using an algorithm that classifies and learns the characteristics of input data by itself, and element technologies that mimic functions such as recognition and judgment of the human brain by utilizing algorithms.

요소 기술들은, 예를 들면 인간의 언어와 문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론 및 예측 기술, 인간의 경험 정보를 지식 데이터로 처리하는 지식 표현 기술, 차량의 자율 주행이나 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 어느 하나를 포함한다.Elemental technologies include, for example, linguistic understanding technology that recognizes human language and text, visual understanding technology that recognizes objects as human eyes, reasoning and prediction technology that logically infers and predicts information by judging information, and human experience. It includes at least one of a knowledge expression technology for processing information into knowledge data and a motion control technology for controlling autonomous driving of a vehicle or movement of a robot.

여기서, 언어적인 이해는 인간의 언어 또는 문자를 인식하고 응용 처리하는 기술로서, 자연어의 처리, 기계 번역, 대화 시스템, 질의 응답, 음성 인식 및 합성 등을 포함한다.Here, linguistic understanding is a technology for recognizing and applying human language or text, and includes natural language processing, machine translation, dialogue system, question and answering, voice recognition and synthesis, and the like.

추론 예측은 정보를 판단하여 논리적으로 예측하는 기술로서, 지식 및 확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다.Inference prediction is a technique of logically predicting by judging information, and includes knowledge and probability-based inference, optimization prediction, preference-based planning, and recommendation.

지식 표현은 인간의 경험 정보를 지식 데이터로 자동화 처리하는 기술로서, 데이터의 생성 및 분류와 같은 지식 구축, 데이터의 활용과 같은 지식 관리 등을 포함한다.Knowledge representation is a technology that automatically processes human experience information into knowledge data, and includes knowledge construction such as generation and classification of data, knowledge management such as utilization of data, and the like.

본 발명의 예시적 실시예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이러한 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 매체는 삭제 가능 또는 재기록 가능 여부와 상관없이, USB 메모리장치와 같은 비휘발성 저장 장치, 또는 예를 들어 RAM, ROM, 플래시메모리, 메모리 칩, 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 이동 단말 내에 포함될 수 있는 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. 본 저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어의 기술 분야에서 숙련된 기술자에게 공지되어 사용 가능한 것일 수도 있다. 또는, 본 컴퓨터 프로그램 명령은 컴퓨터 프로그램 프로덕트에 의해 구현될 수도 있다.Methods according to exemplary embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. Such computer readable media may include program instructions, data files, data structures, etc. alone or in combination. For example, computer readable media, whether removable or rewritable, include non-volatile storage devices such as USB memory devices, or memory such as RAM, ROM, flash memory, memory chips, integrated circuits, or For example, it may be stored in an optically or magnetically recordable and machine-readable storage medium such as a CD, DVD, magnetic disk, or magnetic tape. It will be appreciated that a memory that may be included in a mobile terminal is one example of a machine-readable storage medium suitable for storing a program or programs including instructions implementing embodiments of the present invention. Program instructions recorded on this storage medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in the art of computer software. Alternatively, the present computer program instructions may be implemented by a computer program product.

1 : 전자장치
40 : 저장부
41 : 메모리
42 : 스토리지
50 : 프로세서
1: electronic device
40: storage unit
41: memory
42: storage
50: processor

Claims (15)

전자장치에 있어서,
메모리와,
실행할 프로세스의 개시에 응답하여, 상기 프로세스에 사용될 것으로 예측되는 상기 메모리의 예측 사용량을 식별하고,
상기 메모리의 현재 사용 가능한 가용량을 식별하고,
상기 식별된 가용량 및 상기 식별된 예측 사용량에 기초하여 상기 메모리의 가용량을 추가 확보할 것인지 여부를 판단하며, 상기 판단 결과에 따라서 상기 메모리의 가용량의 추가 확보 동작을 선택적으로 수행하고,
상기 프로세스의 메모리 할당 요청에 응답하여, 상기 프로세스에 상기 메모리를 할당하는 프로세서를 포함하는 전자장치.
In electronic devices,
memory,
in response to initiation of a process to run, identify a predicted usage of the memory that is expected to be used by the process;
identify a currently available capacity of the memory;
Based on the identified capacity and the identified predicted usage, it is determined whether or not to additionally secure the capacity of the memory, and selectively perform an additional securing operation of the capacity of the memory according to the determination result;
and a processor allocating the memory to the process in response to a memory allocation request of the process.
제1항에 있어서,
상기 프로세서는, 상기 식별된 예측 사용량이 상기 식별된 가용량을 초과하는 것에 기초하여 상기 추가 확보 동작을 수행하고, 상기 식별된 예측 사용량이 상기 식별된 가용량을 초과하지 않는 것에 기초하여 상기 추가 확보 동작을 수행하지 않는 전자장치.
According to claim 1,
The processor performs the additional securing operation based on the identified predicted usage exceeding the identified capacity, and based on the identified predicted usage does not exceed the identified capacity, the additional securing An electronic device that does not perform an action.
제2항에 있어서,
상기 프로세서는, 상기 메모리의 예측 사용량을 식별할 수 없는 것에 기초하여 상기 추가 확보 동작을 수행하지 않는 전자장치.
According to claim 2,
The electronic device of claim 1 , wherein the processor does not perform the additional securing operation based on not being able to identify the predicted usage amount of the memory.
제1항에 있어서,
상기 프로세서는, 상기 프로세스의 메모리 사용 이력에 기초하여 상기 예측 사용량을 식별하는 전자장치.
According to claim 1,
The processor identifies the predicted usage based on the memory usage history of the process.
제4항에 있어서,
상기 프로세서는, 상기 메모리 사용 이력에서 상기 프로세스의 최대 메모리 사용량들의 평균을 상기 예측 사용량으로 식별하는 전자장치.
According to claim 4,
The processor identifies an average of maximum memory usages of the process in the memory usage history as the predicted usage.
제4항에 있어서,
상기 프로세서는, 상기 메모리 사용 이력에서 상기 프로세스의 최대 메모리 사용량들 중에서 가장 높은 값을 상기 예측 사용량으로 식별하는 전자장치.
According to claim 4,
The processor identifies a highest value among maximum memory usages of the process in the memory usage history as the predicted usage.
제1항에 있어서,
상기 프로세서는, 상기 메모리를 기 할당하여 실행중인 하나 이상의 타 프로세스를 종료시킴으로써 상기 추가 확보 동작을 수행하는 전자장치.
According to claim 1,
The processor performs the additional securing operation by pre-allocating the memory and terminating one or more other processes being executed.
제1항에 있어서,
스토리지를 더 포함하고,
상기 프로세서는, 실행중인 하나 이상의 타 프로세스에 기 할당된 상기 메모리의 데이터를 상기 스토리지로 이동시킴으로써 상기 추가 확보 동작을 수행하는 전자장치.
According to claim 1,
Including more storage;
The electronic device of claim 1 , wherein the processor performs the additional securing operation by moving data of the memory pre-allocated to one or more other running processes to the storage.
제1항에 있어서,
외부장치와 통신하는 인터페이스부와,
상기 예측 사용량에 관한 정보가 저장된 스토리지를 더 포함하고,
상기 프로세서는, 상기 인터페이스부를 통해 상기 외부장치로부터 수신되는 업데이트정보를 사용하여 상기 스토리지에 저장된 상기 정보를 업데이트하는 전자장치.
According to claim 1,
an interface unit communicating with an external device;
Further comprising a storage in which information about the predicted usage is stored,
The processor updates the information stored in the storage using update information received from the external device through the interface unit.
제1항에 있어서,
사용자입력부와,
상기 예측 사용량에 관한 정보가 저장된 스토리지를 더 포함하고,
상기 프로세서는, 상기 사용자입력부를 통한 사용자 입력에 따라서 상기 스토리지에 저장된 상기 정보를 업데이트하는 전자장치.
According to claim 1,
a user input unit;
Further comprising a storage in which information about the predicted usage is stored,
The processor updates the information stored in the storage according to a user input through the user input unit.
전자장치의 제어방법에 있어서,
실행할 프로세스의 개시에 응답하여, 상기 프로세스에 사용될 것으로 예측되는 메모리의 예측 사용량을 식별하는 단계와,
상기 메모리의 현재 사용 가능한 가용량을 식별하는 단계와,
상기 식별된 가용량 및 상기 식별된 예측 사용량에 기초하여 상기 메모리의 가용량을 추가 확보할 것인지 여부를 판단하며, 상기 판단 결과에 따라서 상기 메모리의 가용량의 추가 확보 동작을 선택적으로 수행하는 단계와,
상기 프로세스의 메모리 할당 요청에 응답하여, 상기 프로세스에 상기 메모리를 할당하는 단계를 포함하는 전자장치의 제어방법.
In the control method of the electronic device,
in response to initiation of a process to run, identifying a predicted usage of memory expected to be used by the process;
identifying a currently usable capacity of the memory;
Determining whether to additionally secure the capacity of the memory based on the identified capacity and the predicted usage, and selectively performing an additional securing operation of the capacity of the memory according to the determination result; ,
and allocating the memory to the process in response to a memory allocation request of the process.
제11항에 있어서,
상기 프로세스에 상기 메모리를 할당하는 단계는,
상기 식별된 예측 사용량이 상기 식별된 가용량을 초과하는 것에 기초하여 상기 추가 확보 동작을 수행하는 단계와,
상기 식별된 예측 사용량이 상기 식별된 가용량을 초과하지 않는 것에 기초하여 상기 추가 확보 동작을 수행하지 않는 단계를 포함하는 전자장치의 제어방법.
According to claim 11,
Allocating the memory to the process,
performing the additional reserving operation based on the identified predicted usage amount exceeding the identified capacity; and
and not performing the additional securing operation based on the identified predicted usage amount not exceeding the identified available usage amount.
제12항에 있어서,
상기 프로세스에 상기 메모리를 할당하는 단계는,
상기 메모리의 예측 사용량을 식별할 수 없는 것에 기초하여 상기 추가 확보 동작을 수행하지 않는 단계를 더 포함하는 전자장치의 제어방법.
According to claim 12,
Allocating the memory to the process,
The control method of the electronic device further comprising not performing the additional securing operation based on not being able to identify the predicted memory usage.
제11항에 있어서,
상기 메모리의 예측 사용량을 식별하는 단계는,
상기 프로세스의 메모리 사용 이력에 기초하여 상기 예측 사용량을 식별하는 전자장치의 제어방법.
According to claim 11,
The step of identifying the predicted usage of the memory,
A control method of an electronic device for identifying the estimated usage amount based on the memory usage history of the process.
제14항에 있어서,
상기 프로세스의 메모리 사용 이력에 기초하여 상기 예측 사용량을 식별하는 단계는,
상기 메모리 사용 이력에서 상기 프로세스의 최대 메모리 사용량들의 평균을 상기 예측 사용량으로 식별하는 단계를 포함하는 전자장치의 제어방법.
According to claim 14,
Identifying the predicted usage based on the memory usage history of the process,
and identifying an average of maximum memory usages of the process in the memory usage history as the predicted usage.
KR1020220009957A 2022-01-24 2022-01-24 Electronic apparatus and control method thereof KR20230114004A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220009957A KR20230114004A (en) 2022-01-24 2022-01-24 Electronic apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220009957A KR20230114004A (en) 2022-01-24 2022-01-24 Electronic apparatus and control method thereof

Publications (1)

Publication Number Publication Date
KR20230114004A true KR20230114004A (en) 2023-08-01

Family

ID=87561611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220009957A KR20230114004A (en) 2022-01-24 2022-01-24 Electronic apparatus and control method thereof

Country Status (1)

Country Link
KR (1) KR20230114004A (en)

Similar Documents

Publication Publication Date Title
US10579910B2 (en) Dynamic classifier selection based on class skew
CN107102788B (en) Application notification
US11521038B2 (en) Electronic apparatus and control method thereof
US20180129537A1 (en) Managing memory usage using soft memory targets
US11023180B2 (en) Method, equipment and system for managing the file system
EP3377432B1 (en) A method and an apparatus for determining an allocation decision for at least one elevator
US20140149984A1 (en) Information processing apparatus, information processing method, and computer readable medium
US9736529B2 (en) USB sharing method for combo TV set, combo TV set and computer readable storage medium
US20200167183A1 (en) Electronic apparatus and control method thereof
KR102667564B1 (en) Electronic apparatus and method for data processing
KR102091409B1 (en) Electronic apparatus and control method thereof
CN109639827A (en) Client side upgrading method and device
KR20230114004A (en) Electronic apparatus and control method thereof
KR20220169695A (en) Electronic apparatus and control method thereof
US11726821B2 (en) Electronic apparatus and control method thereof
KR102407577B1 (en) User device and method for processing input message
US11113130B2 (en) Electronic apparatus and control method thereof
EP4365750A1 (en) Electronic device and control method therefor
US20240168805A1 (en) Automated ad-hoc task scheduling using task velocity
KR20220051546A (en) Electronic apparatus and control method thereof
KR20230032492A (en) Electronic apparatus and control method thereof
CN114995950A (en) Method and device for reallocating nodes, electronic equipment and storage medium
CN115080233A (en) Resource allocation management method, device, equipment and storage medium for application software
CN118069302A (en) Data processing method and device, electronic equipment and storage medium