KR102968552B1 - Method for rebooting and electronic device supporting same - Google Patents

Method for rebooting and electronic device supporting same

Info

Publication number
KR102968552B1
KR102968552B1 KR1020200097680A KR20200097680A KR102968552B1 KR 102968552 B1 KR102968552 B1 KR 102968552B1 KR 1020200097680 A KR1020200097680 A KR 1020200097680A KR 20200097680 A KR20200097680 A KR 20200097680A KR 102968552 B1 KR102968552 B1 KR 102968552B1
Authority
KR
South Korea
Prior art keywords
electronic device
reboot
memory
processor
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020200097680A
Other languages
Korean (ko)
Other versions
KR20220017331A (en
Inventor
연금식
최우석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200097680A priority Critical patent/KR102968552B1/en
Priority to PCT/KR2021/009118 priority patent/WO2022030798A1/en
Publication of KR20220017331A publication Critical patent/KR20220017331A/en
Application granted granted Critical
Publication of KR102968552B1 publication Critical patent/KR102968552B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44—Arrangements for executing specific programs
    • G06F9/4401—Bootstrapping
    • G06F9/4403—Processor initialisation
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24—Resetting means
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14—Error detection or correction of the data by redundancy in operations
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14—Error detection or correction of the data by redundancy in operations
    • G06F11/1402—Saving, restoring, recovering or retrying
    • G06F11/1415—Saving, restoring, recovering or retrying at system level
    • G06F11/1438—Restarting or rejuvenating
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14—Error detection or correction of the data by redundancy in operations
    • G06F11/1446—Point-in-time backing up or restoration of persistent data
    • G06F11/1458—Management of the backup or restore process
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/30—Monitoring
    • G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/30—Monitoring
    • G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44—Arrangements for executing specific programs
    • G06F9/4401—Bootstrapping
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44—Arrangements for executing specific programs
    • G06F9/4401—Bootstrapping
    • G06F9/4406—Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Telephone Function (AREA)

Abstract

전자 장치는 메모리 및 프로세서를 포함하고, 상기 프로세서는, 상기 메모리의 상태를 확인하고, 상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우, 재부팅 알람을 등록하고, 상기 재부팅 알람에 해당하는 시각이 되면, 상기 전자 장치의 사용 유무를 확인하여 상기 전자 장치가 사용 중이 아닌 경우, 재부팅을 하는 전자 장치가 개시된다. 이 외에도 본 문서를 통해 파악되는 다양한 실시예들이 가능하다.An electronic device is disclosed that includes a memory and a processor, wherein the processor checks the status of the memory and, based on the check result, registers a reboot alarm when it detects a low state of the memory, and when the time corresponding to the reboot alarm arrives, checks whether the electronic device is in use and, if the electronic device is not in use, reboots the device. In addition to this, various embodiments identified through this document are possible.

Description

재부팅을 하는 방법 및 이를 지원하는 전자 장치{Method for rebooting and electronic device supporting same}Method for rebooting and electronic device supporting the same

본 문서의 다양한 실시 예는 재부팅을 하는 방법 및 이를 지원하는 전자 장치에 관한 것이다.Various embodiments of this document relate to a method for rebooting and an electronic device that supports the same.

전자 장치(예: 스마트 폰)는 다양한 기능을 사용자에게 제공할 수 있다. 전자 장치는 다양한 기능에 따른 여러가지 동작을 수행함에 따라, 메모리 용량이 부족한 상황이 발생할 수 있고, 전자 장치의 사용성이 저하될 수 있다. 예를 들어, 전자 장치의 메모리 용량이 부족한 경우, 작업 처리 속도가 느려지는 현상이 발생할 수 있다.
본 개시의 배경이 되는 기술은 다음의 문헌에 개시되어 있다.
1) 미국 특허출원공개공보 US 2008/0294936호(2008.11.27.)
2) 공개특허공보 제10-2013-0004174호(2013.01.09.)
Electronic devices (e.g., smartphones) can provide users with various functions. As electronic devices perform various operations corresponding to these functions, situations may arise where memory capacity is insufficient, which can degrade the usability of the device. For instance, if the memory capacity of an electronic device is insufficient, the processing speed may slow down.
The technology forming the background of the present disclosure is disclosed in the following literature.
1) U.S. Patent Application Publication US 2008/0294936 (Nov. 27, 2008)
2) Published Patent Application No. 10-2013-0004174 (January 9, 2013)

기존에는 전자 장치가 재부팅을 하기 위해 사용자로부터 사용자 입력을 수신하였다. 전자 장치는 사용자 입력을 수신하는 것에 대응하여, 재부팅을 시작하였으며, 이에 따라, 전자 장치를 사용 중인 사용자는 전자 장치의 재부팅으로 인하여 전자 장치를 필요할 때 사용하지 못하는 불편함이 발생할 수 있다.Previously, electronic devices received user input to reboot. The electronic device initiated a reboot in response to receiving user input; consequently, users using the electronic device may experience inconvenience as they are unable to use the device when needed due to the reboot.

본 문서에서 개시되는 다양한 실시 예는 전자 장치가 메모리의 가용 메모리 부족 상태를 검출하는 경우, 사용자에 의해 현재 전자 장치가 사용되고 있는지를 판단하고, 사용자에 의해 사용 중이 아닌 경우, 자동으로 재부팅을 함으로써, 사용자에게 발생할 수 있는 불편함을 해소할 수 있다.Various embodiments disclosed in this document can resolve inconvenience that may occur to the user by determining whether the electronic device is currently being used by the user when the electronic device detects a state of insufficient available memory, and automatically rebooting the device if it is not being used by the user.

본 발명의 다양한 실시예에 따른 전자 장치는 메모리 및 프로세서를 포함하고, 상기 프로세서는, 상기 메모리의 상태를 확인하고, 상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우, 재부팅 알람을 등록하고, 상기 재부팅 알람에 해당하는 시각이 되면, 상기 전자 장치의 사용 유무를 확인하여 상기 전자 장치가 사용 중이 아닌 경우, 재부팅을 할 수 있다.An electronic device according to various embodiments of the present invention includes a memory and a processor, and the processor checks the state of the memory and, based on the check result, registers a reboot alarm when it detects a state of insufficient memory, and when the time corresponding to the reboot alarm arrives, checks whether the electronic device is in use and, if the electronic device is not in use, can reboot it.

본 발명의 다양한 실시예에 따른 전자 장치는 디스플레이, 메모리 및 프로세서를 포함하고, 상기 프로세서는, 상기 메모리의 상태를 확인하고, 상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우, 상기 디스플레이를 통해 상기 전자 장치의 재부팅 시점을 선택하도록 요청하는 메시지를 출력할 수 있다.An electronic device according to various embodiments of the present invention includes a display, a memory, and a processor, and the processor checks the state of the memory and, if it detects a low state of the memory based on the check result, outputs a message requesting the selection of a reboot time of the electronic device through the display.

본 발명의 다양한 실시예에 따른 전자 장치의 동작 방법에 있어서, 메모리의 상태를 확인하는 동작, 상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우, 재부팅 알람을 등록하는 동작, 상기 재부팅 알람에 해당하는 시각이 되면, 상기 전자 장치의 사용 유무를 확인하는 동작 및 상기 전자 장치가 사용 중이 아닌 경우, 재부팅을 하는 동작을 포함할 수 있다.A method of operating an electronic device according to various embodiments of the present invention may include an operation of checking the state of a memory, an operation of registering a reboot alarm when a state of insufficient memory is detected based on the result of the check, an operation of checking whether the electronic device is in use when a time corresponding to the reboot alarm arrives, and an operation of rebooting the electronic device when it is not in use.

본 문서에 개시되는 다양한 실시 예에 따르면, 재부팅(rebooting)을 하는 방법 및 이를 지원하는 전자 장치는, 가용 메모리의 부족 상태가 검출되는 경우, 사용자에 의해 전자 장치가 현재 사용되고 있는지를 판단하고, 사용 중이 아니면 자동으로 재부팅을 실행함으로써, 사용자에게 발생할 수 있는 불편함을 해소할 수 있다. 다양한 실시 예에 따르면, 전자 장치는 재부팅 전에 무음 모드로 전환되어, 재부팅 시 무음 모드로 재부팅 되기 때문에, 알림 음 및 진동에 의해 사용자에게 발생할 수 있는 불편함을 해소할 수 있다. 다양한 실시 예에 따르면, 전자 장치는 재부팅 전에 설정 정보를 저장하고, 재부팅이 완료된 후 일정 시간이 경과되면, 저장된 설정 정보를 기반으로 전자 장치의 설정을 재부팅 전 설정으로 복원할 수 있다. 따라서, 사용자는 전자 장치의 설정을 재설정해야 되는 불편함을 해소할 수 있다.According to various embodiments disclosed in this document, a method for rebooting and an electronic device supporting the same can resolve inconvenience that may occur to the user by determining whether the electronic device is currently being used by the user when a state of insufficient available memory is detected, and by automatically executing a reboot if it is not in use. According to various embodiments, the electronic device switches to a silent mode before rebooting, and since it reboots in silent mode upon rebooting, it can resolve inconvenience that may occur to the user due to notification sounds and vibrations. According to various embodiments, the electronic device saves setting information before rebooting, and after a certain period of time has elapsed after the reboot is completed, the settings of the electronic device can be restored to the settings prior to the reboot based on the saved setting information. Therefore, the user can resolve the inconvenience of having to reset the settings of the electronic device.

이 외에도 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과가 제공될 수 있다.In addition to this, various effects that can be identified directly or indirectly through this document may be provided.

도 1은 본 발명의 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 본 발명의 일 실시예에 따른, 전자 장치의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 재부팅을 하기 위한 구성들의 블록도이다.
도 4는 본 발명의 일 실시 예에 따른, 재부팅을 하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시 예에 따른, 재부팅을 하기 위해 수행하는 동작을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시 예에 따른, 재부팅을 하기 위해 수행하는 다른 동작을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시 예에 따른, 재부팅을 하는 다른 방법을 설명하기 위한 흐름도이다.
FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present invention.
FIG. 2 is a block diagram of an electronic device according to one embodiment of the present invention.
FIG. 3 is a block diagram of configurations for rebooting according to an embodiment of the present invention.
FIG. 4 is a flowchart illustrating a method for rebooting according to an embodiment of the present invention.
FIG. 5 is a flowchart illustrating operations performed to reboot according to an embodiment of the present invention.
FIG. 6 is a flowchart illustrating other operations performed to reboot according to one embodiment of the present invention.
FIG. 7 is a flowchart illustrating another method of rebooting according to one embodiment of the present invention.

상술한 도면의 설명과 관련하여, 동일 또는 대응되는 구성 요소에 대해서는 동일한 참조 번호가 부여될 수 있다.In relation to the description of the drawings above, the same reference number may be assigned to identical or corresponding components.

이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들이 설명된다. 설명의 편의를 위하여 도면에 도시된 구성요소들은 그 크기가 과장 또는 축소될 수 있으며, 도시된 바에 의해 한정되는 것은 아니다.Hereinafter, various embodiments of the present invention are described with reference to the attached drawings. For convenience of explanation, the size of the components illustrated in the drawings may be exaggerated or reduced, and are not limited to what is illustrated.

도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with an electronic device (102) through a first network (198) (e.g., a short-range wireless communication network) or with an electronic device (104) or a server (108) through a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) through a server (108). According to one embodiment, the electronic device (101) may include a processor (120), memory (130), input module (150), sound output module (155), display module (160), audio module (170), sensor module (176), interface (177), connection terminal (178), haptic module (179), camera module (180), power management module (188), battery (189), communication module (190), subscriber identification module (196), or antenna module (197). In some embodiments, at least one of these components (e.g., connection terminal (178)) may be omitted from the electronic device (101), or one or more other components may be added. In some embodiments, some of these components (e.g., sensor module (176), camera module (180), or antenna module (197)) may be integrated into a single component (e.g., display module (160)).

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor (120) can control at least one other component (e.g., hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., program (140)), for example, and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (120) can store commands or data received from other components (e.g., sensor module (176) or communication module (190)) in volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., central processing unit or application processor) or an auxiliary processor (123) that can operate independently or together with it (e.g., graphics processing unit, neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor). For example, if the electronic device (101) includes a main processor (121) and an auxiliary processor (123), the auxiliary processor (123) may be configured to use lower power than the main processor (121) or to be specialized for a designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.The auxiliary processor (123) may control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display module (160), sensor module (176), or communication module (190)) on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (123) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (180) or communication module (190)). According to one embodiment, the auxiliary processor (123) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, on the electronic device (101) itself where the artificial intelligence is performed, or through a separate server (e.g., server (108)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers. The artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-networks, or a combination of two or more of the above, but is not limited to the examples described above. In addition to the hardware structure, the artificial intelligence model may include a software structure, either additionally or substantially.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory (130) can store various data used by at least one component of the electronic device (101) (e.g., processor (120) or sensor module (176)). The data may include, for example, input data or output data for software (e.g., program (140)) and related commands. The memory (130) may include volatile memory (132) or non-volatile memory (134).

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input module (150) can receive commands or data to be used for a component of the electronic device (101) (e.g., processor (120)) from outside the electronic device (101) (e.g., user). The input module (150) may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output module (155) can output a sound signal to the outside of the electronic device (101). The sound output module (155) may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as multimedia playback or recording playback. The receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The display module (160) can visually provide information to an external (e.g., user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by said touch.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module (170) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150) or output sound through the sound output module (155) or an external device (e.g., electronic device (102)) (e.g., speaker or headphones) that is directly or wirelessly connected to the electronic device (101).

센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module (176) can detect the operating state of the electronic device (101) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

인터페이스(177)는 전자 장치(101)가 외부 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external device (e.g., electronic device (102)). According to one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.

카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module (180) can capture still images and video. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module (188) can manage the power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).

배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery (189) can supply power to at least one component of the electronic device (101). According to one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

통신 모듈(190)은 전자 장치(101)와 외부 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다. The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (101) and an external device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (104) through a first network (198) (e.g., a short-range communication network such as Bluetooth, WiFi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (199) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).

무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module (192) can support 5G networks and next-generation communication technologies following 4G networks, for example, new radio access technology. NR access technology can support high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and connection of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communications (URLLC)). The wireless communication module (192) can support a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate, for example. The wireless communication module (192) can support various technologies for securing performance in the high-frequency band, such as beamforming, massive MIMO (multiple-input and multiple-output), full-dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large-scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), external device (e.g., electronic device (104)), or network system (e.g., second network (199)). According to one embodiment, the wireless communication module (192) can support a Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mMTC, or U-plane latency (e.g., downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) for realizing URLLC.

안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다. An antenna module (197) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as a first network (198) or a second network (199), may be selected from the plurality of antennas, for example, by a communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (197).

다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., mmWave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving a signal of the specified high frequency band.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.

