Electronic device and operation method thereof

A dual-system electronic device with separate processors and memories dynamically reallocates memory by identifying and managing low-priority processes, addressing memory insufficiency and ensuring smooth multitasking.

WO2026106307A1PCT designated stage Publication Date: 2026-05-21SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
SAMSUNG ELECTRONICS CO LTD
Filing Date
2025-11-12
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Electronic devices running multiple OS systems face usability issues due to insufficient memory allocation, leading to operational delays when processes fail to obtain sufficient system resources.

Method used

The electronic device employs a dual-system architecture with separate processors and memories, allowing for dynamic memory management by identifying low-priority processes in one system to free up space for another, using communication interfaces to adjust or terminate these processes as needed.

Benefits of technology

This approach ensures efficient memory utilization by reallocating resources between systems, preventing operational delays and maintaining smooth multitasking performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025018622_21052026_PF_FP_ABST
    Figure KR2025018622_21052026_PF_FP_ABST
Patent Text Reader

Abstract

The disclosed electronic device comprises: a first system including a first processor, a first memory and a first communication interface; and a second system including a second processor, a second memory and a second communication interface, wherein, one or more instructions stored in the first memory are executed by the first processor and one or more instructions stored in the second memory are executed by the second processor so that the electronic device identifies an operation currently performed by the first system, identifies, on the basis of the operation currently performed by the first system, one or more processes ready to be executed in the second system, and adjusts or kills the priority of the identified one or more processes so as to ensure available space of the memory of the second system for memory space required by the first system.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device and method of operation thereof

[0001] Various embodiments relate to an electronic device and a method of operating the same, and more specifically, to an electronic device and a method of operating the same that efficiently utilize memory resources in an electronic device including a plurality of OS systems.

[0002] Electronic devices running on an operating system perform memory management operations through the kernel or service operations to smoothly allocate memory requested by processes. Memory management includes operations such as memory reclamation, memory compression, and terminating processes that are already occupying memory; efficient operation of such memory management is essential for the smooth execution of multitasking among multiple processes. In situations where multiple processes are running simultaneously, if a process fails to be allocated sufficient system resources, it can cause usability issues such as operational delays. Since a lack of available memory is often one of the causes of such problems, a method is required to ensure that electronic devices always have readily available memory.

[0003] According to one embodiment, the electronic device may include a first system comprising a first processor, a first memory, and a first communication interface; and a second system comprising a second processor, a second memory, and a second communication interface.

[0004] According to one embodiment, by executing one or more instructions stored in the first memory by the first processor and executing one or more instructions stored in the second memory by the second processor, the electronic device can identify an operation currently being performed by the first system.

[0005] According to one embodiment, by executing one or more instructions stored in the first memory by a first processor and executing one or more instructions stored in the second memory by a second processor, the electronic device can identify one or more processes being prepared for execution in the second system based on an operation currently being performed by the first system.

[0006] According to one embodiment, by executing one or more instructions stored in the first memory by a first processor and executing one or more instructions stored in the second memory by a second processor, the electronic device can secure available space in the memory of the second system for the memory space required by the first system by adjusting or killing the priority of the identified one or more processes.

[0007] According to one embodiment, a method of operating an electronic device may include a first system comprising a first processor, a first memory, and a first communication interface; and a second system comprising a second processor, a second memory, and a second communication interface, and may include an operation of identifying an operation currently performed by the first system.

[0008] According to one embodiment, a method of operating an electronic device may include an operation of identifying one or more processes being prepared for execution in the second system based on an operation currently being performed by the first system.

[0009] According to one embodiment, a method of operating an electronic device may include an operation of securing available space in the memory of the second system for the memory space required by the first system by adjusting or killing the priority of one or more identified processes.

[0010] In a non-transient computer-readable medium storing one or more instructions executed by at least one processor of an electronic device, wherein the one or more instructions are executed by at least one processor of the electronic device, the electronic device comprises: a first system including a first processor, a first memory, and a first communication interface; and a second system including a second processor, a second memory, and a second communication interface, and can identify an operation currently performed by the first system, identify one or more processes being prepared for execution in the second system based on the operation currently performed by the first system, and can secure available space in the memory of the second system for the memory space required by the first system by adjusting the priority of the identified one or more processes.

[0011] The present invention can be easily understood from the combination of the following detailed description and the accompanying drawings, where reference numerals denote structural elements.

[0012] FIG. 1 shows an example of an electronic device according to one embodiment.

[0013] FIG. 2 shows an example of a schematic block diagram of an electronic device according to one embodiment.

[0014] FIG. 3 is an example of a detailed block diagram of the memories of an electronic device according to one embodiment.

[0015] FIG. 4 shows an example of a detailed block diagram of an electronic device according to one embodiment.

[0016] FIG. 5a shows an example of a functional block diagram for explaining the operation of a first system and a second system according to one embodiment.

[0017] Figure 5b is a reference diagram illustrating process killing and process priority adjustment according to one example.

[0018] FIG. 6 shows an example of a mapping table between a current operation scenario and a kill target process according to one embodiment.

[0019] FIG. 7 is a flowchart of an example of a method of operation of an electronic device 100 according to one embodiment.

[0020] FIG. 8 shows an example of a method of operation of an electronic device according to one embodiment.

[0021] FIG. 9 illustrates an example of a method of operation of an electronic device according to one embodiment.

[0022] FIG. 10 shows an example of a specific scenario according to one embodiment.

[0023] FIG. 11 shows an example of a specific scenario according to one embodiment.

[0024] FIG. 12 shows an example of a specific scenario according to one embodiment.

[0025] FIG. 13 is a reference diagram for explaining an example of merging the memory space of a first system and the memory space of a second system to use as a virtual memory space according to one embodiment.

[0026] FIG. 14 is a reference diagram for explaining an example of using a virtual memory space including a memory space of a first system and a memory space of a second system according to one embodiment.

[0027] The terms used in this specification will be briefly explained, and the invention will be described in detail.

[0028] The terms used in this invention have been selected based on currently widely used general terms, taking into account their functions within the invention; however, these terms may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms have been arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant description of the invention. Therefore, the terms used in this invention must be defined not merely by their names, but based on their meanings and the overall content of the invention.

[0029] When a part of a specification is described as "comprising" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components. Furthermore, terms such as "...part" or "module" as used in the specification refer to a unit that processes at least one function or operation, and this may be implemented in hardware or software, or as a combination of hardware and software.

[0030] The following describes embodiments with reference to the attached drawings so that those skilled in the art can easily implement the present invention. However, the present invention may be embodied in various different forms and is not limited to the embodiments described herein. Furthermore, in order to clearly explain the present invention in the drawings, parts unrelated to the explanation have been omitted, and similar parts throughout the specification are denoted by similar reference numerals.

[0031] In this disclosure, the term "user" refers to a person who controls the function or operation of a computing device or electronic device using a control device, and may include a viewer, an administrator, or an installation technician.

[0032] FIG. 1 shows an example of an electronic device according to one embodiment.

[0033] Referring to FIG. 1, according to one embodiment, an electronic device 100 may include a first system 110 and a second system 120.

[0034] Each system may include at least a processor and memory and be capable of performing at least one function or at least one operation. By separately providing a system specialized for a specific function, the system implementation of the electronic device can be simplified. That is, the first system may be equipped with a dedicated processor and memory to perform a function specialized in the first system, and the second system may be equipped with a dedicated processor and memory to perform a function specialized in the second system, thereby simplifying the implementation of each system.

[0035] The first system 110 may include a first second processor 121 and a first memory 112 to perform at least one first function or at least one first operation. For example, the first function may include a driving function.

[0036] The second system 120 may include a second processor 121 and a second memory 122 to perform at least one second function or at least one second operation. For example, the second function may include an image projection function.

[0037] The first system 110 and the second system 120 may perform operations independently. For example, while the first system 110 performs a first function, the second system 120 may not perform any function, or while the first system 110 does not perform any function, the second system 120 may perform a second function, or while the first system 110 performs a first function, the second system 120 may perform a second function.

[0038] Referring to FIG. 1, the first memory 112 can store at least one application corresponding to at least one function that can be performed in the first system 110. For example, the first memory 112 can store the first to sixth applications by loading the first to sixth applications into the first memory 112 by the second processor 121.

[0039] The second memory 122 can store at least one application corresponding to at least one function that can be performed in the second system 120. For example, the second memory 122 can store the 7th to 12th applications by loading the 7th to 12th applications into the second memory 122 by the second processor 121.

[0040] According to one embodiment, when the memory space of the first memory 112 is insufficient while the second processor 121 in the first system 110 is executing the first application, the memory space of the second memory 122 can be utilized. That is, by executing the first application by the first system 110 in the electronic device 100, a first function corresponding to the first application can be performed. In addition, in the second system 120, an application unrelated to the first function, or an application that is unlikely to be executed or not likely to be executed while the first function is being performed, may be stored in memory 122. Therefore, if the memory space in the first system 110 is insufficient while the first function is being executed by the first system 110, available space in the second memory 122 can be secured by lowering the priority or killing the process that is unrelated to the first function or is unlikely to be executed in the second system 120. For example, in FIG. 1, if the applications that are less relevant to the current operation of the electronic device 100 in the second memory 122 of the second system 120 are the 10th application and the 12th application, memory available space 10 in the second memory can be secured by lowering the priority of these 10th and 12th applications or killing them.

