IP Library › Granted Patent US 11,941,435
Granted Patent B2
US 11,941,435 · App. 17/168,463 · Granted Mar 26, 2024

Electronic device for rapid entry into application being run, method of operating the same, and storage medium

Inventors: Kiljae Kim (Gyeonggi-do, KR); Byungsoo Kwon (Gyeonggi-do, KR); Younghun Kim (Gyeonggi-do, KR); Jaeho Kim (Gyeonggi-do, KR); Hyunchul Seok (Gyeonggi-do, KR); Daehyun Cho (Gyeonggi-do, KR); Wonseo Choi (Gyeonggi-do, KR)
Assignee: Samsung Electronics Co., Ltd
G06F9/4881
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,941,435
App. No.
17/168,463
Granted
Mar 26, 2024
Kind
B2
Abstract

Disclosed is an electronic device including at least one processor, and a memory operatively coupled to the at least one processor. The memory stores instructions configured to enable the at least one processor to identify, in response to running of an application, a plurality of tasks related to a running operation of the application, allocate virtual runtimes to the plurality of tasks when scheduling, adjust the virtual runtime of at least one task to be run with priority among the plurality of tasks to be a minimum value, arrange the at least one task with the adjusted virtual runtime, and run the at least one task with priority according to an arrangement order.

Claims (45)

1. An electronic device comprising:

at least one processor; and

memory for storing instructions that, when executed by the at least one processor, cause

the electronic device to:

identify, in response to running of an application, a plurality of tasks related to a running operation of the application;

allocate virtual runtimes to the plurality of tasks when scheduling;

adjust the virtual runtime of at least one task among the plurality of tasks to be run with priority to be a minimum value, the at least one task being a main thread of the application;

arrange the at least one task with the adjusted virtual runtime; and

run the at least one task with priority according to an arrangement order.

2. The electronic device of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the electronic device to:

set a minimum virtual runtime when performing the scheduling; and

adjust the virtual runtime of the at least one task to be run with priority to be less than the minimum virtual runtime.

3. The electronic device of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the electronic device to identify the at least one task to be run with priority by using process identifiers (PIDs) of the plurality of tasks.

4. The electronic device of claim 1 , wherein the at least one task to be run with priority is related to a binder call.

5. The electronic device of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the electronic device to arrange the at least one task to be run with priority based on a red-black (RB) tree structure.

6. The electronic device of claim 5 , wherein the at least one task to be run with priority is allocated to a leftmost node in the RB tree.

7. The electronic device of claim 5 , wherein the instructions, when executed by the at least one processor, further cause the electronic device to, when two or more of the plurality of tasks are to be run with priority, compare the virtual runtimes of the two or more tasks and allocate a task having a minimum virtual runtime to the leftmost node of the RB tree.

8. The electronic device of claim 1 , wherein the plurality of tasks are scheduled by a complete fair scheduler (CFS).

9. A method of performing task scheduling, when an application is run in an electronic device, the method comprising:

identifying, in response to running of an application, a plurality of tasks related to a running operation of an application;

allocating virtual runtimes to the plurality of tasks, when scheduling;

adjusting the virtual runtime of at least one task among the plurality of tasks to be run with priority to be a minimum value, the at least one task being a main thread of the application;

arranging the at least one task with the adjusted virtual runtime; and

running the at least one task with priority according to an arrangement order.

10. The method of claim 9 , wherein adjusting the virtual runtime of at least one task to be run with priority to be the minimum value comprises:

setting a minimum virtual runtime, when performing the scheduling; and

adjusting the virtual runtime of the at least one task to be run with priority to be less than the minimum virtual runtime.

11. The method of claim 9 , wherein identifying the plurality of tasks related to the running operation of an application comprises identifying the at least one task to be run with priority by using process identifiers (PIDs) of the plurality of tasks.

12. The method of claim 9 , wherein the at least one task to be run with priority is related to a binder call.

13. The method of claim 9 , wherein the arrangement comprises arranging the at least one task to be run with priority based on a red-black (RB) tree structure.

14. The method of claim 13 , wherein the at least one task to be run with priority is allocated to a leftmost node in the RB tree.

15. The method of claim 13 , further comprising:

when two or more of the plurality of tasks are to be run with priority, comparing the virtual runtimes of the two or more tasks; and

allocating a task having a minimum virtual runtime to the leftmost node of the RB tree.

16. The method of claim 9 , wherein the plurality of tasks are scheduled by a complete fair scheduler (CFS).

17. A non-transitory storage medium storing instructions which, when executed by at least one processor of an electronic device, cause the electronic device to perform at least one operation,

wherein the at least one operation comprises:

identifying, in response to running of an application, a plurality of tasks related to a running operation of an application;

allocating virtual runtimes to the plurality of tasks, when scheduling;

adjusting the virtual runtime of at least one task among the plurality of tasks to be run with priority to be a minimum value, the at least one task being a main thread of the application;

arranging the at least one task with the adjusted virtual runtime; and

running the at least one task with priority according to an arrangement order.

18. The non-transitory storage medium of claim 17 , wherein adjusting the virtual runtime of at least one task to be run with priority to the minimum value comprises:

setting a minimum virtual runtime, when performing the scheduling; and

adjusting the virtual runtime of the at least one task to be run with priority to be less than the minimum virtual runtime.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2021
From: KIM, KILJAE; KWON, BYUNGSOO; KIM, YOUNGHUN; KIM, JAEHO; SEOK, HYUNCHUL; CHO, DAEHYUN; CHOI, WONSEO
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 055209/0222 →
Priority Claims (1)
KR 10-2020-0015196 · Feb 7, 2020 · national
Continuity (1)
Related Publication 20210248004A1 · Aug 12, 2021