일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다. According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) through a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or different type of device as the electronic device (101). According to one embodiment, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server using machine learning and/or neural networks. According to one embodiment, the external electronic device (104) or the server (108) may be included within a second network (199). The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

도 2는 본 발명의 일 실시예에 따른, 전자 장치의 블록도이다.FIG. 2 is a block diagram of an electronic device according to one embodiment of the present invention.

도 2를 참조하면, 전자 장치(200)(예: 도 1의 전자 장치(101))는 메모리(203)(예: 도 1의 메모리(130))에 프로세스(process)가 누적되어 가용 메모리가 부족해진 상태(가용 메모리 부족 상태)를 감지할 수 있다. 상기 가용 메모리 부족 상태를 감지한 상기 전자 장치(200)는 현재 사용자에 의해 사용되고 있는지 유무를 판단할 수 있다. 상기 전자 장치(200)는 사용자에 의해 현재 사용되고 있지 않은 경우, 상기 가용 메모리 부족 상태를 해결하기 위해 자동으로 재부팅을 할 수 있다. 예를 들어, 상기 전자 장치(200)가 가용 메모리 부족 상태를 감지하는 경우, 작업 처리 속도가 느려질 수 있다.Referring to FIG. 2, an electronic device (200) (e.g., the electronic device (101) of FIG. 1) can detect a state in which available memory is insufficient due to the accumulation of processes in memory (203) (e.g., the memory (130) of FIG. 1). Upon detecting the insufficient available memory state, the electronic device (200) can determine whether it is currently being used by a user. If the electronic device (200) is not currently being used by a user, it can automatically reboot to resolve the insufficient available memory state. For example, if the electronic device (200) detects the insufficient available memory state, the processing speed may be slowed down.

일 실시예에 따르면, 상기 전자 장치(200)는 디스플레이(201)(예: 도 1의 디스플레이 모듈(160)), 메모리(203)(예: 도 1의 메모리(130)) 및 프로세서(205)(예: 도 1의 프로세서(120))를 포함할 수 있다. 그러나, 상기 전자 장치(200)의 구성이 이에 한정되는 것은 아니다.According to one embodiment, the electronic device (200) may include a display (201) (e.g., the display module (160) of FIG. 1), a memory (203) (e.g., the memory (130) of FIG. 1), and a processor (205) (e.g., the processor (120) of FIG. 1). However, the configuration of the electronic device (200) is not limited thereto.

다양한 실시예에 따르면, 상기 전자 장치(200)는 상술한 구성 요소들 중 적어도 하나를 생략할 수 있으며, 적어도 하나의 다른 구성 요소를 포함할 수 있다. 예를 들어, 상기 전자 장치(200)는 통신 모듈(예: 도 1의 통신 모듈(190))을 포함할 수 있다. 상기 전자 장치(200)는 상기 통신 모듈을 통해 다른 전자 장치(예: 도 1의 전자 장치(102 또는 104))와 데이터를 송수신할 수 있다.According to various embodiments, the electronic device (200) may omit at least one of the components described above and may include at least one other component. For example, the electronic device (200) may include a communication module (e.g., the communication module (190) of FIG. 1). The electronic device (200) may transmit and receive data with another electronic device (e.g., the electronic device (102 or 104) of FIG. 1) through the communication module.

일 실시예에 따르면, 상기 프로세서(205)는 상기 메모리(203)에 가용 메모리가 부족해진 상태를 검출할 수 있다. 상기 프로세서(205)는 메모리의 가용 메모리 부족 상태를 검출하고 , 사용자에 의해 현재 상기 전자 장치(200)가 사용되고 있는지를 판단할 수 있다. 예를 들어, 상기 프로세서(205)는 상기 전자 장치(200)의 디스플레이(201), 스피커(미도시)(예: 도 1의 음향 출력 모듈(155)), 마이크(미도시)(예: 도 1의 입력 모듈(150)), 센서(미도시)(예: 도 1의 센서 모듈(176), 카메라(미도시)(예: 도 1의 카메라 모듈(180)) 및 통신 모듈(미도시)(예: 도 1의 통신 모듈(190)) 중 적어도 하나가 동작 중인 경우, 사용자에 의해 현재 상기 전자 장치(200)가 사용되고 있는 것으로 판단할 수 있다.According to one embodiment, the processor (205) can detect a state in which available memory in the memory (203) is insufficient. The processor (205) can detect a state in which available memory is insufficient and determine whether the electronic device (200) is currently being used by a user. For example, the processor (205) can determine that the electronic device (200) is currently being used by a user if at least one of the display (201), speaker (not shown) (e.g., sound output module (155) of FIG. 1), microphone (not shown) (e.g., input module (150) of FIG. 1), sensor (not shown) (e.g., sensor module (176) of FIG. 1), camera (not shown) (e.g., camera module (180) of FIG. 1) and communication module (not shown) (e.g., communication module (190) of FIG. 1) of the electronic device (200) is operating.

일 실시예에 따르면, 상기 프로세서(205)는, 사용자에 의해 상기 전자 장치(200)가 사용 중이 아닌 것으로 판단한 경우, 설정 정보를 저장할 수 있다. 상기 설정 정보는 재부팅 하기 전, 상기 전자 장치에 설정된 볼륨 레벨(예: 벨소리 볼륨, 미디어 볼륨, 통화 볼륨, 및/또는 알람 볼륨) 및 데이터 연결 상태와 관련된 정보(예: 모바일 데이터 사용여부)를 포함할 수 있다.According to one embodiment, the processor (205) may store setting information when it is determined by a user that the electronic device (200) is not in use. The setting information may include volume levels (e.g., ringtone volume, media volume, call volume, and/or alarm volume) and information related to data connection status (e.g., whether mobile data is in use) set on the electronic device before rebooting.

기존에는 상기 전자 장치(200)를 완전하게 재부팅하는 풀 리셋(full reset)이 완료되면, 상기 전자 장치(200)에 포함된 프로세서(205)는 재부팅이 완료되었다는 신호(예: 부트 컴플리트(boot-complete))를 수신할 수 있다. 그러나, 상기 프로세서(205)는 재부팅이 완료되었다는 신호(예: 부트 컴플리트(boot-complete))를 수신하는 경우, 메모리(203)를 잠금 모드(lock mode)로 설정하는 FBE(file-based encryption) 동작을 시작하였다. 이에 따라, 상기 프로세서(205)는 다운로드 컨텐츠(예: 음원)가 알람 소리로 설정되어 있는 경우, 재부팅 후 상기 메모리에 접근할 수 없어, 알람 소리가 출력되지 않거나, 기본 알람 소리가 출력될 수 있다. 따라서, 상기 프로세서(205)는 상기 전자 장치(200)를 재부팅한 후, 사용자에게 재부팅 전과 동일하게 설정된 상기 전자 장치(200)를 제공하기 위해 상기 설정 정보를 저장할 수 있다.Previously, when a full reset that completely reboots the electronic device (200) is completed, the processor (205) included in the electronic device (200) can receive a signal that the reboot is complete (e.g., boot-complete). However, when the processor (205) receives a signal that the reboot is complete (e.g., boot-complete), it initiates a file-based encryption (FBE) operation that sets the memory (203) to lock mode. Accordingly, if the downloaded content (e.g., audio source) is set as an alarm sound, the processor (205) cannot access the memory after the reboot, so the alarm sound may not be output, or the default alarm sound may be output. Therefore, after rebooting the electronic device (200), the processor (205) can store the setting information to provide the user with the electronic device (200) configured the same as before the reboot.

일 실시예에 따르면, 상기 프로세서(205)는 상기 설정 정보를 저장하고, 상기 전자 장치(200)의 진동 기능, 오디오 기능 및 데이터 연결 기능을 오프(off) 상태로 전환 또는 설정할 수 있다. 상기 프로세서(205)는 상기 기능 뿐만 아니라, 상기 전자 장치(200)가 재부팅 됨에 따라 사용자에게 불편함을 초래할 수 있는 기능들을 재부팅 하기 전에 오프(off) 상태로 전환 또는 설정할 수 있다.According to one embodiment, the processor (205) can store the setting information and switch or set the vibration function, audio function, and data connection function of the electronic device (200) to an off state. The processor (205) can switch or set to an off state not only of the above functions but also of functions that may cause inconvenience to the user as the electronic device (200) is rebooted, before rebooting.

일 실시예에 따르면, 상기 프로세서(205)는 재부팅 값(예: 리셋 리즌(reset reason))을 지정된 값으로 설정할 수 있다. 상기 재부팅 값은 상기 전자 장치(200)를 어떤 방식으로 재부팅할 지 결정하기 위한 코드 값일 수 있다. 또한, 상기 프로세서(205)는 보호 영역(예: EFS 영역(encrypting file system zone))에 지정된 파일을 생성할 수 있다. 상기 보호 영역은 상기 전자 장치(200)를 해킹하는 공격자로부터 파일들을 암호화해 보호하는 영역일 수 있다. 상기 보호 영역에 생성되는 지정된 파일과 관련된 설명은 아래에서 자세하게 설명하도록 한다.According to one embodiment, the processor (205) may set a reboot value (e.g., reset reason) to a specified value. The reboot value may be a code value for determining how to reboot the electronic device (200). Additionally, the processor (205) may create a specified file in a protected area (e.g., an EFS area (encrypting file system zone)). The protected area may be an area that encrypts and protects files from an attacker hacking the electronic device (200). A detailed description regarding the specified file created in the protected area will be provided below.

일 실시예에 따르면, 상기 프로세서(205)는 상기 재부팅 값을 식별할 수 있다. 상기 프로세서(205)는 상기 재부팅 값이 상기 지정된 값인 경우, 상기 전자 장치(200)를 플랫폼 리셋(platform reset)할 수 있다. 상기 플랫폼 리셋은 상기 전자 장치(200)의 커널(kernel) 구성을 제외한 나머지 구성들(예: 어플리케이션 및 어플리케이션 프레임워크)을 재부팅 하는 방식일 수 있다.According to one embodiment, the processor (205) can identify the reboot value. If the reboot value is the specified value, the processor (205) can platform reset the electronic device (200). The platform reset may be a method of rebooting the remaining configurations (e.g., applications and application frameworks) of the electronic device (200), excluding the kernel configuration.

일 실시예에 따르면, 상기 프로세서(205)는 상기 플랫폼 리셋이 완료되면, 상기 보호 영역에 상기 지정된 파일이 존재하는지를 검출할 수 있다. 상기 프로세서(205)는 상기 보호 영역에 상기 지정된 파일이 존재하는 경우, 재부팅(플랫폼 리셋)이 완료되었다는 신호(예: 부트 컴플리트(boot-complete))를 수신하기 전에, 상기 메모리(203)를 잠금 모드로 설정하는 FBE 동작을 스킵(skip)할 수 있다. 이에 따라, 상기 프로세서(205)는 상기 메모리(203)에 접근할 수 있어, 재부팅 전에 저장한 설정 정보를 기반으로, 재부팅 후에 상기 전자 장치(200)의 설정을 복원할 수 있다.According to one embodiment, the processor (205) can detect whether the specified file exists in the protection area when the platform reset is completed. If the specified file exists in the protection area, the processor (205) can skip the FBE operation of setting the memory (203) to lock mode before receiving a signal that the reboot (platform reset) is completed (e.g., boot-complete). Accordingly, the processor (205) can access the memory (203) and restore the settings of the electronic device (200) after the reboot based on the settings information saved before the reboot.

일 실시예에 따르면, 상기 프로세서(205)는 지정된 시간이 경과된 후에 상기 설정 정보를 기반으로, 상기 전자 장치(200)의 설정을 복원할 수 있다. 상기 지정된 시간은 상기 전자 장치(200)가 재부팅되어, 발생할 수 있는 진동, 시스템 음, 알림 음이 모두 출력되고 난 이후의 시간으로 결정될 수 있다.According to one embodiment, the processor (205) can restore the settings of the electronic device (200) based on the setting information after a specified time has elapsed. The specified time may be determined as the time after the electronic device (200) is rebooted and all possible vibrations, system sounds, and notification sounds are output.

다른 실시예에 따르면, 상기 프로세서(205)는 상기 메모리(203)에 프로세스(process)가 누적되어, 가용 메모리가 부족해진 상태를 확인할 수 있다. 상기 프로세서(205)는 상기 확인 결과를 기반으로, 상기 메모리(203)의 가용량이 부족해진 상태를 감지하는 경우, 상기 디스플레이(201)를 통해 상기 전자 장치(200)의 재부팅 시점을 선택하도록 요청하는 메시지를 출력할 수 있다. According to another embodiment, the processor (205) can check that the available memory has become insufficient as processes accumulate in the memory (203). Based on the result of the check, if the processor (205) detects that the available memory (203) has become insufficient, it can output a message requesting the selection of a reboot time for the electronic device (200) through the display (201).

일 실시예에 따르면, 상기 프로세서(205)는 상기 메시지에 대한 사용자 입력을 기반으로, 재부팅 시점을 제어할 수 있다. 예를 들어, 상기 프로세서(205)는 상기 메시지에 대한 사용자 입력으로 “지금 시작”을 수신한 경우, 상기 전자 장치(200)의 재부팅을 바로 시작할 수 있다. 다른 예를 들어, 상기 프로세서(205)는 상기 메시지에 대한 사용자 입력으로 “나중에 시작”을 수신한 경우, 상기 메시지의 일부 영역에 재부팅을 시작할 시각을 예약할 수 있도록 하는 타이머(timer)를 출력할 수 있다. 상기 프로세서(205)는 상기 타이머를 통해 사용자로부터 재부팅 시작 시각 정보(예: 명일 04시 25분)를 수신할 수 있다. 상기 프로세서(205)는 상기 재부팅 시작 시각에 해당하는 시각이 되면, 상기 전자 장치(200)의 재부팅을 자동으로 시작할 수 있다.According to one embodiment, the processor (205) can control the timing of the reboot based on user input to the message. For example, if the processor (205) receives “Start now” as user input to the message, it can immediately start rebooting the electronic device (200). As another example, if the processor (205) receives “Start later” as user input to the message, it can output a timer in a part of the message to schedule the time to start the reboot. The processor (205) can receive reboot start time information (e.g., 04:25 tomorrow) from the user through the timer. When the time corresponding to the reboot start time arrives, the processor (205) can automatically start rebooting the electronic device (200).

일 실시예에 따르면, 상기 프로세서(205)는 상기 재부팅 시작 시각에 해당하는 시각이 되면, 설정 정보를 저장하고, 사용자에게 불편함을 제공할 수 있는 기능들을 오프 상태로 전환 또는 설정하여, 상기 전자 장치(200)를 재부팅 할 수 있다. 상기 프로세서(205)는 재부팅이 완료되면, 상기 설정 정보를 기반으로, 상기 전자 장치(200)의 설정을 재부팅 전의 설정으로 복원할 수 있다.According to one embodiment, when the time corresponding to the reboot start time arrives, the processor (205) can reboot the electronic device (200) by saving setting information and switching or setting functions that may cause inconvenience to the user to an off state. When the reboot is completed, the processor (205) can restore the settings of the electronic device (200) to the settings prior to the reboot based on the setting information.

다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 메모리(예: 도 1의 메모리(130) 또는 도 2의 메모리(205)) 및 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(203))를 포함하고, 상기 프로세서는, 상기 메모리의 상태를 확인하고, 상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우, 재부팅 알람을 등록하고, 상기 재부팅 알람에 해당하는 시각이 되면, 상기 전자 장치의 사용 유무를 확인하여 상기 전자 장치가 사용 중이 아닌 경우, 재부팅을 할 수 있다.According to various embodiments, an electronic device (e.g., the electronic device (101) of FIG. 1 or the electronic device (200) of FIG. 2) includes a memory (e.g., the memory (130) of FIG. 1 or the memory (205) of FIG. 2)) and a processor (e.g., the processor (120) of FIG. 1 or the processor (203) of FIG. 2), and the processor checks the state of the memory and, based on the result of the check, if it detects a state of insufficient memory, registers a reboot alarm, and when the time corresponding to the reboot alarm arrives, checks whether the electronic device is in use and, if the electronic device is not in use, can reboot it.