[0041] In this disclosure, "lowly relevant applications" refers to applications that have low or no functional, resource, or interface connectivity with the main task currently being performed on the electronic device 100, and these may be identified based on criteria such as the system's resource utilization, process dependency relationships, and user input interaction. For example, lowly relevant applications may include applications that have no direct functional connection with the main task being performed by the computer system or applications activated on the user interface. For example, lowly relevant applications may include applications whose utilization of system resources (CPU, memory, I / O, etc.) is below a preset threshold. For example, lowly relevant applications may include applications that are not included in the process flow of the current task (e.g., process hierarchy, message passing, event handling, etc.). Generally, a processor can execute applications by loading applications stored in the file system into memory. The state in which an application is loaded into memory in this manner may be referred to as a process state. Therefore, while the terms "application," "application," and "process" may be used interchangeably, "application" is primarily used to refer to an application program from a user's perspective, whereas "process" refers to a unit of work processed by the CPU once the application program is loaded into memory. Memory may store processes corresponding to one or more applications that have been instructed to execute, and available space in memory can be secured by removing these stored processes. Available memory space can be secured by directly removing a specific process stored in memory. This can be referred to as "process killing." Alternatively, available memory space can be secured by removing processes among those stored in memory that have a low priority for allocation by the CPU.For example, to kill a specific process, you can kill the specific process directly or make it easier to kill by lowering its priority.

[0042] FIG. 2 shows an example of a schematic block diagram of an electronic device according to one embodiment.

[0043] Referring to FIG. 2, the electronic device 100 may include a first system 110 and a second system 120.

[0044] The first system 110 may include a first processor 111, a first memory 112, and a first communication interface 113. The first system 110 can perform at least one function by executing one or more applications executable on the first system 110 and can also communicate with the second system 120.

[0045] The first processor 111 controls the overall operation of the first system 110. For example, the first processor 111 can perform the functions of the first system 110 described in the present disclosure by executing one or more instructions stored in the first memory 112.

[0046] The first processor 111 may include various processing circuits and / or multiple processors. For example, the term "processor" as used herein, including in the claims, may include at least one processor and various processing circuits. In the at least one processor, one or more processors may be configured to perform the various functions described herein in a distributed manner, individually and / or collectively. As used herein, "processor," "at least one processor," and "one or more processors" may be configured to perform various functions. However, these terms cover, for example but without limitation, situations where one processor performs some of the functions and other processor(s) perform other parts of the functions, and situations where a single processor can perform all functions. Additionally, the at least one processor may include a combination of processors performing various functions of the disclosed functions in a distributed manner. The at least one processor may execute program instructions to achieve or perform various functions.

[0047] In an embodiment of the present disclosure, the first processor 111 stores one or more instructions in an internally provided memory and can control the operation of a display device to be performed by executing one or more instructions stored in the internally provided memory. That is, the first processor 111 can perform a predetermined operation by executing at least one instruction or program stored in an internal memory or a first memory 112 provided within the first processor 111.

[0048] According to one embodiment, the first processor 111 can perform the operation of the first system 110 disclosed in the present disclosure by executing one or more instructions stored in the first memory 112.

[0049] According to one embodiment, at least one first processor 111 can perform an operation corresponding to one or more applications provided by the first system 110 by executing one or more instructions stored in the first memory 112.

[0050] According to one embodiment, at least one first processor 111 executes one or more instructions stored in the first memory 112, by,

[0051] The first memory 112 can store a program for processing and controlling the first processor 111, and can store data input to or output from the first system 110. Additionally, the first memory 112 can store data necessary for the operation of the first system 110.

[0052] The first memory 112 may include at least one type of storage medium among flash memory type, hard disk type, multimedia card micro type, card type memory (e.g., SD or XD memory, etc.), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, and optical disk.

[0053] The first communication interface 113 may include various communication circuits for performing communication with the second system 120. Here, 'communication' may mean the operation of transmitting and / or receiving data, signals, requests, and / or commands, etc.

[0054] For example, the first communication interface 113 may include at least one of a communication module, a communication circuit, a communication device, an input / output port, and an input / output plug for performing wired communication with the second system 120.

[0055] For example, the first communication interface 113 may include at least one wireless communication module, wireless communication circuit, or wireless communication device that performs wireless communication with the second system 120.

[0056] For example, the first communication interface 113 may include a short-range communication module capable of receiving control commands from a remote controller located at a short distance, for example, an input device, for example, an IR (infrared) communication module, etc. In this case, the first communication interface 113 may receive control signals from the remote controller.

[0057] For example, the first communication interface 113 may include at least one communication module that performs communication according to wireless communication standards such as Bluetooth, Wi-Fi, BLE (Bluetooth Low Energy), NFC / RFID, Wi-Fi Direct, UWB, or ZIGBEE. Alternatively, the first communication interface 113 may further include a communication module that performs communication with a server to support long-distance communication according to long-distance communication standards. For example, the first communication interface 113 may include a communication module that performs communication through a network for internet communication. Additionally, the first communication interface 113 may include a communication module that performs communication through a communication network according to communication standards such as 3G, 4G, 5G and / or 6G.

[0058] For example, the first communication interface 113 may include at least one port for being connected to the second system 120 via a wired cable in order to communicate with the second system 120 via a wired connection. For example, the first communication interface 113 may include at least one of an HDMI port (High-Definition Multimedia Interface port), a component jack, a PC port, a DisplayPort, and a USB port. Accordingly, the first communication interface 113 can perform communication with the second system 120, which is wired through at least one port. Here, a port may refer to a physical device configuration capable of connecting or inserting a cable, a communication line, or a plug, etc.

[0059] As described above, the first communication interface 113 may include at least one support element for supporting communication between the first system 110 and the second system 120. Here, the support element may include the aforementioned communication module, communication circuit, communication device, port (for input / output of data), cable port (for input / output of data), plug (for input / output of data), etc. For example, the at least one support element included in the first communication interface 113 may be an Ethernet communication module, a Wi-Fi communication module, a Bluetooth communication module, an IR communication module, a USB port, a tuner (or broadcast receiver), an HDMI port, a DP (display port), a DVI (digital visual interface) port, etc.

[0060] The second system 120 may include a second processor 121, a second memory 122, and a second communication interface 123. The second system 120 may perform at least one function by executing one or more applications executable on the second system 120 and may also communicate with the first system 110.

[0061] The second processor 121 controls the overall operation of the second system 120. For example, the second processor 121 can perform the functions of the second system 120 described in the present disclosure by executing one or more instructions stored in the second memory 122.

[0062] The second processor 121 may include various processing circuits and / or multiple processors. For example, the term "processor" as used herein, including in the claims, may include at least one processor and various processing circuits. In the at least one processor, one or more processors may be configured to perform the various functions described herein in a distributed manner, individually and / or collectively. As used herein, "processor," "at least one processor," and "one or more processors" may be configured to perform various functions. However, these terms cover, for example but without limitation, situations where one processor performs some of the functions and other processor(s) perform other parts of the functions, and situations where a single processor can perform all functions. Additionally, the at least one processor may include a combination of processors performing various functions of the disclosed functions in a distributed manner. The at least one processor may execute program instructions to achieve or perform various functions.

[0063] In an embodiment of the present disclosure, the second processor 121 may store one or more instructions in an internally provided memory and control the operation of a display device to be performed by executing one or more instructions stored in the internally provided memory. That is, the second processor 121 may perform a predetermined operation by executing at least one instruction or program stored in an internal memory or a second memory 122 provided within the second processor 121.

[0064] According to one embodiment, the second processor 121 can perform the operation of the second system 120 disclosed in the present disclosure by executing one or more instructions stored in the second memory 122.

[0065] According to one embodiment, at least one second processor 121 can perform an operation corresponding to one or more applications provided by the second system by executing one or more instructions stored in the second memory 122.

[0066] The second memory 122 can store a program for processing and controlling the second processor 121, and can store data that is input to or output from the second system 120. Additionally, the second memory 122 can store data necessary for the operation of the second system 120.

[0067] The second memory 122 may include at least one type of storage medium among flash memory type, hard disk type, multimedia card micro type, card type memory (e.g., SD or XD memory, etc.), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, and optical disk.

[0068] The second communication interface 123 may include various communication circuits for performing communication with the first system 110. Here, 'communication' may mean the operation of transmitting and / or receiving data, signals, requests, and / or commands, etc.

[0069] For example, the second communication interface 123 may include at least one of a communication module, a communication circuit, a communication device, an input / output port, and an input / output plug for performing wired communication with the first system 110.

[0070] For example, the second communication interface 123 may include at least one wireless communication module, wireless communication circuit, or wireless communication device that performs wireless communication with the first system 110.

[0071] For example, the second communication interface 123 may include a short-range communication module capable of receiving control commands from a remote controller located at a short distance, for example, an input device, for example, an IR (infrared) communication module, etc. In this case, the second communication interface 123 may receive control signals from the remote controller.

[0072] For example, the second communication interface 123 may include at least one communication module that performs communication according to wireless communication standards such as Bluetooth, Wi-Fi, BLE (Bluetooth Low Energy), NFC / RFID, Wi-Fi Direct, UWB, or ZIGBEE. Alternatively, the second communication interface 123 may further include a communication module that performs communication with a server to support long-distance communication according to long-distance communication standards. For example, the second communication interface 123 may include a communication module that performs communication through a network for internet communication. Additionally, the second communication interface 123 may include a communication module that performs communication through a communication network according to communication standards such as 3G, 4G, 5G, and / or 6G.

