Task switching with state preservation for programs running on an electronic device
First Claim
1. A method of managing a memory device in an electronic device, the method comprising the steps of:
- storing a first program and a user data of the first program in the memory device during execution of the first program;
determining a second program to be executed by the electronic device, wherein the determining step comprises the step of;
generating a plurality of programs installed on the electronic device available to be executed wherein the plurality of programs are selected from the group of;
programs designed to be generated based on the first program and programs previously designated by a user of the electronic device to be generated based on the first program;
storing a program state of the first program into a first context packet in a response to a selection of the second program;
saving the first context packet in the memory device;
releasing temporary memory used for the first program so as to allow other programs to use the temporary memory after storing the program state of the first program into the first context packet;
storing the second program and a user data of the determined second program in the memory device; and
upon receiving a request to execute a third program, suspending or terminating the execution of the second program and executing the third program based on a second context packet wherein the request to execute the third program is a request to resume execution of the first program and executing the third program is executing the first program based on the second context packet and wherein the resuming execution of the first program step further comprises the steps of;
searching a plurality of context packets related to the first program; and
selecting the second context packet from the plurality of context packets related to the first program.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system providing switching between a plurality of installed programs in a computer system. Embodiments include a jump function comprising the steps: (1) determining a jump program that is to be the next program to be run, possibly from a plurality of possible choices; (2) creating input data for the jump program based on data in the current program; (3) storing the program state of the currently running program into a context packet and saving the context packet to memory; (4) releasing temporary memory that is used by the program, so as to allow other programs to use the memory; (5) calling the jump program with the created input data as input and terminating the currently running program.
-
Citations
12 Claims
-
1. A method of managing a memory device in an electronic device, the method comprising the steps of:
-
storing a first program and a user data of the first program in the memory device during execution of the first program; determining a second program to be executed by the electronic device, wherein the determining step comprises the step of;
generating a plurality of programs installed on the electronic device available to be executed wherein the plurality of programs are selected from the group of;
programs designed to be generated based on the first program and programs previously designated by a user of the electronic device to be generated based on the first program;storing a program state of the first program into a first context packet in a response to a selection of the second program; saving the first context packet in the memory device; releasing temporary memory used for the first program so as to allow other programs to use the temporary memory after storing the program state of the first program into the first context packet; storing the second program and a user data of the determined second program in the memory device; and upon receiving a request to execute a third program, suspending or terminating the execution of the second program and executing the third program based on a second context packet wherein the request to execute the third program is a request to resume execution of the first program and executing the third program is executing the first program based on the second context packet and wherein the resuming execution of the first program step further comprises the steps of;
searching a plurality of context packets related to the first program; and
selecting the second context packet from the plurality of context packets related to the first program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An electronic device comprising:
-
means for storing a first program and a user data of a first program in the memory device during execution of the first program; means for determining a second program to be executed by the electronic device, wherein the determining means comprises means for generating a plurality of programs installed on the electronic device available to be executed wherein the plurality of programs are selected from the group of;
programs designed to be generated based on the first program and programs previously designated by a user of the electronic device to be generated based on the first program;means for storing a program state of the first program into a first context packet in a response to a selection of the second program; means for saving the first context packet in the memory device; means for releasing temporary memory used for the first program so as to allow other programs to use the temporary memory after storing the program state of the first program into the first context packet; means for storing the second program and a user data of the determined second program in the memory device; and means for receiving a request to execute the first program; and means for suspending or terminating the execution of the second program and resuming execution of the first program based on a second context packet wherein the resuming execution of the first program step further comprises means for searching a plurality of context packets related to the first program; and
means for selecting the second context packet from the plurality of context packets related to the first program.
-
-
12. An electronic device comprising:
-
a processor; a display device; an input device; a memory device; and a bus connecting the processor, the display device, the input device and the memory device, wherein the memory device comprises instructions when executed by the processor cause the electronic device to implement the steps of; storing a first program and a user data of a first program in the memory device during execution of the first program; determining a second program to be executed by the electronic device, wherein the determining step comprises the step of;
generating a plurality of programs installed on the electronic device available to be executed wherein the plurality of programs are selected from the group of;
programs designed to be generated based on the first program and programs previously designated by a user of the electronic device to be generated based on the first program;storing a program state of the first program into a first context packet in a response to a selection of the second program; saving the first context packet in the memory device; releasing temporary memory used for the first program so as to allow other programs to use the temporary memory after storing the program state of the first program into the first context packet; storing the second program data and a user data of the determined second program in the memory device; and upon receiving a request to execute a third program, suspending or terminating the execution of the second program and executing the third program based on a second context packet wherein the request to execute the third program is a request to resume execution of the first program and executing the third program is executing the first program based on the second context packet and wherein the resuming execution of the first program step further comprises the steps of;
searching a plurality of context packets related to the first program; and
selecting the second context packet from the plurality of context packets related to the first program.
-
Specification