다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치를 재부팅 하기 전, 상기 전자 장치의 설정 정보를 저장할 수 있다.According to various embodiments, the processor may store configuration information of the electronic device before rebooting the electronic device.

다양한 실시예에 따르면, 상기 프로세서는, 상기 재부팅이 완료된 후, 지정된 시간이 경과되면 상기 저장된 설정 정보를 기반으로, 상기 전자 장치의 설정을 복원할 수 있다.According to various embodiments, the processor can restore the settings of the electronic device based on the stored setting information after a specified time has elapsed following the completion of the reboot.

다양한 실시예에 따르면, 상기 설정 정보는, 상기 전자 장치가 자동으로 재부팅 되기 이전의 볼륨 정보 및 데이터 연결 상태 정보를 포함할 수 있다.According to various embodiments, the setting information may include volume information and data connection status information prior to the electronic device automatically rebooting.

다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치를 재부팅 하기 전, 상기 전자 장치의 데이터 연결 팝 업의 출력을 오프(off) 상태로 전환하고, 상기 지정된 시간이 경과되면, 상기 데이터 연결 팝 업의 출력을 재부팅 이전의 상태로 전환할 수 있다.According to various embodiments, the processor may switch the output of the data connection pop-up of the electronic device to an off state before rebooting the electronic device, and switch the output of the data connection pop-up to a state prior to rebooting after the specified time has elapsed.

다양한 실시예에 따르면, 상기 지정된 시간은, 상기 전자 장치가 재부팅 되어 발생하는 알림 음이 모두 발생하고 난 이후의 시간으로 지정될 수 있다.According to various embodiments, the specified time may be set as the time after all notification sounds generated when the electronic device is rebooted have occurred.

다양한 실시예에 따르면, 상기 프로세서는, 상기 전자 장치를 재부팅 하기 전, 무음 모드(silent mode)로 전환할 수 있다.According to various embodiments, the processor may switch to silent mode before rebooting the electronic device.

다양한 실시예에 따르면, 상기 전자 장치는, 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 2의 디스플레이(201))를 더 포함하고, 상기 프로세서는, 상기 디스플레이를 오프(off) 상태로 설정하여 자동으로 재부팅을 할 수 있다.According to various embodiments, the electronic device further includes a display (e.g., the display module (160) of FIG. 1 or the display (201) of FIG. 2), and the processor can automatically reboot by setting the display to an off state.

다양한 실시예에 따르면, 상기 프로세서는, FBE(file-based encryption) 동작을 스킵(skip)하여, 상기 재부팅을 실행할 수 있다.According to various embodiments, the processor may execute the reboot by skipping the file-based encryption (FBE) operation.

다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))는 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 2의 디스플레이(201)), 메모리(예: 도 1의 메모리(130) 또는 도 2의 메모리(205)) 및 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(203))를 포함하고, 상기 프로세서는, 상기 메모리의 상태를 확인하고, 상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우, 상기 디스플레이를 통해 상기 전자 장치의 재부팅 시점을 선택하도록 요청하는 메시지를 출력할 수 있다.According to various embodiments, an electronic device (e.g., the electronic device (101) of FIG. 1 or the electronic device (200) of FIG. 2) includes a display (e.g., the display module (160) of FIG. 1 or the display (201) of FIG. 2), a memory (e.g., the memory (130) of FIG. 1 or the memory (205) of FIG. 2), and a processor (e.g., the processor (120) of FIG. 1 or the processor (203) of FIG. 2), and the processor checks the state of the memory, and if it detects a low state of the memory based on the check result, it may output a message requesting the electronic device to select a reboot time through the display.

다양한 실시예에 따르면, 상기 프로세서는, 상기 디스플레이를 통해 출력하는 상기 메시지에 대한 응답이 일정 시간 없는 경우, 상기 재부팅을 시작할 수 있다.According to various embodiments, the processor may initiate the reboot if there is no response to the message output through the display for a certain period of time.

도 3은 본 발명의 일 실시예에 따른, 재부팅을 하기 위한 구성들의 블록도이다.FIG. 3 is a block diagram of configurations for rebooting according to an embodiment of the present invention.

도 3을 참조하면, 메모리(예: 도 1의 메모리(130) 또는 도 2의 메모리(203))는 재부팅을 하기 위한 구성들을 포함할 수 있다. Referring to FIG. 3, the memory (e.g., memory (130) of FIG. 1 or memory (203) of FIG. 2) may include configurations for rebooting.

일 실시예에 따르면, 상기 메모리는 어플리케이션(application)(310), 어플리케이션 프레임워크(application framework)(330) 및 커널(kernel)(350)을 포함할 수 있다. According to one embodiment, the memory may include an application (310), an application framework (330), and a kernel (350).

일 실시예에 따르면, 상기 어플리케이션(310)은 디바이스 케어 (device care)(311) 및 알람 매니저(alarm manager)(313)를 포함할 수 있다. According to one embodiment, the application (310) may include device care (311) and alarm manager (313).

일 실시예에 따르면, 상기 어플리케이션 프레임워크(330)는 파워 매니저(power manager)(331), 스토리지 매니저(storage manager)(333), 오디오 매니저(audio manager)(335), 로고 애니메이션 매니저(logo animation manager)(337) 및 텔레포니 매니저(telephony manager)(339)을 포함할 수 있다. According to one embodiment, the application framework (330) may include a power manager (331), a storage manager (333), an audio manager (335), a logo animation manager (337), and a telephony manager (339).

일 실시예에 따르면, 상기 커널(350)은 오디오 드라이버(audio driver)(351)를 포함할 수 있다.According to one embodiment, the kernel (350) may include an audio driver (351).

일 실시예에 따르면, 상기 디바이스 케어(311)는 상기 메모리에 프로세스(process)가 누적되어, 메모리의 가용 량이 부족해진 상태를 감지할 수 있다. 상기 디바이스 케어(311)는 상기 가용 메모리의 부족 상태를 감지하는 경우, 상기 오디오 매니저(335) 및 텔레포니 매니저(339)에 설정되어 있는 설정 정보(예: 볼륨 레벨과 관련된 정보 및 데이터 연결 상태와 관련된 정보)를 확인하고, 확인한 설정 정보를 저장할 수 있다. 예를 들어, 상기 볼륨 레벨과 관련된 정보는 벨소리 볼륨, 미디어 볼륨, 통화 볼륨 및 알람 볼륨 중 적어도 하나를 포함할 수 있다. 또한, 볼륨 뿐만 아니라, 상기 전자 장치의 소리 모드(예: 소리, 진동, 묵음)과 관련된 정보를 포함할 수 있다.According to one embodiment, the device care (311) can detect a state in which the available amount of memory becomes insufficient as processes accumulate in the memory. When the device care (311) detects a state insufficient for available memory, it can check setting information (e.g., information related to volume levels and information related to data connection status) set in the audio manager (335) and telephony manager (339), and store the checked setting information. For example, the information related to volume levels may include at least one of ringtone volume, media volume, call volume, and alarm volume. In addition, it may include information related to sound modes of the electronic device (e.g., sound, vibration, silence) as well as volume.

일 실시예에 따르면, 상기 디바이스 케어(311)는 상기 로고 애니메이션 매니저(337)에 전자 장치(예: 도 2의 전자 장치(200))의 재부팅 을 알리는 시작 음이 출력되지 않도록 요청할 수 있다. 또한, 상기 디바이스 케어(311)는 상기 오디오 매니저(335)에 상기 전자 장치의 시스템 음, 진동 및 알림 음이 출력되지 않도록 요청할 수 있다. 또한, 상기 디바이스 케어(311)는 상기 텔레포니 매니저(339)에 상기 전자 장치의 데이터 연결 팝업(pop-up)이 출력되지 않도록 요청할 수 있다. According to one embodiment, the device care (311) may request the logo animation manager (337) not to output a start sound indicating a reboot of the electronic device (e.g., the electronic device (200) of FIG. 2). Additionally, the device care (311) may request the audio manager (335) not to output system sounds, vibrations, and notification sounds of the electronic device. Additionally, the device care (311) may request the telephony manager (339) not to output a data connection pop-up of the electronic device.

일 실시예에 따르면, 상기 설정 정보는 볼륨 정보 및 데이터 연결 상태 정보를 포함할 수 있다. 상기 볼륨 정보는 상기 전자 장치를 재부팅 하기 전에 상기 전자 장치에 설정된 볼륨 레벨과 관련된 정보일 수 있다. 상기 데이터 연결 상태 정보는 상기 전자 장치를 재부팅 하기 전에 상기 전자 장치에 설정된 상기 전자 장치와 무선 인터넷의 연결 유무와 관련된 정보일 수 있다.According to one embodiment, the setting information may include volume information and data connection status information. The volume information may be information related to the volume level set on the electronic device before rebooting the electronic device. The data connection status information may be information related to whether the electronic device is connected to the wireless internet before rebooting the electronic device.

일 실시예에 따르면, 상기 디바이스 케어(311)는 상기 가용 메모리 부족 상태를 감지하는 경우, 재부팅 값(예: 리셋 리즌(reset reason))을 지정된 값으로 설정 및 보호 영역(예: EFS(encrypting file system zone))에 지정된 파일을 생성할 수 있다. 상기 재부팅 값은 상기 전자 장치의 재부팅을 어떤 방식으로 시작할지 결정하기 위한 코드 값일 수 있다. 상기 전자 장치의 재부팅 방식은 상기 전자 장치를 완전하게 재부팅하는 풀 리셋(full reset) 또는 상기 커널(350)을 제외한 나머지(예: 어플리케이션(310) 및 어플리케이션 프레임워크(330))를 재부팅하는 플랫폼 리셋(platform reset)으로 구분할 수 있다.According to one embodiment, if the device care (311) detects the available memory shortage, it may set a reboot value (e.g., reset reason) to a specified value and create a specified file in a protected area (e.g., EFS (encrypting file system zone)). The reboot value may be a code value for determining how to initiate a reboot of the electronic device. The reboot method of the electronic device may be classified into a full reset, which completely reboots the electronic device, or a platform reset, which reboots the rest (e.g., applications (310) and application frameworks (330)) excluding the kernel (350).

일 실시예에 따르면, 상기 파워 매니저(331)는 상기 재부팅 값이 지정된 값인 것으로 식별되면, 상기 플랫폼 리셋을 할 수 있다. 상기 지정된 값은 상기 전자 장치를 플랫폼 리셋 하기 위한 데이터 값일 수 있다. 반면에, 상기 파워 매니저(331)는 상기 재부팅 값이 지정된 값이 아닌 경우, 풀 리셋을 할 수 있다. According to one embodiment, the power manager (331) may perform a platform reset if it is identified that the reboot value is a specified value. The specified value may be a data value for resetting the electronic device platform. On the other hand, the power manager (331) may perform a full reset if the reboot value is not a specified value.

기존에는 전자 장치가 풀 리셋되면, 상기 메모리를 잠금 모드(lock mode)로 설정하는 FBE 동작이 시작되어, 상기 잠금 모드로 설정된 메모리에 저장되어 있는 설정 정보에 접근할 수 없다. 이에 따라, 재부팅 후의 상기 전자 장치의 설정을 복원하지 못할 수 있다. 따라서, 본 발명의 파워 매니저(331)는 상기 재부팅 값이 지정된 값으로 식별되면, 상기 전자 장치를 풀 리셋이 아닌 플랫폼 리셋할 수 있다.In the past, when an electronic device was fully reset, an FBE operation was initiated to set the memory to lock mode, making it impossible to access the configuration information stored in the memory set to lock mode. Consequently, the configuration of the electronic device after rebooting may not be restored. Therefore, the power manager (331) of the present invention can perform a platform reset of the electronic device instead of a full reset when the reboot value is identified as a specified value.

일 실시예에 따르면, 상기 파워 매니저(331)가 상기 플랫폼 리셋을 완료하는 경우, 상기 스토리지 매니저(333)는 상기 보호 영역에 상기 지정된 파일이 존재하는지를 확인할 수 있다. 상기 지정된 파일은 상기 FBE 동작을 스킵(skip)하기 위해 필요한 파일일 수 있다. 상기 스토리지 매니저(333)는 상기 지정된 파일이 존재하는 경우, 상기 메모리를 잠금 모드로 설정하는 FBE 동작을 스킵(skip)할 수 있다.According to one embodiment, when the power manager (331) completes the platform reset, the storage manager (333) can check whether the specified file exists in the protection area. The specified file may be a file required to skip the FBE operation. If the storage manager (333) finds that the specified file exists, it can skip the FBE operation that sets the memory to lock mode.

일 실시예에 따르면, 상기 디바이스 케어(311)는 상기 플랫폼 리셋이 완료된 경우, 상기 메모리가 잠금 모드로 설정되어 있지 않기 때문에, 상기 메모리에 접근할 수 있다. 상기 디바이스 케어(311)는 상기 메모리에 저장된 설정 정보를 상기 오디오 매니저(335) 및 상기 텔레포니 매니저(339)에 전송할 수 있다.According to one embodiment, the device care (311) can access the memory when the platform reset is completed, because the memory is not set to lock mode. The device care (311) can transmit the setting information stored in the memory to the audio manager (335) and the telephony manager (339).

일 실시예에 따르면, 상기 오디오 매니저(335)는 상기 수신한 설정 정보를 기반으로, 상기 전자 장치를 플랫폼 리셋 되기 이전의 볼륨 레벨로 복원할 수 있다. 상기 오디오 매니저(335)가 수신하는 설정 정보는 볼륨 정보일 수 있다.According to one embodiment, the audio manager (335) can restore the electronic device to a volume level prior to the platform reset based on the received setting information. The setting information received by the audio manager (335) may be volume information.