[0073] For example, the second communication interface 123 may include at least one port for being connected to the first system 110 via a wired cable in order to communicate with the first system 110 via a wired connection. For example, the second communication interface 123 may include at least one of an HDMI port (High-Definition Multimedia Interface port), a component jack, a PC port, a DisplayPort, and a USB port. Accordingly, the second communication interface 123 can perform communication with the first system 110, which is wired through at least one port. Here, a port may refer to a physical device configuration capable of connecting or inserting a cable, a communication line, or a plug, etc.

[0074] As described above, the second communication interface 123 may include at least one support element for supporting communication between the first system 110 and the second system 120. Here, the support element may include the aforementioned communication module, communication circuit, communication device, port (for input / output of data), cable port (for input / output of data), plug (for input / output of data), etc. For example, the at least one support element included in the second communication interface 123 may be an Ethernet communication module, a Wi-Fi communication module, a Bluetooth communication module, an IR communication module, a USB port, a tuner (or broadcast receiver), an HDMI port, a DP (display port), a DVI (digital visual interface) port, etc.

[0075] According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can identify an operation currently being performed by the first system and identify one or more processes being prepared for execution in the second system based on the operation currently being performed by the first system.

[0076] According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can secure available space in the memory of the second system for the memory space required by the first system by adjusting or killing the priority of one or more identified processes.

[0077] According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can identify one or more processes that have a low execution priority in the second system in response to an operation currently performed by the first system among the processes being prepared for execution in the second system.

[0078] According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can identify one or more processes from a table in which one or more processes with a low execution priority in the second system are mapped to the operations currently being performed by the first system among the processes being prepared for execution in the second system. According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can detect whether the available space of the first memory falls below a threshold while the first system is executing an application corresponding to the operation, and can request memory space from the second system by the first system as the available space of the first memory falls below the threshold.

[0079] According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can secure the available space of the second memory by adjusting or killing the priority of the one or more processes that are being prepared for execution by the second system based on the operation currently performed by the first system as the available space of the first memory falls below the threshold.

[0080] According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can identify at least some data to be moved from the first memory to the second memory by the first OS system as the available space of the first memory falls below the threshold, and can move the identified at least some data from the first memory to the second memory and store it.

[0081] According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can, as the available space of the first memory falls below the threshold, transmit information about an operation currently being performed by the first system to the second system, and based on the information about an operation currently being performed by the first system, the second system can identify an operation currently being performed by the electronic device.

[0082] According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can secure available space in the second memory by lowering the priority of one or more processes that are less associated with the operation currently being performed by the first system by the second system, and by removing one or more processes with lower priority from the second memory according to the adjusted priority.

[0083] According to one embodiment, by executing one or more instructions stored in a first memory 112 by a first processor 111 and executing one or more instructions stored in a second memory 122 by a second processor 121, the electronic device 100 can identify data to be moved from the first memory to the second memory to be stored based on at least one of whether a user has designated a process corresponding to the data stored in the first memory, the priority of the process corresponding to the data stored in the first memory, the time at which the data is stored in the first memory, and whether the data can be read again after being removed from the first memory.

[0084] The electronic device 100 may be any type of device that performs functions including a processor and memory. The electronic device 100 may be a stationary or portable device. For example, the electronic device 100 may represent a device equipped with a display capable of displaying image content, video content, game content, graphic content, etc. The electronic device 100 may include various types of electronic devices capable of receiving and outputting content, such as televisions like network TV, smart TV, internet TV, web TV, and IPTV; computers like desktops, laptops, and tablets; smartphones, cellular phones; game players, music players, video players; medical equipment; home appliances, etc.

[0085] The block diagram of the electronic device 100 illustrated in FIG. 2 is a block diagram for one embodiment. Each component of the block diagram may be integrated, added, or omitted according to the specifications of the actual implemented electronic device 100. For example, as needed, two or more components may be combined into a single component, or a single component may be subdivided into two or more components. Furthermore, the functions performed in each block are intended to explain the embodiments, and the specific operations or devices thereof do not limit the scope of the present invention.

[0086] FIG. 3 is an example of a detailed block diagram of the memories of an electronic device according to one embodiment.

[0087] Referring to FIG. 3, the first memory 111 included in the first system 110 may include a first OS 310, one or more applications 320 based on the first system, and a remote memory control module 330.

[0088] The first OS 310 may represent system software that manages the hardware and software resources of the first system 110 and provides common services to computer programs. The OS may schedule tasks to use the system efficiently and allocate processor time, mass storage devices, peripheral devices, and other resources.

[0089] One or more applications 320 based on the first system are also referred to as application software or applications, and represent computer programs designed to perform specific tasks in addition to tasks related to the operation of the computer itself.

[0090] The remote memory control module 330 is a module for managing and controlling the second memory 220 of the second system 120 in addition to the first memory 110 of the first system 110, and can perform control to enable the use of the second memory 220 of the second system 120 when the available space of the first memory 110 of the first system is insufficient. The remote memory control module 330 may include a system overhead monitoring module 331, a remote memory usage control client 332, and a scenario manager 333.

[0091] The system overhead monitoring module 331 may provide an interface that provides the overhead status of system resources of the first system 110. System overhead may represent CPU time, memory capacity, I / O, etc., required by the OS to manage the system. The system overhead monitoring module 331 may monitor the remaining memory, remaining CPU, remaining I / O, etc. of the first system 110 and provide information regarding them. For example, when the system overhead monitoring module 331 receives a query from the remote memory usage control client 332, it may provide information regarding the current remaining memory of the first system 110 or notify the insufficient memory status in response. Alternatively, if the system overhead monitoring module 331 monitors the remaining memory and detects that the remaining memory capacity falls below a threshold, it may provide this insufficient memory status to the remote memory usage control client 332.

[0092] The remote memory usage control client 332 controls the system overhead monitoring module 331 and the scenario manager 333 to manage remote memory usage, and can also communicate with the remote memory usage control server 352 of the second system 120.

[0093] According to one embodiment, a remote memory usage control client 332 can detect whether the memory capacity of the first system 110 is insufficient through a system overhead monitoring module 331.

[0094] According to one embodiment, a remote memory usage control client 332 may request memory space from a remote memory usage control server 352 of the second system 120 in order to utilize the memory space of the second memory 122 of the second system 120 when the memory capacity of the first system 110 is insufficient.

[0095] According to one embodiment, a remote memory usage control client 332 may provide current operation scenario information of the first system 110 when requesting memory space from a remote memory usage control server 352. The current operation scenario information may include information about operations or functions currently being performed in the first system 110 of the electronic device 100. The current operation scenario information may be obtained by the remote memory usage control server 352 by inquiring of the scenario manager 333.

[0096] According to one embodiment, a remote memory usage control client 332 can select data to be moved from a first memory 112 to a second memory 122 and transmit the selected data to a second system 120.

[0097] According to one embodiment, the remote memory usage control client 332 can select data to be moved from the first memory 112 to the second memory 122 based on various criteria. For example, the remote memory usage control client 332 can select data specified according to user settings as data to be moved. For example, the remote memory usage control client 332 can select data corresponding to a process with a lower priority as data to be moved based on the priority of the process. For example, the remote memory usage control client 332 can select data with an older data storage time as data to be moved based on the time the data was stored in the first memory 112. For example, the remote memory usage control client 332 can select data to be moved based on data that can be read anew even after data is removed from the first memory 112.

[0098] Scenario Manager 333 monitors information about functions, operations, or applications performed in the first system 110 and stores it as current operation scenario information.

[0099] Scenario Manager 333 can receive and store current operation scenario information of the second system 120 from the second system 120 in real time, periodically, or non-periodically. Scenario Manager 333 can receive current operation scenario information of the second system 120 through the remote memory usage control client 332.

[0100] Scenario Manager 333 can provide current operation scenario information of the first system 110 to the second system 120 in real time, periodically, or non-periodically. Scenario Manager 333 can provide current operation scenario information of the first system 110 to the second system 120 through the remote memory usage control client 332.

[0101] The second memory 121 included in the second system 120 may include a second OS 340, one or more applications 350 based on the second system, and a remote memory control module 360.

[0102] The second OS 340 may represent system software that manages the hardware and software resources of the second system 120 and provides common services to computer programs. The OS may schedule tasks to use the system efficiently and allocate processor time, mass storage devices, peripheral devices, and other resources.

[0103] One or more applications based on the second system 350 are also referred to as application software or applications, and represent computer programs designed to perform specific tasks in addition to tasks related to the operation of the computer itself.

[0104] The remote memory control module 360 ​​is a module for managing and controlling the first memory 120 of the first system 110 in addition to the second memory 120 of the second system 120, and can perform control to enable the use of the second memory 220 of the second system 120 when the available space of the first memory 110 of the first system is insufficient. The remote memory control module 360 ​​may include a system overhead monitoring module 361, a remote memory usage control server 362, and a scenario manager 363.