일 실시예에 따르면, 상기 오디오 매니저(335)가 상기 볼륨 레벨을 복원하고, According to one embodiment, the audio manager (335) restores the volume level, and

일 실시예에 따르면, 상기 텔레포니 매니저(339)는 상기 수신한 설정 정보를 기반으로, 상기 전자 장치를 플랫폼 리셋 되기 이전의 상기 데이터 연결 상태로 복원할 수 있다. 상기 텔레포니 매니저(339)가 수신한 설정 정보는 데이터 연결 상태 정보(예: 모바일 데이터 사용 여부와 관련된 정보) 및/또는 데이터 허용 팝업의 출력 설정 정보일 수 있다. 상기 데이터 연결 상태 정보는 상기 데이터 연결 팝업의 표시 여부와 관련된 설정 정보를 포함할 수 있다. According to one embodiment, the telephony manager (339) can restore the electronic device to the data connection state prior to the platform reset based on the received configuration information. The configuration information received by the telephony manager (339) may be data connection status information (e.g., information regarding whether mobile data is used) and/or output configuration information for a data allowance popup. The data connection status information may include configuration information regarding whether the data connection popup is displayed.

예를 들어, 상기 텔레포니 매니저(339)는 재부팅 전에 상기 데이터 연결 팝업이 온(on) 상태로 설정되어 있는 경우, 오프 상태로 전환할 수 있다. 상기 텔레포니 매니저(339)는 상기 전자 장치의 재부팅이 완료되면, 상기 데이터 연결 팝업의 표시 상태를 온(on) 상태로 복원할 수 있다. 다른 예를 들어, 상기 텔레포니 매니저(339)는 재부팅 전에 상기 데이터 연결 팝업이 오프(off) 상태로 설정되어 있는 경우, 상기 데이터 연결 팝업의 표시 상태를 재부팅 후 오프 상태로 복원할 수 있다.For example, the telephony manager (339) can switch the data connection popup to an on state if it is set to an on state before rebooting. The telephony manager (339) can restore the display state of the data connection popup to an on state when the reboot of the electronic device is completed. As another example, the telephony manager (339) can restore the display state of the data connection popup to an off state after rebooting if it is set to an off state before rebooting.

예를 들어, 상기 텔레포니 매니저(339)는 플랫폼 리셋 되기 이전의 데이터 연결 상태가 오프(off) 상태인 경우, 플랫폼 리셋 후 상기 전자 장치의 데이터 연결 상태를 오프 상태로 복원할 수 있다. 다른 예를 들어, 상기 텔레포니 매니저(339)는 플랫폼 리셋 되기 전에 설정된 데이터 연결 상태가 온(on) 상태인 경우, 플랫폼 리셋 후 상기 전자 장치의 데이터 연결 상태를 온 상태로 복원할 수 있다. For example, if the data connection state of the electronic device before the platform reset is off, the telephony manager (339) can restore the data connection state of the electronic device to off after the platform reset. As another example, if the data connection state set before the platform reset is on, the telephony manager (339) can restore the data connection state of the electronic device to on after the platform reset.

일 실시예에 따르면, 상기 텔레포니 매니저(339)는 상기 전자 장치의 재부팅이 완료되면, 상기 데이터 연결 상태 정보를 기반으로, 상기 데이터 연결 팝 업(pop-up)의 표시 여부를 재부팅 전의 설정으로 복원할 수 있다. 예를 들어, 상기 텔레포니 매니저(339)는 상기 디바이스 케어(311)로부터 수신한 상기 데이터 연결 상태 정보를 기반으로, 상기 데이터 연결 팝 업의 표시 여부를 상기 전자 장치가 재부팅 되기 전의 설정으로 복원할 수 있다. 즉, 상기 데이터 연결 상태 정보는 상기 전자 장치의 데이터 연결 유무와 관련된 정보 뿐만 아니라, 상기 데이터 연결 팝 업의 표시 여부와 관련된 정보를 포함할 수 있다.According to one embodiment, when the reboot of the electronic device is completed, the telephony manager (339) can restore the display status of the data connection pop-up to the setting prior to the reboot, based on the data connection status information. For example, the telephony manager (339) can restore the display status of the data connection pop-up to the setting prior to the reboot of the electronic device, based on the data connection status information received from the device care (311). That is, the data connection status information may include not only information regarding the presence or absence of a data connection of the electronic device, but also information regarding the display status of the data connection pop-up.

다른 실시예에 따르면, 상기 디바이스 케어 (311)는 상기 메모리에 프로세스(process)가 누적되어, 메모리의 가용량이 부족해진 상태를 감지할 수 있다. 상기 디바이스 케어(311)는 상기 가용 메모리의 부족 상태를 감지하는 경우, 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 2의 디스플레이(201))를 통해 재부팅 시점을 선택하도록 요청하는 메시지를 출력할 수 있다. 예를 들어, 상기 메시지는 재부팅을 지금 시작하는 “지금 시작” 및 사용자에 의해 설정된 시각에 재부팅을 시작하는 “나중에 시작”을 포함하는 사용자 인터페이스(user interface)일 수 있다.According to another embodiment, the device care (311) can detect a state in which the available memory capacity becomes insufficient as processes accumulate in the memory. When the device care (311) detects the insufficient available memory capacity, it may output a message requesting the user to select a reboot time via a display (e.g., the display module (160) of FIG. 1 or the display (201) of FIG. 2). For example, the message may be a user interface including “Start Now” to start the reboot now and “Start Later” to start the reboot at a time set by the user.

일 실시예에 따르면, 상기 디바이스 케어(311)가 “지금 시작”의 사용자 입력을 수신하는 경우, 상기 전자 장치의 재부팅을 시작할 수 있다.According to one embodiment, when the device care (311) receives user input of “Start now,” it may start rebooting the electronic device.

일 실시예에 따르면, 상기 디바이스 케어(311)가 “나중에 시작”의 사용자 입력을 수신하는 경우, 상기 메시지의 일부 영역에 타이머를 출력할 수 있다. 상기 디바이스 케어(311)는 상기 타이머를 통해 사용자로부터 시각 정보(재부팅을 시작할 시각)를 수신할 수 있다. 상기 디바이스 케어(311)는 상기 수신한 시각 정보를 상기 알람 매니저(313)에 전송할 수 있다. According to one embodiment, when the device care (311) receives user input for “start later,” it may output a timer in a portion of the message. The device care (311) may receive time information (time to start rebooting) from the user through the timer. The device care (311) may transmit the received time information to the alarm manager (313).

일 실시예에 따르면, 상기 알람 매니저(313)는 상기 수신한 시각 정보를 저장할 수 있다. 상기 알람 매니저(313)는 상기 저장한 상기 시각 정보에 해당하는 시각이 되는 경우, 상기 디바이스 케어(311)에 상기 재부팅의 시작을 요청하는 신호를 전송할 수 있다.According to one embodiment, the alarm manager (313) may store the received time information. When the time corresponding to the stored time information arrives, the alarm manager (313) may transmit a signal to the device care (311) requesting the start of the reboot.

일 실시예에 따르면, 상기 디바이스 케어(311)는 상기 재부팅의 시작을 요청하는 신호를 수신하면, 상기 전자 장치가 사용자에 의해 현재 사용되고 있는지를 판단할 수 있다. 예를 들어, 상기 디바이스 케어(311)는 상기 전자 장치에 포함된 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 2의 디스플레이(201)), 스피커(예: 도 1의 음향 출력 모듈(155)), 마이크(예: 도 1의 입력 모듈(150)) 및 센서(예: 도 1의 센서 모듈(176)) 중 적어도 하나가 동작 중인지를 확인하여, 상기 전자 장치가 사용자에 의해 현재 사용되고 있는지를 판단할 수 있다.According to one embodiment, when the device care (311) receives a signal requesting the start of the reboot, it can determine whether the electronic device is currently being used by a user. For example, the device care (311) can determine whether the electronic device is currently being used by a user by checking whether at least one of the display (e.g., the display module (160) of FIG. 1 or the display (201) of FIG. 2) included in the electronic device, the speaker (e.g., the sound output module (155) of FIG. 1), the microphone (e.g., the input module (150) of FIG. 1), and the sensor (e.g., the sensor module (176) of FIG. 1) is operating.

다른 예를 들어, 상기 디바이스 케어(311)는 상기 전자 장치가 통신 모듈을 통해 외부 전자 장치(예: 웨어러블 전자 장치)와 연결된 상태에서, 상기 외부 전자 장치에 의해 제어되고 있는 경우, 상기 전자 장치가 사용되고 있는지를 판단할 수 있다.In another example, the device care (311) can determine whether the electronic device is being used when the electronic device is connected to an external electronic device (e.g., a wearable electronic device) through a communication module and is being controlled by the external electronic device.

일 실시예에 따르면, 상기 디바이스 케어(311)는 사용자에 의해 상기 전자 장치가 사용되고 있지 않는 경우, 상기 파워 매니저(331)에게 상기 전자 장치를 재부팅하도록 요청할 수 있다.According to one embodiment, the device care (311) may request the power manager (331) to reboot the electronic device when the electronic device is not being used by the user.

일 실시예에 따르면, 상기 파워 매니저(331)는 상기 디바이스 케어(311)로부터 재부팅 요청 신호를 수신한 경우, 상기 디바이스 케어(311)에 저장된 재부팅 값을 확인할 수 있다. 상기 파워 매니저(331)는 상기 확인한 재부팅 값이 지정된 값인 경우, 상기 전자 장치를 플랫폼 리셋(platform reset)할 수 있다. 즉, 상기 전자 장치는 상기 저장된 시각 정보에 해당하는 시각이 되면, 자동으로 플랫폼 리셋 할 수 있다.According to one embodiment, when the power manager (331) receives a reboot request signal from the device care (311), it can check the reboot value stored in the device care (311). If the checked reboot value is a specified value, the power manager (331) can perform a platform reset on the electronic device. That is, the electronic device can automatically perform a platform reset when the time corresponding to the stored time information arrives.

도 4는 본 발명의 일 실시 예에 따른, 재부팅을 하는 방법을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart illustrating a method for rebooting according to an embodiment of the present invention.

도 4의 동작 401을 살펴보면, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(205))는 메모리(예: 도 1의 메모리(130) 또는 도 2의 메모리(203))의 상태를 확인(예: 도 3의 디바이스 케어(311)가 확인)할 수 있다.Looking at operation 401 of FIG. 4, the processor of the electronic device (e.g., the electronic device (101) of FIG. 1 or the electronic device (200) of FIG. 2) (e.g., the processor (120) of FIG. 1 or the processor (205) of FIG. 2) can check the status of the memory (e.g., the memory (130) of FIG. 1 or the memory (203) of FIG. 2) (e.g., the device care (311) of FIG. 3 checks).

일 실시예에 따르면, 상기 프로세서는 상기 메모리의 가용량을 확인할 수 있다.According to one embodiment, the processor can check the available capacity of the memory.

동작 403 동작을 살펴보면, 상기 프로세서는 상기 확인한 메모리의 가용량을 기반으로, 상기 메모리의 부족 상태를 감지(예: 도 3의 디바이스 케어(311)가 감지)할 수 있다.Looking at operation 403, the processor can detect a shortage of memory based on the availability of the confirmed memory (e.g., the device care (311) of FIG. 3 detects it).

예를 들어, 상기 프로세서는 상기 메모리의 사용량이 지정된 설정 값 이상인 것을 감지할 수 있다. 상기 지정된 설정 값은 재부팅을 할 수 있는 기준 값일 수 있다. 다른 예를 들어, 상기 프로세서는 상기 메모리의 가용량 부족 상태에 따른 FD(file descriptor)의 메모리 누수 (memory leak) 또는 횟수, 상기 메모리의 가용량 부족에 따른 프로세스 킬(process kill) 발생 횟수 및/또는 상기 메모리의 가용량 부족에 따른 어플리케이션 재실행(application refresh) 횟수를 확인하는 방법을 통해 상기 메모리의 부족 상태를 확인할 수 있다. 구체적인 예를 들어, 상기 프로세서는 상기 메모리의 부족 상태에 따른 프로세스 강제 종료 횟수를 확인할 수 있다. 상기 프로세서는 지정된 주기(예: 프로세스 60회 실행 또는 지정된 시간 간격)마다 상기 메모리의 가용량 부족에 따른 프로세스의 종료 횟수를 확인하고, 상기 확인한 횟수가 상기 지정된 설정 값(예: 30%의 비율에 해당하는 횟수)을 이상인 경우, 이를 가용 메모리의 부족 상태로 결정할 수 있다.For example, the processor may detect that the usage of the memory is greater than or equal to a specified setting value. The specified setting value may be a threshold value for rebooting. As another example, the processor may check for a memory shortage by checking the number of memory leaks (FDs) or file descriptors (FDRs) due to the memory shortage, the number of process kills due to the memory shortage, and/or the number of application refreshes due to the memory shortage. As a specific example, the processor may check the number of process forced terminations due to the memory shortage. The processor may check the number of process terminations due to the memory shortage at specified intervals (e.g., 60 process executions or specified time intervals), and if the number checked is greater than or equal to the specified setting value (e.g., a number corresponding to a 30% ratio), it may determine this as a memory shortage.

일 실시예에 따르면, 상기 프로세서는 상기 가용 메모리 부족 상태를 감지하지 못하는 경우, 메모리의 상태를 확인할 수 있다. 상기 프로세서는 상기 메모리 부족 상태를 감지하지 못하면, 주기적 또는 지정된 시간마다 상기 메모리의 상태를 확인할 수 있다.According to one embodiment, if the processor does not detect the available memory shortage state, it can check the state of the memory. If the processor does not detect the memory shortage state, it can check the state of the memory periodically or at specified intervals.

동작 405를 살펴보면, 상기 프로세서는 재부팅 알람을 등록(예: 도 3의 알람 매니저(313)를 통해 등록)할 수 있다. Looking at operation 405, the processor can register a reboot alarm (e.g., through the alarm manager (313) of FIG. 3).