[0105] The system overhead monitoring module 361 may provide an interface that provides the overhead status of system resources of the second system 120. System overhead may represent CPU time, memory capacity, I / O, etc., required by the OS to manage the system. The system overhead monitoring module 331 may monitor the remaining memory, remaining CPU, remaining I / O, etc. of the first system 110 and provide information regarding them. For example, when the system overhead monitoring module 361 receives a query from the remote memory usage control server 362, it may provide information regarding the current remaining memory of the second system 120 or notify the system of a memory shortage status in response. Alternatively, if the system overhead monitoring module 361 monitors the remaining memory and detects that the remaining memory capacity falls below a threshold, it may provide this memory shortage status to the remote memory usage control server 362.

[0106] The remote memory usage control server 362 controls the system overhead monitoring module 361 and the scenario manager 363 to manage remote memory usage, and can also communicate with the remote memory usage control client 332 of the first system 110.

[0107] According to one embodiment, the remote memory usage control server 362 can detect whether the memory capacity of the second system 120 is insufficient through the system overhead monitoring module 361.

[0108] According to one embodiment, the remote memory usage control server 362 may receive a memory space request from the remote memory usage control client 332 of the first system 110 in order to utilize the memory space of the second memory 122 of the second system 120 when the memory capacity of the first system 110 is insufficient.

[0109] According to one embodiment, the remote memory usage control server 362 can receive current operation scenario information of the first system 110 when receiving a memory space request from the remote memory usage control client 332.

[0110] According to one embodiment, the remote memory usage control server 362 can adjust the priority of one or more applications loaded in the second memory 120, i.e., the priority of the processes, based on the current operation scenario information of the first system 110 received in this way. And by killing one or more processes with low priority according to this priority adjustment, available space in the second memory 120 can be secured.

[0111] According to one embodiment, a remote memory usage control server 362 receives data to be moved from a first memory 112 to a second memory 122 from a remote memory usage control client 332, and can store the received data in the second memory 122.

[0112] Scenario Manager 363 monitors information about functions, operations, or applications performed in the second system 120 and stores it as current operation scenario information.

[0113] Scenario Manager 363 can receive and store current operation scenario information of the first system 110 from the first system 110 in real time, periodically, or non-periodically. Scenario Manager 363 can receive current operation scenario information of the first system 110 through the remote memory usage control server 362.

[0114] Scenario Manager 363 can provide current operation scenario information of the second system 120 to the first system 110 in real time, periodically, or non-periodically. Scenario Manager 363 can provide current operation scenario information of the second system 120 to the first system 110 through the remote memory usage control server 363.

[0115] FIG. 4 shows an example of a detailed block diagram of an electronic device according to one embodiment.

[0116] Referring to FIG. 4, the electronic device 100 further includes sensors in the first system 110 and the second system 120, and an example of an application is specifically illustrated.

[0117] The first system 110 may include a first process 111, a first memory 112, a first communication interface 113, and a sensor 114. The first system 110 may include sensors and applications used primarily to perform driving and projection functions.

[0118] The sensor 114 may include a 2D LiDAR 115 that measures the distance to surrounding objects using a laser, a 3D TOF 116 that generates an image containing distance information from a camera, an RGB camera 117, and a 1D TOF 118.

[0119] One or more applications 320 based on the first system may include one or more applications 410 for driving functions, one or more applications 420 for optimal surface projection, one or more applications 430 for recognition functions, and one or more applications 440 for basic functions.

[0120] One or more applications 410 for driving functions may include a path planning app 411, a motion planning app 412, a map creation and management app 413, an obstacle avoidance app 414, etc.

[0121] One or more applications 420 for optimal surface projection may include a projection surface detection app 421, a coordinate system transformation app 422, an optimal surface determination app 423, a projection correction app 424, etc.

[0122] One or more applications 430 for recognition functions may include a head pose app 431, a gesture recognition app 432, an obstacle recognition app 433, an on-device engine 434, etc.

[0123] One or more applications 440 for basic functions may include a state manager app 441, a socket app 442, an update app 443, an NFS server app 444, etc.

[0124] The second system 120 may include a second process 121, a second memory 122, a second communication interface 123, and a sensor 124. The second system 120 may include sensors and applications primarily for performing the functions of a display device, such as a general television.

[0125] Sensor 124 may include a microphone 125 and a 3D TOF 126.

[0126] One or more applications 350 based on the second system may include one or more applications 450 for UI functions, one or more applications 460 for voice functions, one or more applications 470 for IoT service functions, one or more applications 480 for basic functions, etc.

[0127] One or more applications 450 for UI functions may include a home UI app 451, an OOBE app 452, a battery app 453, a user interaction app 454, a map recognition / generation app 455, etc.

[0128] One or more applications 460 for voice functions may include a wake word app 461, a speaker recognition app 462, a voice control app 463, an on-device app 464, etc.

[0129] One or more applications 470 for IoT service functions may include ST integration apps 471, come onboarding apps 472, home patrol apps 473, pet care apps 474, energy saving apps 475, etc.

[0130] One or more applications 480 for basic functions may include socket applications 481, update applications 482, Bluetooth applications 483, mobile connectivity applications 484, etc.

[0131] For example, when one or more applications 410 for a driving function and one or more applications for an optimal surface projection function are executed in the first system 110, the first system 110 may recognize the current operation scenario as a driving function and an optimal surface projection function. And if a memory shortage is detected while operating according to the current operation scenario, the first system may transmit the current operation scenario of the first system to the second system along with a request for available memory space.

[0132] Then, the second system can kill some processes to make available memory space for the first system, and in this case, it can make available memory space by killing at least one process that is unrelated to the current operation scenario of the first system. Since the current operation scenario of the first system is a driving function and an optimal surface projection function, the priority of one or more applications that are less related to these functions can be lowered. For example, the second system 120 can select one or more applications included in UI functions or IoT service functions as processes unrelated to the driving function or the optimal surface projection function.

[0133] For example, when one or more applications for UI functions are executed in the second system 120, the second system 120 can recognize the current operation scenario as a UI function. And if a memory shortage is detected while operating according to the current operation scenario, the second system can transmit the current operation scenario of the second system along with a request for available memory space to the first system.

[0134] Then, the first system may kill some processes to make available memory space for the second system, and in this case, available memory space may be made by killing at least one process that is unrelated to the second system's current operation scenario. Since the second system's current operation scenario is a UI function, the priority of one or more applications that are less related to this function may be lowered. For example, the first system 110 may select one or more applications included in the driving function or recognition function as processes unrelated to the UI function.

[0135] FIG. 5a shows an example of a functional block diagram for explaining the operation of a first system and a second system according to one embodiment.

[0136] Referring to FIG. 5a, the remote memory control module 330 of the first system 110 and the remote memory control module 360 ​​of the second system 120 can cooperate to perform an operation that enables the utilization of memory space from the other system when memory space is insufficient while performing an operation in either the first system 110 or the second system 120 in the electronic device 100. That is, the remote memory control module 330 of the first system 110 and the remote memory control module 360 ​​of the second system 120 can form an integrated remote memory control system 500 of the electronic device 100 by operating in cooperation. For example, while the first system 110 performs a main operation of the electronic device 100, the first system 110 can utilize the memory space of the second system to supplement insufficient memory space. For example, while the second system 120 performs a main operation of the electronic device 100, the second system 120 can utilize the memory space of the first system to supplement insufficient memory space.

[0137] According to one embodiment, the first system 110 can detect a shortage of memory space while performing the operation of the electronic device 100 by executing one or more applications.

[0138] According to one embodiment, the remote memory control client module 332 of the first system 110 can obtain information about the system overhead situation by querying the system overhead monitoring module 331 about the system overhead situation.

[0139] According to one embodiment, the system overhead monitoring module 331 of the first system 110 may provide an interface that provides the overhead status of the system resources of the first system 110. System overhead may represent CPU time, memory capacity, I / O, etc., required by the OS to manage the system. The system overhead monitoring module 331 may monitor the remaining memory, remaining CPU, remaining I / O, etc. of the first system 110 and provide information thereon. For example, when the system overhead monitoring module 331 receives a query from the remote memory control client 332, it may provide information about the current remaining memory of the first system 110 or notify the memory shortage status in response to the query. Alternatively, the system overhead monitoring module 331 may monitor the remaining memory and, if it detects that the remaining memory capacity falls below a threshold, provide this memory shortage status to the remote memory control client 332.

[0140] According to one embodiment, when the remote memory control client module 332 of the first system 110 determines that the memory space of the first system is insufficient, it may transmit a request to the second system to secure available memory space. That is, the remote memory control client module 332 may transmit a request to secure available memory space to the remote memory control server module 362. Accordingly, the remote memory control server module 362 may kill some processes in the second memory to secure available space in its second memory. In this case, rather than killing randomly determined processes, it may be preferable to kill processes that are unrelated to the operation currently being performed on the electronic device 100 and are therefore unlikely to be executed during the current operation. Therefore, the remote memory control client module 332 of the first system 110 provides information about the operation scenario currently being performed in the first system to the second system 120, and the remote memory control server module 362 of the second system 120 may be desirable to adjust the priority of processes or temporarily kill some processes based on the current operation scenario of the first system.

[0141] According to one embodiment, when the remote memory control client module 332 of the first system 110 transmits a request to secure available memory space to the second system, it can provide information about the current operation scenario of the first system.

[0142] According to one embodiment, the remote memory control client module 332 of the first system 110 may request information about the current operation scenario of the first system from the scenario manager 333, receive information about the current operation scenario of the first system from the scenario manager 333, and provide it to the remote memory control server module 362 of the second system 120.

[0143] According to one embodiment, the scenario manager 333 may monitor information regarding functions, operations, or applications performed in the first system 110 and store it as current operation scenario information of the first system 110. The scenario manager 333 may receive and store current operation scenario information of the second system 120 from the second system 120 in real time, periodically, or non-periodically.

[0144] According to one embodiment, the scenario manager 333 may define the current operation scenario in various units in relation to a plurality of operations performed in the first system 110. For example, as illustrated in FIG. 4 above, when the operations performed in the first system 110 are broadly categorized into four operations, a driving function, an optimal surface projection function, a recognition function, and a basic function, the scenario manager 333 may store the current operation scenario in one or more of these four functions. Alternatively, the scenario manager 333 may store the current operation scenario in one or more application units included in each function.

[0145] According to one embodiment, the remote memory control client module 332 receives current operation scenario information of the second system 120 from the second system in real time, periodically, or non-periodically, and the remote memory control server module 362 receives current operation scenario information of the first system 110 from the first system in real time, periodically, or non-periodically, so that the first system 110 and the second system 120 can share information about each other's current operation scenarios. Even though the first system 110 and the second system 120 share information about each other's current operation scenarios in this way, for more reliable information sharing, it may be preferable for the remote memory control client module 332 to provide the current operation scenario information of the first system 110 to the remote memory control server module 362 of the second system 120 when a request for memory space allocation is made.

[0146] According to one embodiment, the remote memory control client module 332 can select data to be moved from the first memory 112 to the second memory 122 in order to secure memory space.

[0147] According to one embodiment, the remote memory control client module 332 can select memory data of a specified processor as data to be moved based on user input. For example, the remote memory control client module 332 can obtain one or more process lists selected based on user input and select memory data of processes in these process lists as data to be moved.

[0148] According to one embodiment, the remote memory control client module 332 can select memory data of a selected process as data to be moved based on the priority of the process. For example, when system memory becomes insufficient during application execution, it is called OOM (Out of Memory). In this case, the kernel can forcibly terminate, or kill, the application that occupies a large amount of memory to ensure normal operation of the system. And to select the application to be forcibly terminated, a score can be assigned to each process, and the process with the highest score (OOM score) can be forcibly terminated first. That is, the kernel can select memory data of the process with the highest OOM score as data to be moved.

[0149] According to one embodiment, the remote memory control client module 332 can select data to be moved based on the time at which a process is stored in the first memory 110. That is, the remote memory control client module 332 records the time at which each process is stored in the first memory 110 and can select memory data of a process whose stored time exceeds a threshold as data to be moved. Data that has been stored in memory for a long time may be determined to be unlikely to be used in the near future. When determining whether the stored time exceeds a threshold, the threshold may be set according to user input.

[0150] According to one embodiment, the remote memory control client module 332 can select data to be moved, such as data in the page cache, which can be read anew from the file system even after being removed from the first memory 112 by moving the data.

[0151] According to one embodiment, a remote memory control server module 362 may receive information regarding the current operation scenario of the first system from a remote memory control client module 332. The remote memory control server module 362 may select at least some processes to be temporarily killed in the second memory 122 to secure memory space. And the remote memory control server module 362 may select at least some processes to be temporarily killed based on the current operation scenario of the first system.

[0152] According to one embodiment, the remote memory control server module 362 can adjust the priority of one or more processes that are less relevant to the current operation scenario of the first system. For example, the remote memory control server module 362 can adjust one or more priorities based on a mapping table as shown in FIG. 6.

[0153] Figure 5b is a reference diagram illustrating process killing and process priority adjustment according to one example.

[0154] A process can represent a program running continuously on a computer. It is often used almost interchangeably with the term "task," which is the subject of scheduling. Using multiple processes is called multiprocessing, while the time-sharing method of running multiple programs simultaneously is called multitasking. A program generally refers to executable code stored on a hard disk or similar storage, whereas a process refers to a unit of work in which the program itself and its state are executed in memory upon execution. For example, running a single program multiple times can result in multiple processes running in memory.

[0155] The states of a process can include the Create state 510, Ready state 520, Running state 530, Waiting state 540, and Terminated state 550. The Create state 510 indicates the state in which a process is being created. The Running state 530 indicates the state in which a process occupies the CPU and instructions are being executed. The Ready state 520 indicates a state in which a process is not currently using the CPU but is available to use it at any time, waiting to be allocated the CPU. Generally, among processes in the Ready state, the process with the highest priority is allocated the CPU. The Waiting state 540 indicates the state in which a process is waiting for an event, such as the completion of I / O or the reception of a signal. The Terminated state 550 indicates the state in which the execution of a process has ended.

[0156] The state transitions of such a process are as follows.

[0157] When a program receives execution instructions, a process corresponding to that program is created and placed at the end of Ready List 560. As other processes on Ready List are allocated the CPU and leave Ready List 560, that process gradually moves to the front of Ready List 560 and eventually becomes available to use the CPU.

[0158] The process at the front of the ready list 560 taking over the CPU, that is, changing from ready state 520 to running state 530, is called dispatch.

[0159] If a process in running state 530 requires an I / O operation before using up its allotted time, the process relinquishes the CPU and moves to waiting (blocked) state 540.

[0160] The process of transitioning from Waiting State 540 to Ready State 520 when a waiting event occurs, such as the completion of an I / O operation, is called wakeup. To prevent a process from continuously monopolizing the CPU, the operating system provides clock interrupts that allow a process to occupy the CPU for a certain period of time. Therefore, once a process consumes all of its allocated time, it times out, loses CPU occupancy, and returns to Ready State 520.

[0161] Explain Preparation List 560 in more detail.

[0162] Ready List 560 is a list that stores the process identifiers of processes created according to the program's execution instructions. In Ready List 560, process identifiers can be stored with priorities determined according to the order of the created processes. For example, the most recently created process can be stored in Ready List 560 with the lowest priority assigned. For instance, in the state shown in Fig. 5b where PID #4 is currently stored in Ready List 560 with the 4th priority (a), when a new process is created, PID #5, which corresponds to the newly created process, can be stored with the last priority, i.e., the 5th priority (b). Then, when a situation arises where the CPU can be allocated, the process with the highest priority in Ready List 560—that is, the process corresponding to PID #1, which has the first priority—can be executed. Once PID #1 enters the execution state, PID #1 is removed from Ready List 560, and the processes with the next highest priority can have their priorities increased one by one (c).

[0163] In this way, ready list 560 stores identifiers for one or more processes waiting for CPU allocation.

[0164] Killing a process can mean removing the process identifier stored in this ready list 560, thereby ultimately removing the process corresponding to that process identifier from memory. In this way, memory space can be secured by directly reclaiming the space occupied by that process in memory by killing a specific process directly.

[0165] Lowering the priority of a process may mean updating a process identifier at a certain priority in Ready List 560 to a lower priority. For example, PID #1 at the first priority in Ready List 560 as shown in (a) can be updated to the fourth priority, which is the last priority. And when the electronic device needs to remove processes stored in memory to free up memory space, for example when memory space is insufficient, it can remove processes corresponding to PIDs at lower priorities in Ready List 560 first.

[0166] FIG. 6 shows an example of a mapping table between a current operation scenario and a kill target process according to one embodiment.

[0167] Referring to FIG. 6, the mapping table 600 may include a current operation scenario 610 and one or more kill target processes 620 corresponding to the current operation scenario.

[0168] The current operation scenario 610 may represent a function or operation that is currently primarily performed or executed in the electronic device 100. For example, in a state where the electronic device 100 includes a first system 110 and a second system 120, the current operation scenario 610 may represent a function or operation that is currently primarily performed or executed in the first system 110, a function or operation that is currently primarily performed or executed in the second system 120, or a function or operation that is currently primarily performed or executed using a part of the first system 110 and a part of the second system 120. Additionally, the electronic device 100 is not limited to the case where it includes the first system and the second system, but may include a form that extends to a greater number of systems, such as a third system, a fourth system, etc.

[0169] One or more kill target processes corresponding to the current operation scenario may represent applications or processes that are unlikely to be executed while performing the current function or operation because they are less relevant to the function or operation of the current operation scenario. For example, while electronic device 100 is performing a driving operation, video projection operations based on an OTT app may be unlikely to be executed. Therefore, when the current operation scenario is a driving operation, the kill target processes may include one or more applications or processes related to video projection operations based on an OTT app. Conversely, when the current operation scenario is a video projection operation based on an OTT app, the kill target processes may include one or more applications or processes related to the driving function.

[0170] If the current operation scenario is the first function (operation), the corresponding kill target processes are mapped to the first process, the second process, and the third process; if the current operation scenario is the second function (operation), the corresponding kill target processes are mapped to the first process, the third process, and the fourth process; and if the current operation scenario is the third function (operation), the corresponding kill target process is mapped to the first process.

[0171] Therefore, for example, when the remote memory control server module 362 of the second system 120 receives the first function (operation) as current operation scenario information from the first system 110, the remote memory control server module 362 can control the first process, the second process, and the third process mapped to the first function (operation) to be killed by temporarily killing them or by adjusting the priority of these first process, the second process, and the third process to a lower priority.