일 실시예에 따르면, 상기 프로세서(예: 디바이스 케어(311))는 상기 가용 메모리 부족 상태를 감지하는 경우, 재부팅할 시각 정보를 생성하여, 재부팅 알람을 등록할 수 있다. 예를 들어, 상기 디바이스 케어(311)는 미리 지정된 시각 정보(예: 새벽 3시)로, 또는 정해진 시간 구간(예: 새벽 1시부터 4시 사이)안에 랜덤 시간(예: 3시 17분 23초)을 생성하여 재부팅 시각 정보를 생성할 수 있다. 상기 프로세서(예: 디바이스 케어(311))는 재부팅 시각 정보를 사용하여 재부팅 알람을 등록할 수 있다. 예를 들어, 상기 디바이스 케어(311)는 재부팅 시각 정보를 상기 알람 매니저(313)에 전달하여 알람을 등록할 수 있다. 알람 매니저(313)는 재부팅 시각이 되면, 상기 디바이스 케어(311)에 재부팅 시각이 되었음을 알릴 수(notify) 있다. According to one embodiment, when the processor (e.g., Device Care (311)) detects the available memory shortage, it can generate reboot time information and register a reboot alarm. For example, the Device Care (311) can generate reboot time information by using a pre-specified time information (e.g., 3:00 AM) or by generating a random time (e.g., 3:17:23) within a set time interval (e.g., between 1:00 AM and 4:00 AM). The processor (e.g., Device Care (311)) can register a reboot alarm using the reboot time information. For example, the Device Care (311) can register an alarm by transmitting the reboot time information to the Alarm Manager (313). When the reboot time arrives, the Alarm Manager (313) can notify the Device Care (311) that the reboot time has arrived.

다른 다양한 실시예에 따르면, 상기 프로세서는 상기 가용 메모리 부족 상태를 감지하는 경우, 재부팅 시작 시점을 선택하도록 요청하는 메시지를 출력할 수 있다. 상기 프로세서는 상기 메시지에 대한 응답으로 사용자 입력을 수신하는 경우, 수신한 사용자 입력에 기반하여, 시각 정보를 생성할 수 있다. 상기 프로세서는 상기 생성한 시각 정보를 저장(예: 도 3의 알람 매니저(313)를 통해 저장))하여, 상기 전자 장치(200)를 재부팅 할 예정 시각인 재부팅 알람을 등록할 수 있다. According to various other embodiments, when the processor detects the available memory shortage, it may output a message requesting the selection of a reboot start time. When the processor receives user input in response to the message, it may generate time information based on the received user input. The processor may store the generated time information (e.g., through the alarm manager (313) of FIG. 3) to register a reboot alarm, which is the scheduled time to reboot the electronic device (200).

상기 재부팅 알람은, 상기 프로세서가 사용자로부터 상기 재부팅 알람을 등록하는 사용자 입력을 수신하고, 수신한 사용자 입력에 기반하여, 생성한 시각 정보일 수 있다. 예를 들어, 상기 프로세서는 상기 사용자 입력에 기반하여, 상기 전자 장치를 재부팅 할 04시 20분이라는 시각 정보를 생성할 수 있다. 예를 들어, 상기 디바이스 케어(311)는 상기 생성된 재부팅 시각 정보를 상기 알람 매니저(313)에 전달하여 알람을 등록할 수 있다. 알람 매니저(313)는 재부팅 시각이 되면, 디바이스 케어(311)에 재부팅 시각이 되었음을 알릴 수(notify) 있다. The above reboot alarm may be time information generated by the processor based on user input received from a user to register the reboot alarm. For example, the processor may generate time information such as 04:20 to reboot the electronic device based on the user input. For example, the device care (311) may transmit the generated reboot time information to the alarm manager (313) to register the alarm. When the reboot time arrives, the alarm manager (313) may notify the device care (311) that the reboot time has arrived.

상기 프로세서는 상기 생성한 시각 정보를 저장하고, 상기 시각 정보에 해당하는 시각이 되는 경우, 상기 전자 장치를 재부팅할 수 있다.The above processor stores the generated time information and can reboot the electronic device when the time corresponding to the time information arrives.

동작 407을 살펴보면, 상기 프로세서는 상기 전자 장치의 사용 유무를 판단할 수 있다.Looking at operation 407, the processor can determine whether the electronic device is in use.

일 실시예에 따르면, 상기 프로세서는 상기 등록한 재부팅 알람 시각이 되는 경우(예: 도 3의 알람 매니저(313)를 통해 시각 확인), 상기 전자 장치가 사용자에 의해 현재 사용되고 있는지를 판단(예: 도 3의 디바이스 케이(311)를 통해 판단)할 수 있다. According to one embodiment, when the time of the registered reboot alarm arrives (e.g., the time is checked via the alarm manager (313) of FIG. 3), the processor can determine whether the electronic device is currently being used by a user (e.g., determined via the device k (311) of FIG. 3).

예를 들어, 상기 프로세서는 상기 재부팅 알람 시각(시각 정보)에 해당하는 시각(예: 도 3의 알람 매니저(3131)를 통해 인지)이 되는 경우, 상기 전자 장치에 포함된 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 2의 디스플레이(201)), 스피커(예: 도 1의 음향 출력 모듈(155)), 마이크(예: 도 1의 입력 모듈(150)) 및 센서(예: 도 1의 센서 모듈(176)) 중 적어도 하나가 동작 중인지를 확인하여, 상기 전자 장치가 사용자에 의해 현재 사용되고 있는지를 판단(예: 도 3의 디바이스 케어(311)를 통해 판단)할 수 있다.For example, when the processor reaches a time corresponding to the reboot alarm time (time information) (e.g., recognized through the alarm manager (3131) of FIG. 3), it can determine whether at least one of the display (e.g., the display module (160) of FIG. 1 or the display (201) of FIG. 2)), the speaker (e.g., the sound output module (155) of FIG. 1), the microphone (e.g., the input module (150) of FIG. 1), and the sensor (e.g., the sensor module (176) of FIG. 1) included in the electronic device is operating, and determine whether the electronic device is currently being used by a user (e.g., determined through the device care (311) of FIG. 3).

다른 예를 들어, 상기 프로세서는 상기 전자 장치가 통신 모듈을 통해 외부 전자 장치(예: 웨어러블 전자 장치)와 연결된 상태에서, 상기 외부 전자 장치에 의해 제어되고 있는 경우, 상기 전자 장치가 사용되고 있는지를 판단할 수 있다.As another example, the processor can determine whether the electronic device is being used when the electronic device is connected to an external electronic device (e.g., a wearable electronic device) through a communication module and is being controlled by the external electronic device.

일 실시예에 따르면, 상기 프로세서는, 상기 전자 장치가 사용자에 의해 사용되고 있지 않은 경우, 주기적으로 상기 전자 장치가 사용자에 의해 사용되고 있는지를 판단할 수 있다.According to one embodiment, the processor can periodically determine whether the electronic device is being used by a user when the electronic device is not being used by a user.

동작 409를 살펴보면, 상기 프로세서는 자동으로 재부팅(예: 도 3의 파워 매니저(331)를 통해 재부팅)을 할 수 있다. Looking at operation 409, the processor can automatically reboot (e.g., reboot via the power manager (331) of FIG. 3).

일 실시예에 따르면, 상기 프로세서는 현재 시작이 상기 등록한 재부팅 알람 시각이고, 현재 전자 장치가 사용자에 의해 사용 중이 아닌 경우, 상기 전자 장치에 저장된 재부팅 값을 확인할 수 있다. 상기 프로세서는 상기 재부팅 값이 지정된 값인 경우, 별도의 사용자 입력을 수신하지 않고, 상기 전자 장치를 자동으로 재부팅(예: 도 3의 파워 매니저(331)를 통해 재부팅) 할 수 있다. 예를 들어, 디바이스 케어(311)은 파워 매니저(331)로 플랫폼 리셋(cf. 사일런트 재부팅)을 요청할 수 있다. 플랫폼 리셋은, 전체 운영체제(커널 및 프레임워크 포함) 중 커널 운영체제는 유지한 채로, 프레임워크 운영체제 만을 재부팅하는 동작일 수 있다.According to one embodiment, the processor can check the reboot value stored in the electronic device when the current start is the registered reboot alarm time and the electronic device is not currently being used by a user. If the reboot value is a specified value, the processor can automatically reboot the electronic device (e.g., reboot via the Power Manager (331) of FIG. 3) without receiving separate user input. For example, Device Care (311) can request a platform reset (cf. silent reboot) to the Power Manager (331). A platform reset may be an operation that reboots only the framework operating system while maintaining the kernel operating system among the entire operating system (including the kernel and framework).

일 실시예에 따르면, 상기 프로세서는 자동으로 재부팅(플랫폼 리셋)을 하기 전에, 상기 전자 장치의 볼륨 정보 및 데이터 연결 상태 정보를 저장(예: 도 3의 디바이스 케어(311)가 저장)할 수 있다. 상기 볼륨 정보 및 상기 데이터 연결 상태 정보는 설정 정보에 포함될 수 있다. 또한, 상기 프로세서는 상기 전자 장치를 자동으로 재부팅 하기 전에, 시스템 음, 진동 및 알림 음을 무음 모드(silent mode)로 전환(예: 도 3의 오디오 매니저(335)를 통해 전환)하고, 상기 데이터 허용 팝 업의 출력을 오프(off) 상태로 전환(예: 도 3의 텔레포니 매니저(339)를 통해 전환)할 수 있다. 상기 프로세서는 상기 전자 장치가 시작되면 출력되는 시작 음을 오프 상태로 전환(예: 도 3의 로고 애니메이션 매니저(337)를 통해 전환)할 수 있다.According to one embodiment, the processor may store volume information and data connection status information of the electronic device (e.g., stored by Device Care (311) of FIG. 3) before automatically rebooting (platform reset). The volume information and data connection status information may be included in the setting information. Additionally, before automatically rebooting the electronic device, the processor may switch system sounds, vibrations, and notification sounds to silent mode (e.g., switched via Audio Manager (335) of FIG. 3) and switch the output of the data allow popup to off (e.g., switched via Telephony Manager (339) of FIG. 3). The processor may switch the start sound output when the electronic device starts to off (e.g., switched via Logo Animation Manager (337) of FIG. 3).

일 실시예에 따르면, 상기 프로세서(예: 도 3의 디바이스 케어(311))는 상기 전자 장치를 자동으로 재부팅 하기 전에, 보호 영역(예: EFS 영역(encrypting file system zone))에 지정된 파일을 생성하고, 재부팅 값을 지정된 값으로 설정할 수 있다. 상기 지정된 파일 및 상기 재부팅 값과 관련된 자세한 설명은 도 3에 개시하도록 한다. According to one embodiment, the processor (e.g., Device Care (311) of FIG. 3) may create a specified file in a protected area (e.g., an EFS area (encrypting file system zone)) and set a reboot value to a specified value before automatically rebooting the electronic device. A detailed description regarding the specified file and the reboot value is disclosed in FIG. 3.

일 실시예에 따르면, 상기 프로세서는 상기 재부팅 값이 지정된 값인 경우, 상기 전자 장치를 플랫폼 리셋(platform reset)할 수 있다. According to one embodiment, the processor can platform reset the electronic device when the reboot value is a specified value.

일 실시예에 따르면, 상기 프로세서는 상기 플랫폼 리셋이 완료되면, 상기 보호 영역에 지정된 파일이 존재하는지를 확인할 수 있다. 상기 프로세서는 상기 지정된 파일이 존재하면, 상기 메모리를 잠금 모드(lock mode)로 설정하는 FBE(file-based encryption) 동작을 스킵(skip)할 수 있다.According to one embodiment, when the platform reset is completed, the processor can check whether a file designated in the protection area exists. If the designated file exists, the processor can skip the file-based encryption (FBE) operation of setting the memory to lock mode.

일 실시예에 따르면, 상기 프로세서는 상기 FBE 동작을 스킵함으로써, 상기 메모리에 저장된 설정 정보에 접근할 수 있다. 상기 프로세서는 상기 설정 정보를 기반으로, 상기 전자 장치의 설정(예: 볼륨 설정, 데이터 연결 설정)을 재부팅 되기 이전의 설정으로 복원할 수 있다. 예를 들어, 상기 프로세서는 상기 설정 정보에 포함된 볼륨 정보의 볼륨 레벨이 “5” 레벨인 경우, 재부팅 후 상기 전자 장치의 볼륨 레벨을 “5”로 복원할 수 있다. 또한, 상기 프로세서는 살기 설정 정보에 포함된 데이터 연결 상태 정보의 연결 레벨이 “온(on)”인 경우, 재부팅 후 상기 전자 장치의 연결 레벨을 “온”으로 복원할 수 있다. According to one embodiment, the processor can access configuration information stored in the memory by skipping the FBE operation. Based on the configuration information, the processor can restore the configuration of the electronic device (e.g., volume settings, data connection settings) to the settings prior to rebooting. For example, if the volume level of the volume information included in the configuration information is "5", the processor can restore the volume level of the electronic device to "5" after rebooting. Additionally, if the connection level of the data connection status information included in the configuration information is "on", the processor can restore the connection level of the electronic device to "on" after rebooting.

다양한 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))의 동작 방법은, 메모리(예: 도 1의 메모리(130) 또는 도 2의 메모리(205))의 상태를 확인하는 동작, 상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우, 재부팅 알람을 등록하는 동작, 상기 재부팅 알람에 해당하는 시각이 되면, 상기 전자 장치의 사용 유무를 확인하는 동작 및 상기 전자 장치가 사용 중이 아닌 경우, 재부팅을 하는 동작을 포함할 수 있다.According to various embodiments, a method of operating an electronic device (e.g., the electronic device (101) of FIG. 1 or the electronic device (200) of FIG. 2) may include an operation of checking the state of a memory (e.g., the memory (130) of FIG. 1 or the memory (205) of FIG. 2), an operation of registering a reboot alarm when the memory is insufficient based on the result of the check, an operation of checking whether the electronic device is in use when the time corresponding to the reboot alarm arrives, and an operation of rebooting the electronic device when it is not in use.

다양한 실시예에 따르면, 상기 재부팅을 하는 동작은, 상기 재부팅을 하기 전, 상기 전자 장치의 설정 정보를 저장하는 동작을 더 포함할 수 있다.According to various embodiments, the operation of rebooting may further include the operation of saving the configuration information of the electronic device before rebooting.

다양한 실시예에 따르면, 상기 설정 정보는, 상기 전자 장치가 재부팅 되기 이전의 볼륨 정보 및 데이터 연결 상태 정보를 포함할 수 있다.According to various embodiments, the setting information may include volume information and data connection status information prior to the electronic device being rebooted.

다양한 실시예에 따르면, 상기 재부팅을 하는 동작은, 상기 재부팅이 완료된 후, 지정된 시간이 경과되면 상기 저장된 설정 정보를 기반으로, 상기 전자 장치의 설정을 복원하는 동작을 더 포함할 수 있다.According to various embodiments, the operation of rebooting may further include the operation of restoring the settings of the electronic device based on the stored setting information after a specified time has elapsed following the completion of the reboot.