[0172] In the example of Fig. 6, a mapping table between the current operation scenario and the process to be killed is prepared in advance, but it is not limited thereto. Identifying the process to be killed according to the current operation scenario can be performed in real time. For example, identifying the process to be killed according to the current operation scenario can be performed using an artificial intelligence neural network.

[0173] FIG. 7 is a flowchart of an example of a method of operation of an electronic device 100 according to one embodiment.

[0174] Referring to FIG. 7, in operation 710, the electronic device 100 can identify the operation currently being performed by the first system.

[0175] In operation 720, the electronic device 100 can identify one or more processes being prepared for execution in the second system according to the operation currently being performed by the first system.

[0176] According to one embodiment, an electronic device 100 detects whether the available space of a first memory falls below a threshold while executing an application corresponding to an operation currently performed by a first system, and as the available space of the first memory falls below the threshold, the first system may request memory space from a second system.

[0177] According to one embodiment, the electronic device 100 may identify one or more processes being prepared for execution by the second system based on the currently performed operation as the available space of the first memory falls below the threshold. For example, the electronic device 100 may identify processes that are less relevant to the currently performed operation or are unlikely to be executed in relation to the currently performed operation. In this disclosure, "less relevant application" refers to an application that has little or no functional, resource, or interface-related connection with the main task currently being performed by the electronic device 100, and this may be identified based on the system's resource utilization, process dependency relationships, user input interaction, etc. For example, less relevant applications may include applications that have no direct functional connection with the main task being performed by the computer system or applications activated on the user interface. For example, less relevant applications may include applications where the occupancy rate of system resources (CPU, memory, I / O, etc.) is below a preset threshold. For example, low-relevance applications may include applications that are not included in the process flow of the current task (e.g., process hierarchy, message passing, event handling, etc.).

[0178] According to one embodiment, as the available space of the first memory of the electronic device 100 falls below the threshold, the first system transmits information about the operation currently being performed by the first system to the second system, and based on the information about the operation currently being performed by the electronic device, the second system can identify the operation currently being performed by the electronic device.

[0179] In operation 730, the electronic device 100 can secure available memory space in the second system for the memory space required by the first system by adjusting or killing the priority of one or more processes identified in the second system.

[0180] According to one embodiment, an electronic device 100 can adjust the priority by lowering the priority of one or more processes that are less associated with the operation currently being performed by the second OS system, and secure available space in the second memory by removing one or more processes with lower priority from the second memory according to the adjusted priority.

[0181] According to one embodiment, an electronic device 100 can identify at least some data to be moved from the first memory to the second memory by a first system as the available space of the first memory falls below a threshold, and can move the identified at least some data from the first memory to the second memory and store it.

[0182] According to one embodiment, an electronic device 100 can identify at least some data to be moved from the first memory to the second memory and stored based on at least one of whether a user designates a process corresponding to the data, the priority of the process corresponding to the data, the time at which the data is stored in the first memory, and whether the data can be read again after being removed from the first memory.

[0183] FIG. 8 shows an example of a method of operation of an electronic device according to one embodiment.

[0184] Referring to FIG. 8, in operation 801, the first system operation can be started.

[0185] In operation 802, the first system may execute one or more applications to perform the operation of the first system.

[0186] In operation 803, the first system can detect whether a memory shortage situation has occurred. If no memory shortage situation has occurred, the application can continue to run.

[0187] In operation 804, if a memory shortage situation occurs, the first system may perform a memory recovery operation.

[0188] In operation 805, the first system may request the second system to operate the memory utilization function of the second system. For example, the first system may transmit a request for available memory space to the second system.

[0189] In operation 806, the second system can determine whether there is a memory shortage by checking the system overhead of the second system. If the second system is also in a memory shortage, the available memory space of the second system cannot be utilized, so proceed to operation 810. If the second system is not in a memory shortage, proceed to operation 806.

[0190] In operation 807, the second system can secure available memory space by lowering the priority of one or more processes that are less necessary in the second system according to the current operation scenario of the electronic device, that is, the current operation scenario performed in the first system, and by removing the low-priority processes from the memory of the second system.

[0191] In operation 808, the first system can select data to be moved to the second system from among the data stored in the memory of the first system.

[0192] In operation 809, the first system can transmit selected data to the second system.

[0193] If the result of the judgment in operation 806 is that the second system is also in a memory shortage situation, the available memory space of the second system cannot be utilized, so the process proceeds to operation 810.

[0194] In operation 810, the first system determines whether available memory of the first system can be secured, and if it can be secured, proceeds to operation 802.

[0195] If available memory of the first system cannot be secured, proceed to operation 811.

[0196] In operation 811, the first system can kill one or more background applications.

[0197] In operation 812, determine whether available memory has been secured based on the background application kill operation, and if it can be secured, proceed to operation 802.

[0198] If available memory is not secured even by killing background applications, the first system may terminate the execution of the application.

[0199] FIG. 9 illustrates an example of a method of operation of an electronic device according to one embodiment.

[0200] Referring to FIG. 9, in operation 901, the system overhead monitoring module 331 of the first system monitors the memory status of the first system 110 and can report a memory shortage situation to the remote memory control client module 332. For example, the system overhead monitoring module 331 can determine a memory shortage situation when the remaining memory capacity falls below a threshold and can report such a memory shortage situation to the remote memory control client module 332.

[0201] In operation 902, the remote memory control client module 332 can inquire about the system overhead status of the second system from the remote memory control server module 362 of the second system 120. That is, even if the first system wants to request memory space of the second system due to a lack of memory, if the memory space of the second system is already insufficient, it will be difficult to utilize the memory space of the second system, so the system overhead status of the second system can be inquired about first.

[0202] In operation 903, the remote memory control client module 332 can query the system overhead monitoring module 361 for the system overhead status.

[0203] In operation 904, the system overhead monitoring module 361 can provide a response regarding the system overhead situation to the remote memory control server module 362.

[0204] In operation 905, the remote memory control server module 362 can provide a response regarding the system overhead situation of the second system to the remote memory control client module 332.

[0205] In operation 906, the remote memory control client module 332 may query the scenario manager 333 for the current operation scenario if the remaining memory space of the second system is available in response to the system overhead situation of the second system. Of course, if the remaining memory space of the second system is not available in response to the system overhead situation of the second system, the operation of the electronic device 100 shown in FIG. 9 may be terminated.

[0206] In operation 907, the scenario manager 333 can send a response containing information about the current operation scenario of the first system to the remote memory control client module 332.

[0207] In operation 908, the remote memory control client module 332 can transmit information about the current operation scenario of the first system to the remote memory control server module 362 of the second system 120.

[0208] In operation 909, the remote memory control server module 362 can secure available space in the second memory by adjusting the priority of one or more processes that are ready to run in the second system based on the current operation scenario of the first system. For example, if the current operation scenario of the first system indicates the second function, the remote memory control server module 362 can secure available space in the second memory by lowering the priority of the first, third, and fourth processes corresponding to the second function to a lower priority, thereby making these processes easier to kill, or by temporarily killing these processes.

[0209] In operation 910, the remote memory control client module 332 can select data to be moved from the first system to the second system.

[0210] In operation 911, the remote memory control client module 332 can read out data to be moved from the first memory 112 to the second memory 122.

[0211] In operation 912, the remote memory control client module 332 can transmit data to be moved to the remote memory control server module 362.

[0212] In operation 913, the remote memory control server module 362 can store the data to be moved in the second memory 122.

[0213] In operation 914, the system overhead monitoring module 361 monitors the remaining space of the second memory, and if it detects that the remaining space of the second memory falls below a threshold, it can transmit the memory shortage situation to the remote memory control server module 362.

[0214] In operation 915, the remote memory control server module 362 can send a request to stop data transmission to the remote memory control client module 332 upon receiving a memory shortage situation from the system overhead monitoring module 361.

[0215] FIG. 10 shows an example of an operation scenario of an electronic device according to one embodiment.

[0216] For example, the electronic device 100 has an autonomous driving function and may include a driving robot that can provide video content using a projector equipped in the electronic device 100 and also provide IoT services.

[0217] Referring to FIG. 10, the electronic device 100 can perform the operation of projecting a notification image 1010 indicating the driving direction onto the floor in the direction of the driving path while driving. For example, the electronic device 100 can perform a driving operation at home, and to inform the user which direction the electronic device 100 is driving, it can project a notification image 1010 indicating the direction onto the floor corresponding to the direction of the driving path. For this function, one or more applications for a driving function and one or more applications for an optimal surface projection function can be executed in the first system 110 of the electronic device 100. For example, one or more applications for a driving function may include at least one of a path planning app, a motion planning app, a head pose app, and an obstacle avoidance app included in the driving SW 410. One or more applications for an optimal surface projection function may include at least one of a projection surface detection app, a coordinate system transformation app, an optimal surface determination app, and a projection correction app included in the optimal surface projection SW 430. By performing such operations, the current operation scenario of the first system may include a driving function and an optimal surface projection function. In this way, if a memory shortage of the first system is detected while the first system is performing the driving function and the optimal surface projection function, the first system 110 may request memory space from the second system 120. Based on the current operation scenario of the first system 110, it may be desirable for the second system 120 to secure available memory space by removing applications from the second memory 122 of the second system 120 that are unlikely to be executed in conjunction with the operation currently performed by the electronic device 100. Since the current operation scenario is the driving function and the optimal surface projection function, the second system 120 may select a UI function as a function that is less related to these functions.Accordingly, the second system 120 can make it easier for one or more applications included in UI SW or IoT services to be killed by temporarily killing them or by lowering the priority of one or more applications included in UI functions. In this way, by removing one or more applications that are not related to the current operation scenario of the electronic device 100 from the second memory to secure available space in the second memory, and by moving and storing some data from the first memory into the available space of the second memory, the first system can secure available space in the first memory.