다양한 실시예에 따르면, 상기 재부팅을 하는 동작은, 상기 전자 장치가 재부팅 되기 전, 상기 전자 장치의 데이터 연결 팝 업의 출력을 오프(off) 상태로 전환하고, 상기 지정된 시간이 경과되면, 상기 데이터 연결 팝 업의 출력을 재부팅 이전의 상태로 전환하는 동작을 더 포함할 수 있다.According to various embodiments, the operation of rebooting may further include switching the output of the data connection pop-up of the electronic device to an off state before the electronic device is rebooted, and switching the output of the data connection pop-up to a state prior to rebooting when the specified time has elapsed.

다양한 실시예에 따르면, 상기 지정된 시간은, 상기 전자 장치가 재부팅 되어, 발생하는 알림 음이 모두 발생하고 난 이후의 시간으로 지정될 수 있다.According to various embodiments, the specified time may be set as the time after the electronic device is rebooted and all notification sounds have occurred.

다양한 실시예에 따르면, 상기 재부팅을 하는 동작은, 상기 전자 장치가 재부팅 되기 전, 상기 전자 장치를 무음 모드(silent mode)로 전환하는 동작을 더 포함할 수 있다.According to various embodiments, the operation of rebooting may further include the operation of switching the electronic device to silent mode before the electronic device is rebooted.

다양한 실시예에 따르면, 상기 전자 장치는, 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 2의 디스플레이(201))를 포함하고, 상기 재부팅을 하는 동작은, 상기 디스플레이를 오프(off) 상태로 설정하여, 자동으로 재부팅하는 동작을 더 포함할 수 있다.According to various embodiments, the electronic device includes a display (e.g., the display module (160) of FIG. 1 or the display (201) of FIG. 2), and the rebooting operation may further include the operation of automatically rebooting by setting the display to an off state.

다양한 실시예에 따르면, 상기 재부팅을 하는 동작은, FBE(file-based encryption) 동작을 스킵(skip)하여, 상기 재부팅을 실행하는 동작을 포함할 수 있다.According to various embodiments, the rebooting operation may include skipping the file-based encryption (FBE) operation and executing the reboot.

도 5는 본 발명의 일 실시 예에 따른, 재부팅을 하기 위해 수행하는 동작을 설명하기 위한 흐름도이다.FIG. 5 is a flowchart illustrating operations performed to reboot according to an embodiment of the present invention.

일 실시예에 따르면, 디바이스 케어(501)(예: 도 3의 디바이스 케어(311))는 메모리(예: 도 1의 메모리(130))에 프로세스(process)가 누적되어, 상기 메모리의 가용량이 부족해진 상태(가용 메모리 부족 상태)를 감지(501a)할 수 있다. 예를 들어, 상기 가용 메모리 부족 상태는 상기 메모리의 사용량이 지정된 설정 값 이상일 때 감지할 수 있다. 상기 가용 메모리 부족 상태를 감지하는 동작은 도 4의 401 동작에 자세하게 개시하도록 한다.According to one embodiment, device care (501) (e.g., device care (311) of FIG. 3) can detect (501a) a state in which the available capacity of memory becomes insufficient (insufficient available memory state) as a process accumulates in memory (e.g., memory (130) of FIG. 1). For example, the insufficient available memory state can be detected when the usage of the memory exceeds a specified set value. The operation of detecting the insufficient available memory state is disclosed in detail in the 401 operation of FIG. 4.

일 실시예에 따르면, 상기 디바이스 케어(501)가 상기 가용 메모리 부족 상태를 감지(501a)하는 경우, 오디오 매니저(503)(예: 도 3의 오디오 매니저(335))에 저장된 볼륨 정보를 확인(501b)할 수 있다. 또한, 상기 디바이스 케어(501)는 텔레포니 매니저(505)(예: 도 3의 텔레포니 매니저(339))에 저장된 데이터 연결 상태 정보를 확인(501c)할 수 있다.According to one embodiment, when the device care (501) detects the available memory shortage state (501a), it can check (501b) volume information stored in the audio manager (503) (e.g., audio manager (335) of FIG. 3). Additionally, the device care (501) can check (501c) data connection status information stored in the telephony manager (505) (e.g., telephony manager (339) of FIG. 3).

일 실시예에 따르면, 상기 디바이스 케어(501)는 상기 확인한 볼륨 정보 및 데이터 연결 상태 정보를 설정 정보로 저장(501d)할 수 있다. 예를 들어, 상기 디바이스 케어(501)는 상기 확인한 볼륨 정보의 볼륨 레벨이 “5”로 설정되어 있는 것을 확인하고, 확인한 볼륨 레벨을 볼륨 정보로 저장할 수 있다. 또한, 상기 디바이스 케어(501)는 상기 확인한 데이터 연결 상태 정보의 연결 레벨이 “오프(off)”로 설정되어 있는 것을 확인하고, 확인한 연결 레벨을 데이터 연결 상태 정보로 저장할 수 있다.According to one embodiment, the device care (501) can store the verified volume information and data connection status information as setting information (501d). For example, the device care (501) can verify that the volume level of the verified volume information is set to “5” and store the verified volume level as volume information. Additionally, the device care (501) can verify that the connection level of the verified data connection status information is set to “off” and store the verified connection level as data connection status information.

일 실시예에 따르면, 상기 디바이스 케어(501)는 볼륨 정보 및 데이터 연결 상태 정보를 저장(501d)한 후, 상기 오디오 매니저(503)에 시스템 음, 진동 및 알림 음을 무음 모드(silent mode)로 전환하도록 요청 (501e)할 수 있다. 또한, 상기 디바이스 케어(501)는 상기 텔레포니 매니저(505)에 데이터 허용 팝업의 출력을 오프(off)(예:팝업 비활성화) 상태로 전환하도록 요청(501f)할 수 있다. 예를 들어, 전자 장치는 부팅 시 디스플레이에 상기 '데이터 허용 팝업'(예:”모바일 데이터를 연결하시겠습니까?”)을 출력(표시)할 수 있다. 예를 들어, 사용자는 해당 팝업 안의 '다시 묻지 않기' 옵션을 선택하여 데이터 허용 팝업의 출력을 오프(비활성화) 할 수 있지만, 그렇지 않은 경우 매 부팅 시마다 해당 팝업이 출력되게 된다. According to one embodiment, the device care (501) may store volume information and data connection status information (501d) and then request the audio manager (503) to switch system sounds, vibrations, and notification sounds to silent mode (501e). Additionally, the device care (501) may request the telephony manager (505) to switch the output of the data allow popup to off (e.g., popup disabled) (501f). For example, the electronic device may output (display) the 'data allow popup' (e.g., “Would you like to connect mobile data?”) on the display upon booting. For example, the user may turn off (disable) the output of the data allow popup by selecting the 'Don't ask again' option within the popup, but otherwise, the popup will be displayed every time the device boots.

또한, 상기 디바이스 케어(501)는 상기 로고 애니메이션 매니저(507)(예: 도 3의 로고 애니메이션 매니저(337))에 재부팅 시 출력되는 시작 음을 오프 상태로 전환하도록 요청(501g)을 할 수 있다.Additionally, the device care (501) may request (501g) the logo animation manager (507) (e.g., the logo animation manager (337) of FIG. 3) to switch the start sound output upon reboot to an off state.

일 실시예에 따르면, 상기 오디오 매니저(503)는 상기 디바이스 케어(501)로부터 상기 요청(501e)을 수신하는 경우, 시스템 음, 진동 및 알림 음을 무음 모드(silent mode)로 전환(503a)할 수 있다.According to one embodiment, when the audio manager (503) receives the request (501e) from the device care (501), it can switch the system sound, vibration and notification sound to silent mode (503a).

일 실시예에 따르면, 상기 텔레포니 매니저(505)는 상기 디바이스 케어(501)로부터 상기 요청(501f)을 수신하는 경우, 데이터 허용 팝 업을 오프 상태로 전환(505a)할 수 있다.According to one embodiment, when the telephony manager (505) receives the request (501f) from the device care (501), it may switch the data allow pop-up to an off state (505a).

일 실시예에 따르면, 상기 로고 애니메이션 매니저(507)는 상기 디바이스 케어(501)로부터 상기 요청(501g)을 수신하는 경우, 부팅 시 출력되는 시작 음이 스피커를 통해 출력되지 않도록 전환(507a)할 수 있다. According to one embodiment, when the logo animation manager (507) receives the request (501g) from the device care (501), it may switch (507a) so that the start sound output at boot time is not output through the speaker.

일 실시예에 따르면, 상기 디바이스 케어(501)는 상기 전환 동작들(503a, 505a, 507a)이 완료되면, 보호 영역(예: EFS 영역(encrypting file system zone))에 지정된 파일을 생성할 수 있다. 또한, 상기 디바이스 케어(501)는 재부팅 값을 지정된 값으로 설정할 수 있다. 상기 재부팅 값은 상기 전자 장치를 풀 리셋 또는 플랫폼 리셋할 것인지를 결정하기 위한 코드 값일 수 있다. 상기 지정된 파일은, 상기 전자 장치가 플랫폼 리셋 되고 난 후, 메모리를 잠금 모드로 설정하는 FBE(file-based encryption) 동작을 스킵(skip)하기 위해 필요한 파일일 수 있다.According to one embodiment, the device care (501) may create a specified file in a protected area (e.g., an EFS area (encrypting file system zone)) when the switching operations (503a, 505a, 507a) are completed. Additionally, the device care (501) may set a reboot value to a specified value. The reboot value may be a code value for determining whether to perform a full reset or a platform reset of the electronic device. The specified file may be a file required to skip the file-based encryption (FBE) operation that sets the memory to a lock mode after the electronic device is platform reset.

일 실시예예 따르면, 파워 매니저(509)(예: 도 3의 파워 매니저(331))는 상기 디바이스 케어(501)에 저장된 재부팅 값을 확인(509a)할 수 있다. 상기 파워 매니저(509)는 상기 재부팅 값이 지정된 값인 경우, 플랫폼 리셋을 진행(509b)할 수 있다.According to one embodiment, a power manager (509) (e.g., a power manager (331) of FIG. 3) can check (509a) a reboot value stored in the device care (501). If the reboot value is a specified value, the power manager (509) can perform a platform reset (509b).

다른 실시예에 따르면, 상기 메모리는 알람 매니저(미도시)(예: 도 3의 알람 매니저(313))를 더 포함할 수 있다. 상기 디바이스 케어(501)가 상기 가용 메모리 부족 상태를 감지(501a)하는 경우, 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 2의 디스플레이(201))를 통해 재부팅 시작 시각을 선택하도록 요청하는 메시지를 출력할 수 있다. 상기 디바이스 케어(501)는 상기 메시지에 대한 사용자 입력을 수신하고, 상기 수신한 사용자 입력을 기반으로, 상기 재부팅 시작 시각을 확인할 수 있다.According to another embodiment, the memory may further include an alarm manager (not shown) (e.g., the alarm manager (313) of FIG. 3). When the device care (501) detects the available memory shortage state (501a), it may output a message requesting the selection of a reboot start time through a display (e.g., the display module (160) of FIG. 1 or the display (201) of FIG. 2). The device care (501) may receive user input regarding the message and, based on the received user input, determine the reboot start time.

다른 실시예에 따르면, 상기 디바이스 케어(501)는 상기 확인한 재부팅 시작 시각과 관련된 시각 정보를 상기 알람 매니저(313)에 전송(미도시)할 수 있다. 상기 알람 매니저(313)는 상기 시각 정보에 해당하는 시각이 되는 경우, 상기 디바이스 케어(501)에 재부팅 시작 신호를 전송할 수 있다. 상기 디바이스 케어(501)는 상기 재부팅 시작 신호를 수신하는 경우, 상기 전자 장치의 재부팅을 시작할 수 있다.According to another embodiment, the device care (501) may transmit (not shown) time information related to the confirmed reboot start time to the alarm manager (313). When the time corresponding to the time information arrives, the alarm manager (313) may transmit a reboot start signal to the device care (501). When the device care (501) receives the reboot start signal, it may start rebooting the electronic device.

또 다른 실시예에 따르면, 상기 디바이스 케어(501)는 상기 알람 매니저(313)로부터 상기 재부팅 시작 신호를 수신하는 경우, 사용자에 의해 상기 전자 장치가 사용되고 있는지를 판단할 수 있다. 상기 디바이스 케어(501)는 사용자에 의해 상기 전자 장치가 사용되고 있는 경우, 상기 디스플레이를 통해 재부팅 시작 시각을 선택하도록 요청하는 메시지를 출력하여, 사용자로부터 재부팅 시작 시각 정보를 획득할 수 있다.According to another embodiment, the device care (501) can determine whether the electronic device is being used by a user when it receives the reboot start signal from the alarm manager (313). If the electronic device is being used by a user, the device care (501) can obtain reboot start time information from the user by outputting a message requesting the user to select a reboot start time through the display.

도 6은 본 발명의 일 실시 예에 따른, 재부팅을 하기 위해 수행하는 다른 동작을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart illustrating other operations performed to reboot according to one embodiment of the present invention.

일 실시예에 따르면, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))의 재부팅이 완료되는 경우, 디바이스 케어(501)(예: 도 3의 디바이스 케어(311)) 및 스토리지 매니저(607)(예: 도 3의 스토리지 매니저(333))는 전자 장치의 재부팅이 완료된 것을 감지(601a)할 수 있다. 상기 재부팅은 상기 전자 장치의 커널(kernel)을 제외한 나머지 구성(예: 어플리케이션 및 어플리케이션 프레임워크)들을 재부팅 하는 플랫폼 리셋(platform reset)일 수 있다. According to one embodiment, when a reboot of an electronic device (e.g., the electronic device (101) of FIG. 1 or the electronic device (200) of FIG. 2) is completed, the device care (501) (e.g., the device care (311) of FIG. 3) and the storage manager (607) (e.g., the storage manager (333) of FIG. 3) may detect (601a) that the reboot of the electronic device is completed. The reboot may be a platform reset that reboots the remaining components (e.g., applications and application frameworks) excluding the kernel of the electronic device.

일 실시예에 따르면, 상기 스토리지 매니저(607)가 상기 재부팅이 완료된 것을 감지(601b)하는 경우, 보호 영역(예: EFS 영역(encrypting file system zone))에 지정된 파일이 존재하는지를 확인할 수 있다. 상기 스토리지 매니저(607)는 상기 보호 영역에 상기 지정된 파일이 존재하는 경우, FBE(file-based encryption) 동작을 스킵(skip)(607a)할 수 있다. 상기 지정된 파일은 메모리(예: 도 1의 메모리(130) 또는 도 2의 메모리(203))를 잠금 모드(lock mode)로 설정하는 FBE 동작을 스킵(skip)하기 위해 필요한 파일일 수 있다.According to one embodiment, when the storage manager (607) detects (601b) that the reboot is complete, it can check whether a specified file exists in a protected area (e.g., an EFS area (encrypting file system zone)). If the storage manager (607) finds that the specified file exists in the protected area, it can skip (607a) the file-based encryption (FBE) operation. The specified file may be a file required to skip the FBE operation that sets the memory (e.g., memory (130) in FIG. 1 or memory (203) in FIG. 2) to lock mode.