[0218] FIG. 11 shows an example of an operation scenario of an electronic device according to one embodiment.

[0219] Referring to FIG. 11, an electronic device 100 can perform the operation of projecting a content image 1100 onto a projection surface such as a wall. For example, the electronic device 100 can project the content image 1100 while in a stationary state, and a user can project content images provided from various content sources using the electronic device 100. To perform this function, one or more applications for UI functions can be executed in the first system 110 of the electronic device 100 for optimal surface projection and in the second system 120. For example, one or more applications for UI functions may include at least one of a home UI app, an OCBE app, a battery app, a user interaction app, and a map recognition / generation app included in the UI SW 450. One or more applications for optimal surface projection functions may include at least one of a projection surface detection app, a coordinate system transformation app, an optimal surface determination app, and a projection correction app included in the optimal surface projection SW 430. By performing such operations, the current operation scenario of the electronic device 100 may include the optimal surface projection function of the first system and the UI function of the second system. If a memory shortage of the second system is detected while performing such operations, the second system 120 may request memory space from the first system 110. Based on the current operation scenario of the second system 120, it may be desirable for the first system 110 to secure available memory space by removing applications from the first memory 112 of the first system 110 that are unlikely to be executed in conjunction with the operation currently performed by the electronic device 100. Since the current operation scenario of the second system is a UI function, the first system 110 may select a driving function as a function that is less related to these functions. Accordingly, the first system 110 may make it easier for one or more applications included in the driving function to be killed by temporarily killing them or by lowering the priority of one or more applications included in the driving function.Of course, since the first system 110 is currently also executing the optimal face projection function, the first system can make a selection by considering the optimal face projection function it is executing when selecting one or more applications to lower the priority or temporarily kill. For example, the first system 110 can exclude applications that are directly or indirectly related to the optimal face projection function from the selection of applications to lower the priority, and consider applications that are not related to the optimal face projection function as applications to lower the priority. In this way, by removing one or more applications that are not related to the current operation scenario from the first memory to secure available space in the first memory, and by moving and storing some data from the second memory into this available space in the first memory, the second system can secure available space in the second memory.

[0220] FIG. 12 shows an example of an operation scenario of an electronic device according to one embodiment.

[0221] Referring to FIG. 12, the electronic device 100 can perform an operation of projecting an image for information display while in a stationary state. For this function, one or more applications for an optimal surface projection function can be executed in the first system 110 of the electronic device 100. By performing such an operation, the current operation scenario of the first system may include an optimal surface projection function. If a memory shortage of the first system is detected while performing such an operation, the first system 110 may request memory space from the second system 120. Based on the current operation scenario of the first system 110, it may be desirable for the second system 120 to secure available memory space by removing applications from the second memory 122 of the second system 120 that are unlikely to be executed in conjunction with the operation currently performed by the electronic device 100. Since the current operation scenario is an optimal surface projection function, the second system 120 may select a UI function as a function that is less related to these functions. Accordingly, the second system 120 can make it easier for one or more applications included in the UI function to be killed by temporarily killing them or by lowering the priority of one or more applications included in the UI function. In this way, by removing one or more applications that are not related to the current operation scenario from the second memory to secure available space in the second memory, and by moving and storing some data from the first memory into this available space in the second memory, the first system can secure available space in the first memory.

[0222] FIG. 13 is a reference diagram for explaining an example of merging the memory space of a first system and the memory space of a second system to use as a virtual memory space according to one embodiment.

[0223] Referring to FIG. 13, compared to the first system and second system illustrated in FIG. 5, the first system 110 and the second system 120 may each further include a virtual memory manager 335 and a virtual memory manager 365. The virtual memory space 1300 may include a first memory space 1310 corresponding to the first memory 112 and a second memory space 1320 corresponding to the second memory 122. The virtual memory manager 335 can manage the first memory space 1310 corresponding to the first memory 112. The virtual memory manager 365 can manage the second memory space 1320 corresponding to the second memory 122.

[0224] According to one embodiment, a virtual memory manager 335 and a virtual memory manager 365 can cooperate to manage a virtual memory space 1300. For example, the virtual memory manager 335 and the virtual memory manager 365 can dynamically allocate and use a first memory space 1310 and a second memory space 1320 based on the current operation scenario of the first system and the current operation scenario of the second system. For example, if the first memory space 1310 is insufficient based on the current operation scenario of the first system and the current operation scenario of the second system, the virtual memory manager 335 may request the virtual memory manager 335 to allocate more of the first memory space 1310, and the virtual memory manager 365 may approve this, thereby securing more of the first virtual memory space 1310. For example, if the second memory space 1320 is insufficient based on the current operation scenario of the first system and the current operation scenario of the second system, the virtual memory manager 365 requests the virtual memory manager 365 to allocate more second memory space 1320, and the virtual memory manager 335 approves this, thereby securing more second virtual memory space 1310.

[0225] FIG. 14 is a reference diagram for explaining an example of using a virtual memory space including a memory space of a first system and a memory space of a second system according to one embodiment.

[0226] Referring to FIG. 14, in the default state, the virtual memory space 1300 may include a first memory space 1310 allocated from address 0 to 5000 and a second memory space 1320 allocated from address 5001 to 10000. In the default state, for example, the first memory space 1310 and the second memory space 1320 are allocated almost the same capacity, but in order to facilitate flexible securing of memory space during the operation of the electronic device 100 thereafter, the first system may start using from address 0 of the first memory space 1310 and the second system may start using from address 10000 of the second memory space 1320.

[0227] For example, if the current operation scenario of electronic device 100 is the first operation of the first system and it is determined that the first memory space currently allocated in the first system is insufficient, the virtual memory manager 335 of the first system may send a request to the virtual memory manager 365 of the second system to use additional memory from address 5001 to 6000. Upon receiving such a request, the virtual memory manager 365 may check the memory availability status of the second system and determine whether to accept such a request, and if accepted, the virtual memory manager 365 may send a response indicating approval to the virtual memory manager 335. In this way, if agreement is reached to further expand the first memory space 1310, the virtual memory manager 365 of the second system must ensure that memory space from address 5001 to 6000 is not used. If memory addresses 5001 through 6000 are not in use, the virtual memory manager 365 of the second system may set addresses 10000 through 6001 as memory space for the second system. If memory addresses 5001 through 6000 are already in use in the second system, the virtual memory manager 365 of the second system may remove applications stored in memory addresses 5001 through 6000 in order to give that portion to the first system. At this time, the second system may secure free space in the second memory space by lowering the priority of one or more applications that are not related to the first operation corresponding to the current operation scenario of the first system or by temporarily killing them, and may move and store applications stored in memory addresses 5001 through 6000 in the secured free space.

[0228] According to one embodiment, a method of operation of an electronic device comprising a first system including a first processor, a first memory, and a first communication interface; and a second system including a second processor, a second memory, and a second communication interface may include an operation of identifying an operation currently performed by the first system.

[0229] According to one embodiment, a method of operating an electronic device may include an operation of identifying one or more processes being prepared for execution in the second system based on an operation currently being performed by the first system.

[0230] According to one embodiment, a method of operating an electronic device may include an operation of securing available space in the memory of the second system for the memory space required by the first system by adjusting or killing the priority of one or more identified processes.

[0231] According to one embodiment, a method of operating an electronic device may include an operation of identifying one or more processes having a low execution priority in the second system among processes being prepared for execution in the second system, corresponding to an operation currently performed by the first system.

[0232] According to one embodiment, a method of operating an electronic device may include an operation of identifying one or more processes from a table in which one or more processes with a low execution priority in the second system are mapped, corresponding to an operation currently performed by the first system, among processes being prepared for execution in the second system.

[0233] According to one embodiment, a method of operating an electronic device may include an operation of detecting whether the available space of the first memory falls below a threshold while executing an application corresponding to the operation by the first system, and an operation of requesting memory space from the second system by the first system as the available space of the first memory falls below the threshold.

[0234] According to one embodiment, a method of operating an electronic device may include an operation of securing the available space of the second memory by adjusting or killing the priority of one or more processes being prepared for execution by the second system based on an operation currently performed by the second system as the available space of the first memory falls below the threshold.

[0235] According to one embodiment, a method of operating an electronic device may include identifying at least some data to be moved from the first memory to the second memory and stored by the first system as the available space of the first memory falls below the threshold, and moving the identified at least some data from the first memory to the second memory and storing it.

[0236] According to one embodiment, a method of operating an electronic device may include, as the available space of the first memory falls below the threshold, the first system transfers information about an operation currently being performed by the first system to the second system.

[0237] According to one embodiment, a method of operating an electronic device may include adjusting the priority by lowering the priority of one or more processes that are less associated with the operation currently performed by the second system, and securing available space in the second memory by removing one or more processes with lower priority from the second memory according to the adjusted priority.