일 실시예에 따르면, 상기 디바이스 케어(601)는 상기 스토리지 매니저(607)에 의하여 상기 FBE 동작이 스킵되는 경우, 저장된 볼륨 정보를 오디오 매니저(603)(예: 도 3의 오디오 매니저(335))에 전송(601c)할 수 있다. 상기 볼륨 정보는 플랫폼 리셋 하기 전에 상기 전자 장치에 설정된 볼륨 레벨과 관련된 정보일 수 있다.According to one embodiment, the device care (601) may transmit (601c) stored volume information to the audio manager (603) (e.g., the audio manager (335) of FIG. 3) when the FBE operation is skipped by the storage manager (607). The volume information may be information related to the volume level set in the electronic device before the platform reset.

일 실시예에 따르면, 상기 오디오 매니저(603)는 상기 디바이스 케어(601)로부터 수신한 볼륨 정보를 기반으로, 볼륨 레벨을 복원(603a)할 수 있다. 예를 들어, 상기 오디오 매니저(603)는 상기 수신한 볼륨 정보의 볼륨 레벨이 “10”인 경우, “10”으로 상기 전자 장치의 볼륨 레벨을 복원할 수 있다. 상기 볼륨 정보 및 상기 데이터 연결 상태 정보는 설정 정보에 포함될 수 있다.According to one embodiment, the audio manager (603) can restore the volume level (603a) based on volume information received from the device care (601). For example, if the volume level of the received volume information is “10,” the audio manager (603) can restore the volume level of the electronic device to “10.” The volume information and the data connection status information may be included in the setting information.

일 실시예에 따르면, 상기 디바이스 케어(601)는 상기 스토리지 매니저(607)에 의하여 상기 FBE 동작이 스킵되는 경우, 저장된 데이터 연결 상태 정보를 텔레포니 매니저(605)(예: 도 3의 텔레포니 매니저(339))에 전송(601d)할 수 있다. 상기 데이터 연결 상태 정보는 플랫폼 리셋 전에 상기 전자 장치에 설정된 데이터 연결 유무와 관련된 정보일 수 있다.According to one embodiment, the device care (601) may transmit (601d) stored data connection status information to the telephony manager (605) (e.g., the telephony manager (339) of FIG. 3) when the FBE operation is skipped by the storage manager (607). The data connection status information may be information related to whether a data connection is set on the electronic device before the platform reset.

일 실시예에 따르면, 상기 텔레포니 매니저(605)는 상기 디바이스 케어(601)로부터 수신한 데이터 연결 상태 정보를 기반으로, 데이터 연결을 복원(605a)할 수 있다. 예를 들어, 상기 텔레포니 매니저(605)는 상기 수신한 데이터 연결 상태 정보의 연결 레벨이 “온(on) 상태”인 경우, 상기 전자 장치와 무선 네트워크 간에 데이터 통신을 연결할 수 있다. 다른 예를 들어, 상기 텔레포니 매니저(605)가 수신한 데이터 연결 상태 정보의 연결 레벨이 “오프(off) 상태”인 경우, 상기 전자 장치와 무선 네트워크 간에 데이터 통신을 연결하지 않을 수 있다.According to one embodiment, the telephony manager (605) can restore a data connection (605a) based on data connection status information received from the device care (601). For example, the telephony manager (605) can establish data communication between the electronic device and the wireless network if the connection level of the received data connection status information is in an “on” state. As another example, if the connection level of the data connection status information received by the telephony manager (605) is in an “off” state, data communication between the electronic device and the wireless network may not be established.

도 7은 본 발명의 일 실시 예에 따른, 재부팅을 하는 다른 방법을 설명하기 위한 흐름도이다.FIG. 7 is a flowchart illustrating another method of rebooting according to one embodiment of the present invention.

도 7의 동작 701을 살펴보면, 전자 장치(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(200))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(205))는 메모리(예: 도 1의 메모리(130) 또는 도 2의 메모리(203))의 상태를 확인(예: 도 3의 디바이스 케어(311)가 확인)할 수 있다.Looking at operation 701 of FIG. 7, the processor of the electronic device (e.g., the electronic device (101) of FIG. 1 or the electronic device (200) of FIG. 2) (e.g., the processor (120) of FIG. 1 or the processor (205) of FIG. 2) can check the status of the memory (e.g., the memory (130) of FIG. 1 or the memory (203) of FIG. 2) (e.g., the device care (311) of FIG. 3 checks).

일 실시예에 따르면, 상기 프로세서는 상기 메모리의 가용량을 확인할 수 있다. According to one embodiment, the processor can check the available capacity of the memory.

동작 703 동작을 살펴보면, 상기 프로세서는 상기 확인한 메모리의 가용량을 기반으로, 상기 메모리의 가용 량 부족 상태(가용 메모리 부족 상태)를 감지할 수 있다.Looking at operation 703, the processor can detect a state of insufficient available memory (insufficient available memory state) based on the available memory capacity identified above.

예를 들어, 상기 프로세서는 상기 메모리의 사용량이 지정된 설정 값 이상인 것을 감지할 수 있다. 상기 지정된 설정 값은 상기 메모리에 프로세스가 누적되어 재부팅과 관련된 메시지(예: 재부팅 시점을 선택하도록 요청하는 메시지)가 발생할 수 있는 기준 값일 수 있다. 예를 들어, 상기 프로세서는 상기 메모리의 사용량이 지정된 설정 값 이상인 것을 감지할 수 있다. 상기 지정된 설정 값은 재부팅을 할 수 있는 기준 값일 수 있다. 다른 예를 들어, 상기 프로세서는 상기 메모리의 가용량 부족 상태에 따른 FD(file descriptor)의 메모리 누수(memory leak) 또는 횟수, 상기 메모리의 가용량 부족에 따른 프로세스 킬(process kill) 발생 횟수 및/또는 상기 메모리의 가용량 부족에 따른 어플리케이션 재실행(application refresh) 횟수를 확인하는 방법을 통해 상기 메모리의 부족 상태를 확인할 수 있다. 구체적인 예를 들어, 상기 프로세서는 상기 메모리의 부족 상태에 따른 프로세스 강제 종료 횟수를 확인할 수 있다. 상기 프로세서는 지정된 주기(예: 프로세스 50회 실행 또는 지정된 시간 간격)마다 상기 메모리의 가용량 부족에 따른 프로세스의 종료 횟수를 확인하고, 상기 확인한 횟수가 상기 지정된 설정 값(예: 25%의 비율에 해당하는 횟수)을 이상인 경우, 이를 가용 메모리의 부족 상태로 결정할 수 있다.For example, the processor may detect that the usage of the memory exceeds a specified setting value. The specified setting value may be a threshold value at which a process accumulates in the memory and a message related to a reboot (e.g., a message requesting the selection of a reboot time) may be generated. For example, the processor may detect that the usage of the memory exceeds a specified setting value. The specified setting value may be a threshold value at which a reboot can be performed. As another example, the processor may check for a memory shortage by verifying the number of memory leaks (FDs) or file descriptors (FDRs) due to the memory shortage, the number of process kills due to the memory shortage, and/or the number of application refreshes due to the memory shortage. As a specific example, the processor may check the number of process forced terminations due to the memory shortage. The processor may check the number of times a process is terminated due to insufficient memory capacity at a specified period (e.g., 50 process executions or a specified time interval), and if the number of times checked is greater than or equal to a specified setting value (e.g., a number corresponding to a ratio of 25%), it may determine that there is insufficient available memory.

동작 705를 살펴보면, 상기 프로세서는 재부팅 시점을 선택하도록 요청하는 메시지를 출력할 수 있다. Looking at operation 705, the processor may output a message requesting a reboot point to be selected.

일 실시예에 따르면, 상기 프로세서는 상기 가용 메모리 부족 상태를 감지한 경우, 디스플레이(예: 도 1의 디스플레이 모듈(160) 또는 도 2의 디스플레이(201))를 통해 사용자로부터 재부팅 시점을 선택하도록 요청하는 메시지를 출력할 수 있다.According to one embodiment, when the processor detects the available memory shortage, it may output a message requesting the user to select a reboot time through a display (e.g., the display module (160) of FIG. 1 or the display (201) of FIG. 2).

동작 707을 살펴보면, 상기 프로세서는 상기 메시지에 대한 사용자 입력을 수신할 수 있다.Looking at operation 707, the processor can receive user input for the message.

일 실시예에 따르면, 상기 프로세서는 상기 재부팅 시점을 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 상기 프로세서는 재부팅을 즉시 시작하는 사용자 입력을 수신할 수 있다. 다른 예를 들어, 상기 프로세서는 재부팅 시작 시각을 설정하는 사용자 입력을 수신할 수 있다.According to one embodiment, the processor may receive user input selecting the reboot time. For example, the processor may receive user input to start the reboot immediately. As another example, the processor may receive user input setting the reboot start time.

동작 709를 살펴보면, 상기 프로세서는 재부팅(예: 도 3의 파워 매니저(331)를 통해 재부팅)을 시작할 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 수신한 사용자 입력이 재부팅을 즉시 시작하는 입력인 경우, 재부팅을 시작하기 전에, 상기 전자 장치의 볼륨 정보 및 데이터 연결 상태 정보를 저장할 수 있다. 또한, 상기 프로세서는 재부팅 시작하기 전에, 상기 전자 장치를 무음 모드(silent mode)로 전환(예: 도 3의 오디오 매니저(335)를 통해 전환)하고, 상기 데이터 허용 팝 업의 출력을 오프(off) 상태로 전환(예: 도 3의 텔레포니 매니저(339)를 통해 전환)할 수 있다. 상기 프로세서는 상기 전자 장치가 시작되면 출력되는 시작 음을 오프 상태로 전환(예: 도 3의 로고 애니메이션 매니저(337)를 통해 전환)할 수 있다.Looking at operation 709, the processor may initiate a reboot (e.g., via the power manager (331) of FIG. 3). According to one embodiment, if the received user input is an input that initiates a reboot immediately, the processor may store volume information and data connection status information of the electronic device before initiating the reboot. Additionally, before initiating the reboot, the processor may switch the electronic device to silent mode (e.g., via the audio manager (335) of FIG. 3) and switch the output of the data allow popup to off (e.g., via the telephony manager (339) of FIG. 3). The processor may switch the start sound output when the electronic device starts to off (e.g., via the logo animation manager (337) of FIG. 3).

다른 실시예에 따르면, 상기 프로세서는 상기 메시지에 대한 사용자 입력을 일정 시간 수신하지 못하는 경우, 상기 재부팅을 즉시 시작할 수 있다. According to another embodiment, if the processor does not receive user input for the message for a certain period of time, it may immediately start the reboot.

일 실시예에 따르면, 상기 프로세서는 재부팅을 시작하기 전에, 보호 영역에 지정된 파일을 생성하고, 재부팅 값을 지정된 값으로 설정할 수 있다. According to one embodiment, the processor may create a file specified in the protection area and set the reboot value to a specified value before initiating a reboot.

일 실시예에 따르면, 상기 프로세서는 상기 재부팅 값이 지정된 값인 것을 식별하면, 상기 전자 장치를 플랫폼 리셋(platform reset)할 수 있다. 상기 프로세서는 상기 플랫폼 리셋을 완료하면, 상기 보호 영역에 지정된 파일이 존재하는지를 확인할 수 있다. 상기 프로세서는 상기 지정된 파일이 존재하면, 상기 메모리를 잠금 모드(lock mode)로 설정하는 FBE(file-based encryption) 동작을 스킵(skip)할 수 있다.According to one embodiment, if the processor identifies that the reboot value is a specified value, it can platform reset the electronic device. When the processor completes the platform reset, it can check whether a file specified in the protection area exists. If the processor finds that the file specified exists, it can skip the file-based encryption (FBE) operation that sets the memory to lock mode.

일 실시예에 따르면, 상기 프로세서는 상기 FBE 동작을 스킵함으로써, 상기 메모리에 저장된 설정 정보에 접근할 수 있다. 상기 프로세서는 상기 설정 정보를 기반으로, 상기 전자 장치의 설정(예: 볼륨 설정, 데이터 연결 설정)을 재부팅 되기 이전의 설정으로 복원할 수 있다.According to one embodiment, the processor can access configuration information stored in the memory by skipping the FBE operation. Based on the configuration information, the processor can restore the configuration of the electronic device (e.g., volume configuration, data connection configuration) to the configuration prior to the reboot.

동작 711을 살펴보면, 상기 프로세서는 재부팅 알람 시각을 설정할 수 있다. 상기 프로세서는 상기 707 동작과 관련된 재부팅 시작 시각을 예약하는 사용자 입력을 수신하는 경우, 설정되는 재부팅 예약 시각과 관련된 정보(재부팅 시작 시각 정보)를 등록(예: 도 3의 알람 매니저(313)를 통해 등록)할 수 있다.Looking at operation 711, the processor can set a reboot alarm time. When the processor receives user input to schedule a reboot start time associated with operation 707, it can register information related to the set reboot schedule time (reboot start time information) (e.g., registered via the alarm manager (313) of FIG. 3).

동작 713을 살펴보면, 상기 프로세서는 상기 설정된 시각에 자동으로 재부팅을 시작할 수 있다.Looking at operation 713, the processor can automatically start rebooting at the set time.

일 실시예에 따르면, 상기 프로세서는 상기 저장된 재부팅 시작 시각 정보에 해당하는 시각이 되면, 상기 전자 장치를 재부팅할 수 있다. According to one embodiment, the processor can reboot the electronic device when the time corresponding to the stored reboot start time information arrives.

다른 실시예에 따르면, 상기 프로세서는 상기 재부팅 시작 시각 정보에 해당하는 시각이 되면, 사용자에 의해 상기 전자 장치가 사용되고 있는지를 판단할 수 있다. 상기 프로세서는 사용자에 의해 상기 전자 장치가 현재 사용되고 있지 않은 경우, 상기 전자 장치를 재부팅할 수 있다. 반면에, 상기 프로세서는 사용자에 의해 현재 상기 전자 장치가 사용되고 있는 경우, 상기 디스플레이를 통해 재부팅 시작 시각을 선택하도록 요청하는 메시지를 출력할 수 있다.According to another embodiment, the processor may determine whether the electronic device is being used by a user when the time corresponding to the reboot start time information arrives. If the electronic device is not currently being used by a user, the processor may reboot the electronic device. On the other hand, if the electronic device is currently being used by a user, the processor may output a message requesting the user to select a reboot start time through the display.

일 실시예에 따르면, 상기 프로세서는 재부팅 시작 시각 정보에 해당하는 시각이 되는 경우, 상기 전자 장치의 볼륨 정보 및 데이터 연결 상태 정보를 저장할 수 있다. 또한, 상기 프로세서는 재부팅(플랫폼 리셋(platform reset))을 시작하기 전에, 상기 전자 장치를 무음 모드(silent mode)로 전환하고, 상기 데이터 허용 팝 업의 출력을 오프(off) 상태로 전환할 수 있다.According to one embodiment, the processor may store volume information and data connection status information of the electronic device when the time corresponding to the reboot start time information arrives. Additionally, before initiating a reboot (platform reset), the processor may switch the electronic device to silent mode and switch the output of the data allow popup to an off state.

일 실시예에 따르면, 상기 프로세서는 자동으로 재부팅 하기 전에, 보호 영역에 지정된 파일을 생성하고, 재부팅 값을 지정된 값으로 설정할 수 있다. 상기 프로세서는 상기 재부팅 값이 지정된 값인 경우, 상기 전자 장치를 재부팅(플랫폼 리셋)할 수 있다. According to one embodiment, the processor may create a file specified in a protected area and set a reboot value to a specified value before automatically rebooting. If the reboot value is the specified value, the processor may reboot the electronic device (platform reset).

일 실시예에 따르면, 상기 프로세서는 상기 플랫폼 리셋을 완료하면, 상기 보호 영역에 지정된 파일이 존재하는지를 확인할 수 있다. 상기 프로세서는 상기 지정된 파일이 존재하면, 상기 메모리를 잠금 모드(lcok mode)로 설정하는 FBE(file-based encryption) 동작을 스킵(skip)할 수 있다.According to one embodiment, when the processor completes the platform reset, it can check whether a file designated in the protection area exists. If the processor finds that the designated file exists, it can skip the file-based encryption (FBE) operation of setting the memory to lock mode.

일 실시예에 따르면, 상기 프로세서는 상기 FBE 동작을 스킵함에 따라, 상기 메모리에 저장된 설정 정보를 기반으로 상기 전자 장치의 설정(예: 볼륨 설정, 데이터 연결 설정)을 재부팅 되기 이전의 설정으로 복원할 수 있다. According to one embodiment, the processor can skip the FBE operation and restore the settings of the electronic device (e.g., volume settings, data connection settings) to the settings prior to rebooting based on the setting information stored in the memory.

본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.The electronic device according to the various embodiments disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.

본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish said components from other said components and do not limit said components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as “coupled” or “connected” to another (e.g., 2nd) component, with or without the terms “functionally” or “communicationly,” it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.

본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” as used in the various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document may be implemented as software (e.g., program (140)) comprising one or more instructions stored in a storage medium (e.g., internal memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one of the one or more instructions stored in the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, ‘non-temporary’ simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to the various embodiments disclosed herein may be provided as included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or distributed online (e.g., download or upload) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to various embodiments, one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

Claims (20)

전자 장치에 있어서,
메모리; 및
프로세서를 포함하고,
상기 프로세서는,
상기 메모리의 상태를 확인하고,
상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우,
재부팅 알람을 등록하고,
재부팅 값을 지정된 값으로 설정하되, 상기 지정된 값은 상기 메모리에 대한 잠금 설정 및 커널 구성을 포함한 제1 구성요소들에 대한 재부팅을 실행하는 제1 리셋 방식 및 상기 메모리에 대한 잠금 없이 상기 제1 구성요소들 중 상기 커널 구성을 제외한 제2 구성요소들에 대한 재부팅을 실행하는 제2 리셋 방식 중 상기 제2 리셋 방식을 나타내는 값이고,
상기 재부팅 알람에 해당하는 시각이 되는 경우, 상기 전자 장치의 사용 유무를 확인하고,
상기 전자 장치가 사용 중이 아닌 경우,
상기 전자 장치를 재부팅하기 전, 상기 전자 장치의 진동 기능, 오디오 기능 및 데이터 연결 기능 중 적어도 하나의 기능을 오프(off) 상태로 설정하고,
상기 지정된 값을 기반으로, 상기 메모리에 대한 잠금 없이 상기 제2 구성요소들에 대한 재부팅을 실행하는 전자 장치.
In electronic devices,
Memory; and
Includes a processor,
The above processor is,
Check the status of the above memory, and
When detecting a memory shortage based on the above verification result,
Register a reboot alarm,
A reboot value is set to a specified value, wherein the specified value is a value representing the second reset method among a first reset method that executes a reboot of the first components including a lock setting for the memory and a kernel configuration, and a second reset method that executes a reboot of the second components excluding the kernel configuration among the first components without a lock on the memory.
When the time corresponding to the above reboot alarm arrives, check whether the above electronic device is in use, and
When the above electronic device is not in use,
Before rebooting the electronic device, at least one of the vibration function, audio function, and data connection function of the electronic device is set to an off state, and
An electronic device that performs a reboot of the second components without locking the memory based on the above-specified value.
제1항에 있어서,
상기 프로세서는,
상기 전자 장치를 재부팅 하기 전, 상기 전자 장치의 설정 정보를 저장하는 전자 장치.
In paragraph 1,
The above processor is,
An electronic device that stores setting information of the electronic device before rebooting the electronic device.
제2항에 있어서,
상기 프로세서는,
상기 전자 장치의 재부팅이 완료된 후, 지정된 시간이 경과되는 경우, 상기 저장된 설정 정보를 기반으로, 상기 전자 장치의 설정을 복원하는 전자 장치.
In paragraph 2,
The above processor is,
An electronic device that restores the settings of the electronic device based on the stored setting information when a specified time has elapsed after the reboot of the electronic device is completed.
제2항에 있어서,
상기 설정 정보는,
상기 전자 장치가 재부팅 되기 이전의 볼륨 정보 및 데이터 연결 상태 정보를 포함하는 전자 장치.
In paragraph 2,
The above setting information is,
An electronic device comprising volume information and data connection status information prior to the electronic device being rebooted.
제3항에 있어서,
상기 프로세서는,
상기 전자 장치를 재부팅 하기 전, 상기 전자 장치의 데이터 연결 팝업의 출력이 오프되도록 상기 데이터 연결 기능을 오프(off) 상태로 전환하고,
상기 지정된 시간이 경과되는 경우, 상기 데이터 연결 팝업의 출력을 재부팅 이전의 상태로 복원하는 전자 장치.
In paragraph 3,
The above processor is,
Before rebooting the electronic device, the data connection function is switched to an off state so that the output of the data connection popup of the electronic device is turned off, and
An electronic device that restores the output of the data connection popup to the state prior to reboot when the above-mentioned specified time has elapsed.
제3항에 있어서,
상기 지정된 시간은,
상기 전자 장치의 재부팅이 실행됨에 따라 발생하는 적어도 하나의 알림 음이 모두 발생하고 난 이후의 시간으로 지정되는 전자 장치.
In paragraph 3,
The above-mentioned time is,
An electronic device designated as a time after all at least one notification sound occurring as a result of the reboot of the electronic device is executed.
제1항에 있어서,
상기 프로세서는,
상기 전자 장치를 재부팅 하기 전, 무음 모드(silent mode)가 설정되도록 상기 진동 기능 및 상기 오디오 기능을 오프(off) 상태로 전환하고,
상기 지정된 시간이 경과되는 경우, 상기 무음 모드를 해제하는 전자 장치.
In paragraph 1,
The above processor is,
Before rebooting the electronic device, the vibration function and the audio function are switched to an off state so that silent mode is set, and
An electronic device that disables the silent mode when the above-specified time has elapsed.
제1항에 있어서,
상기 전자 장치는, 디스플레이를 더 포함하고,
상기 프로세서는,
상기 디스플레이를 오프(off) 상태로 설정하여 자동으로 재부팅을 하는 전자 장치.
In paragraph 1,
The above electronic device further includes a display,
The above processor is,
An electronic device that automatically reboots by setting the above display to the off state.
전자 장치에 있어서,
디스플레이;
메모리; 및
프로세서를 포함하고,
상기 프로세서는,
상기 메모리의 상태를 확인하고,
상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우,
상기 디스플레이를 통해 상기 전자 장치의 재부팅 시점을 선택하도록 요청하는 메시지를 출력하고,
상기 메시지에 대한 사용자 입력을 기반으로, 재부팅 알람을 등록하고,
재부팅 값을 지정된 값으로 설정하되, 상기 지정된 값은 상기 메모리에 대한 잠금 설정 및 커널 구성을 포함한 제1 구성요소들에 대한 재부팅을 실행하는 제1 리셋 방식 및 상기 메모리에 대한 잠금 없이 상기 제1 구성요소들 중 상기 커널 구성을 제외한 제2 구성요소들에 대한 재부팅을 실행하는 제2 리셋 방식 중 상기 제2 리셋 방식을 나타내는 값이고,
상기 재부팅 알람에 해당하는 시각이 되는 경우, 상기 전자 장치의 사용 유무를 확인하고,
상기 전자 장치가 사용 중이 아닌 경우,
상기 전자 장치를 재부팅하기 전, 상기 전자 장치의 진동 기능, 오디오 기능 및 데이터 연결 기능 중 적어도 하나의 기능을 오프(off) 상태로 설정하고,
상기 지정된 값을 기반으로, 상기 메모리에 대한 잠금 없이 상기 제2 구성요소들에 대한 재부팅을 실행하는 전자 장치.
In electronic devices,
display;
Memory; and
Includes a processor,
The above processor is,
Check the status of the above memory, and
When detecting a memory shortage based on the above verification result,
Output a message requesting the selection of a reboot point of the electronic device through the above display, and
Based on user input regarding the above message, register a reboot alarm, and
A reboot value is set to a specified value, wherein the specified value is a value representing the second reset method among a first reset method that executes a reboot of the first components including a lock setting for the memory and a kernel configuration, and a second reset method that executes a reboot of the second components excluding the kernel configuration among the first components without a lock on the memory.
When the time corresponding to the above reboot alarm arrives, check whether the above electronic device is in use, and
When the above electronic device is not in use,
Before rebooting the electronic device, at least one of the vibration function, audio function, and data connection function of the electronic device is set to an off state, and
An electronic device that performs a reboot of the second components without locking the memory based on the above-specified value.
전자 장치의 동작 방법에 있어서,
메모리의 상태를 확인하는 동작;
상기 확인 결과를 기반으로, 상기 메모리의 부족 상태를 검출하는 경우:
재부팅 알람을 등록하는 동작;
재부팅 값을 지정된 값으로 설정하되, 상기 지정된 값은 상기 메모리에 대한 잠금 설정 및 커널 구성을 포함한 제1 구성요소들에 대한 재부팅을 실행하는 제1 리셋 방식 및 상기 메모리에 대한 잠금 없이 상기 제1 구성요소들 중 상기 커널 구성을 제외한 제2 구성요소들에 대한 재부팅을 실행하는 제2 리셋 방식 중 상기 제2 리셋 방식을 나타내는 값인 동작;
상기 재부팅 알람에 해당하는 시각이 되는 경우, 상기 전자 장치의 사용 유무를 확인하는 동작;
상기 전자 장치가 사용 중이 아닌 경우,
상기 전자 장치를 재부팅하기 전, 상기 전자 장치의 진동 기능, 오디오 기능 및 데이터 연결 기능 중 적어도 하나의 기능을 오프(off) 상태로 설정하는 동작; 및
상기 지정된 값을 기반으로, 상기 메모리에 대한 잠금 없이 상기 제2 구성요소들에 대한 재부팅을 하는 동작을 포함하는 방법.
In the method of operating an electronic device,
Operation to check the state of memory;
When detecting a memory shortage based on the above verification result:
Action to register a reboot alarm;
An operation in which a reboot value is set to a specified value, wherein the specified value is a value representing the second reset method among a first reset method that executes a reboot of the first components including a lock setting for the memory and a kernel configuration, and a second reset method that executes a reboot of the second components excluding the kernel configuration among the first components without a lock on the memory;
An operation to check whether the electronic device is in use when the time corresponding to the above reboot alarm arrives;
When the above electronic device is not in use,
Before rebooting the electronic device, the operation of setting at least one of the vibration function, audio function, and data connection function of the electronic device to an off state; and
A method comprising the operation of rebooting the second components without locking the memory based on the specified value.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020200097680A 2020-08-04 2020-08-04 Method for rebooting and electronic device supporting same Active KR102968552B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200097680A KR102968552B1 (en) 2020-08-04 2020-08-04 Method for rebooting and electronic device supporting same
PCT/KR2021/009118 WO2022030798A1 (en) 2020-08-04 2021-07-15 Rebooting method and electronic device for supporting same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200097680A KR102968552B1 (en) 2020-08-04 2020-08-04 Method for rebooting and electronic device supporting same

Publications (2)

Publication Number Publication Date
KR20220017331A KR20220017331A (en) 2022-02-11
KR102968552B1 true KR102968552B1 (en) 2026-05-26

Family

ID=80117306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200097680A Active KR102968552B1 (en) 2020-08-04 2020-08-04 Method for rebooting and electronic device supporting same

Country Status (2)

Country Link
KR (1) KR102968552B1 (en)
WO (1) WO2022030798A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076184A1 (en) * 2003-10-01 2005-04-07 Schumacher Michael K. Apparatus and method for detecting memory leaks
US20080294936A1 (en) * 2007-05-25 2008-11-27 International Business Machines Corporation Software memory leak analysis using memory isolation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706955B2 (en) * 2011-07-01 2014-04-22 Apple Inc. Booting a memory device from a host
US8977879B2 (en) * 2012-03-30 2015-03-10 Motorola Solutions, Inc. Method and apparatus for enhancing a multi-stage hibernate and resume process
KR102500608B1 (en) * 2016-01-28 2023-02-16 삼성전자주식회사 Electronic device for controlling application and method of operating the same
KR102516940B1 (en) * 2018-03-06 2023-04-04 삼성전자주식회사 Electronic device for performing a booting and method of operating the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076184A1 (en) * 2003-10-01 2005-04-07 Schumacher Michael K. Apparatus and method for detecting memory leaks
US20080294936A1 (en) * 2007-05-25 2008-11-27 International Business Machines Corporation Software memory leak analysis using memory isolation

Also Published As

Publication number Publication date
KR20220017331A (en) 2022-02-11
WO2022030798A1 (en) 2022-02-10

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11 Amendment of application requested

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

D22 Grant of ip right intended

Free format text: ST27 STATUS EVENT CODE: A-1-2-D10-D22-EXM-PE0701 (AS PROVIDED BY THE NATIONAL OFFICE)

PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

F11 Ip right granted following substantive examination

Free format text: ST27 STATUS EVENT CODE: A-2-4-F10-F11-EXM-PR0701 (AS PROVIDED BY THE NATIONAL OFFICE)

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

U11 Full renewal or maintenance fee paid

Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U11-OTH-PR1002 (AS PROVIDED BY THE NATIONAL OFFICE)

Year of fee payment: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

Q13 Ip right document published

Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE)

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000