[0238] According to one embodiment, a method of operating an electronic device may include an operation of identifying at least some data to be moved from the first memory to the second memory and stored based on at least one of whether a user designates a process corresponding to the data, the priority of the process corresponding to the data, the time at which data is stored in the first memory, and whether data can be read again after being removed from the first memory.

[0239] Some embodiments may also be implemented in the form of a recording medium containing computer-executable instructions, such as program modules executed by a computer. A computer-readable medium may be any available medium accessible by a computer and includes both volatile and non-volatile media, and both removable and non-removable media. Additionally, a computer-readable medium may include a computer storage medium. A computer storage medium includes both volatile and non-volatile, removable and non-removable media implemented by any method or technique for storing information, such as computer-readable instructions, data structures, program modules, or other data.

[0240] The disclosed embodiments may be implemented as a software program comprising instructions stored on a computer-readable storage media.

[0241] A computer is a device capable of calling instructions stored from a storage medium and performing operations according to the disclosed embodiments according to the called instructions, and may include an electronic device according to the disclosed embodiments.

[0242] Computer-readable storage media may be provided in the form of non-transitory storage media. Here, 'non-transitory' means merely that the storage medium does not contain a signal and is tangible, without distinguishing whether data is stored semi-permanently or temporarily on the storage medium.

[0243] In addition, the control method according to the disclosed embodiments may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product.

[0244] A computer program product may include a software program and a computer-readable storage medium on which the software program is stored. For example, a computer program product may include a product in the form of a software program (e.g., a downloadable app) that is electronically distributed through a device manufacturer or an electronic market (e.g., Google Play Store, App Store). For electronic distribution, at least a portion of the software program may be stored on a storage medium or temporarily created. In this case, the storage medium may be a server of the manufacturer, a server of the electronic market, or a storage medium of a relay server that temporarily stores the software program.

[0245] A computer program product may include a storage medium of a server or a storage medium of a device in a system composed of a server and a device. Alternatively, if there is a third device (e.g., a smartphone) that is connected to the server or device in communication, the computer program product may include a storage medium of the third device. Alternatively, the computer program product may include the S / W program itself that is transmitted from the server to the device or the third device, or transmitted from the third device to the device.

[0246] In this case, one of the server, the device, and the third device may execute the computer program product to perform the method according to the disclosed embodiments. Alternatively, two or more of the server, the device, and the third device may execute the computer program product to perform the method according to the disclosed embodiments in a distributed manner.

[0247] For example, a server (e.g., a cloud server or an artificial intelligence server, etc.) can execute a computer program product stored on the server to control a device connected to the server in communication to perform a method according to the disclosed embodiments.

[0248] As another example, the third device may execute a computer program product to control a device connected to the third device in communication to perform a method according to the disclosed embodiment. When the third device executes the computer program product, the third device may download the computer program product from a server and execute the downloaded computer program product. Alternatively, the third device may execute a computer program product provided in a preloaded state to perform a method according to the disclosed embodiments.

[0249] Additionally, in this specification, "part" may be a hardware component, such as a processor or circuit, and / or a software component executed by a hardware component, such as a processor.

[0250] The foregoing description of the present disclosure is for illustrative purposes only, and those skilled in the art will understand that other specific forms can be easily modified without altering the technical spirit or essential features of the present disclosure. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. For example, each component described as a single unit may be implemented in a distributed manner, and components described as distributed may likewise be implemented in a combined form.

[0251] The scope of the present disclosure is defined by the claims set forth below rather than by the detailed description above, and all modifications or variations derived from the meaning and scope of the claims and equivalent concepts thereof should be interpreted as being included within the scope of the present disclosure.

Claims

1. In electronic device 100, A first system 110 comprising a first processor 111, a first memory 112, and a first communication interface 113; and A second system 120 comprising a second processor 121, a second memory 122, and a second communication interface 123, and By executing one or more instructions stored in the first memory 112 by the first processor 111 and executing one or more instructions stored in the second memory 122 by the second processor 121, the electronic device 100, Identifying the operation currently being performed by the first system above, and Identify one or more processes being prepared for execution in the second system based on operations currently being performed by the first system, and An electronic device that secures available space in the memory of the second system for the memory space required by the first system by adjusting or killing the priority of one or more of the identified processes.

2. In Paragraph 1, By executing one or more instructions stored in the first memory 112 by the first processor 111 and executing one or more instructions stored in the second memory 122 by the second processor 121, the electronic device 100, An electronic device that identifies one or more processes with a low execution priority in the second system, corresponding to an operation currently performed by the first system, among processes being prepared for execution in the second system.

3. In Paragraph 1 or 2, By executing one or more instructions stored in the first memory 112 by the first processor 111 and executing one or more instructions stored in the second memory 122 by the second processor 121, the electronic device 100, An electronic device that identifies one or more processes from a table in which one or more processes with a lower execution priority in the second system are mapped to the processes being prepared for execution in the second system, corresponding to an operation currently performed by the first system.

4. In any one of paragraphs 1 through 3, By executing one or more instructions stored in the first memory 112 by the first processor 111 and executing one or more instructions stored in the second memory 122 by the second processor 121, the electronic device 100, Detecting whether the available space of the first memory falls below a threshold while executing an application corresponding to the operation by the first system, An electronic device that requests memory space from the second system by the first OS system as the available space of the first memory falls below the threshold.

5. In any one of paragraphs 1 through 4, By executing one or more instructions stored in the first memory 112 by the first processor 111 and executing one or more instructions stored in the second memory 122 by the second processor 121, the electronic device 100, An electronic device that secures available space in the second memory by adjusting or killing the priority of one or more processes being prepared for execution by the second system based on an operation currently performed by the first system as the available space in the first memory falls below the threshold.

6. In any one of paragraphs 1 through 5, By executing one or more instructions stored in the first memory 112 by the first processor 111 and executing one or more instructions stored in the second memory 122 by the second processor 121, the electronic device 100, As the available space of the first memory falls below the threshold, at least some data to be moved from the first memory to the second memory and stored by the first OS system is identified, and An electronic device that stores at least some of the identified data by moving it from the first memory to the second memory.

7. In any one of paragraphs 1 through 6, By executing one or more instructions stored in the first memory 112 by the first processor 111 and executing one or more instructions stored in the second memory 122 by the second processor 121, the electronic device 100, As the available space of the first memory falls below the threshold, the first system transmits information about the operation currently being performed by the first system to the second system, and An electronic device, wherein the second system identifies the operation currently performed by the electronic device based on information regarding the operation currently performed by the first system.

8. In any one of paragraphs 1 through 7, By executing one or more instructions stored in the first memory 112 by the first processor 111 and executing one or more instructions stored in the second memory 122 by the second processor 121, the electronic device 100, The priority is adjusted by lowering the priority of one or more processes that have low correlation with the operation currently being performed by the first system by the second system, and An electronic device that secures available space in the second memory by removing one or more processes with lower priority from the second memory according to the above-mentioned adjusted priority.

9. In any one of paragraphs 1 through 8, By executing one or more instructions stored in the first memory 112 by the first processor 111 and executing one or more instructions stored in the second memory 122 by the second processor 121, the electronic device 100, An electronic device for identifying data to be moved from the first memory to the second memory and stored based on at least one of whether a user designates a process corresponding to the data stored in the first memory, the priority of the process corresponding to the data stored in the first memory, the time at which the data is stored in the first memory, and whether the data can be read again after being removed from the first memory.

10. In a method of operating an electronic device 100, A first system 110 comprising a first processor 111, a first memory 112, and a first communication interface 113; and A second system 120 comprising a second processor 121, a second memory 122, and a second communication interface 123, and An operation to identify an operation currently performed by the first system, An operation to identify one or more processes being prepared for execution in the second system based on an operation currently being performed by the first system, A method comprising the operation of securing available space in the memory of the second system for the memory space required by the first system by adjusting or killing the priority of one or more of the identified processes.

11. In Paragraph 10, A method comprising the operation of identifying one or more processes with a low execution priority in the second system, corresponding to an operation currently performed by the first system, among processes being prepared for execution in the second system.

12. In Paragraph 10 or 11, A method comprising the operation of identifying one or more processes from a table in which one or more processes with a low execution priority in the second system are mapped to the processes being prepared for execution in the second system, corresponding to an operation currently performed by the first system.

13. In any one of paragraphs 10 through 12, An operation to detect whether the available space of the first memory falls below a threshold while executing an application corresponding to the operation by the first system, A method comprising the operation of requesting memory space from the second system by the first system as the available space of the first memory falls below the threshold.

14. In any one of paragraphs 10 through 13, A method comprising the operation of securing the available space of the second memory by adjusting the priority of one or more processes being prepared for execution by the second system based on an operation currently performed by the second system as the available space of the first memory falls below the threshold.

15. A non-transient computer-readable medium storing one or more instructions executed by at least one processor of an electronic device 100, wherein, by the execution of the one or more instructions by at least one processor of the electronic device, the electronic device 100, A first system 110 comprising a first processor 111, a first memory 112, and a first communication interface 113; and A second system 120 comprising a second processor 121, a second memory 122, and a second communication interface 123, and Identifying the operation currently being performed by the first system above, and Identify one or more processes being prepared for execution in the second system based on operations currently being performed by the first system, and A computer-readable medium that secures available space in the memory of the second system for the memory space required by the first system by adjusting the priority of or killing one or more of the identified processes.