Computer system having suspend once resume many sessions
First Claim
1. A computer system comprising:
- (a) a processing unit;
(b) volatile memory in circuit communication with said processing unit and for storing volatile memory data;
(c) volatile registers in circuit communication with said processing unit and for storing volatile register data;
(d) a non-volatile storage device in circuit communication with said processing unit, said non-volatile storage device having stored thereon at least one system state;
(e) a suspend once resume many (SORM) flag in circuit communication with said processing unit and said control unit, said SORM flag having at least a first state and a second state;
(f) a control unit in circuit communication with said processing unit and said non-volatile storage device; and
(g) a power supply in circuit communication with said processing unit, said volatile memory, and said volatile registers, said power supply selectively providing system power to said processing unit, said volatile memory, and said volatile registers responsive to said control unit;
(1) said control unit selectively causing at least portions of said at least one system state to be transferred from said non-volatile storage device to said processing unit, said volatile memory, and said volatile registers responsive to a first power management command; and
(2) said control unit causing said power supply to cease providing system power to said processing unit, said volatile memory, and said volatile registers without the volatile memory data and the volatile register data being stored on said non-volatile storage device responsive to a second power management command while said SORM flag is in a particular one of said two states, thereby maintaining the at least one system state on said non-volatile storage device.
3 Assignments
0 Petitions
Accused Products
Abstract
A computer system having suspend and resume capabilities using suspend once resume many (SORM) sessions. In SORM sessions, the state of the computer system at a particular point in time is saved to the nonvolatile memory, e.g., hard drive, so that that exact system state can be resumed from the hard drive. However, the system state is discarded (not saved to the hard drive) when the user is finished with that particular session. Also, with SORM sessions, the suspend file always stays the same; therefore, a computer system resumed from a SORM suspend file is always resumed to a fixed, predetermined state. SORM sessions also facilitate operating systems executing software designed to execute on another operating system. By using the SORM sessions of the present invention, the first operating system can suspend, resume a SORM session containing the second operating system, allow the second operating system to execute the desired program, discard the SORM session, and resume the first operating system where it was interrupted.
-
Citations
20 Claims
-
1. A computer system comprising:
-
(a) a processing unit; (b) volatile memory in circuit communication with said processing unit and for storing volatile memory data; (c) volatile registers in circuit communication with said processing unit and for storing volatile register data; (d) a non-volatile storage device in circuit communication with said processing unit, said non-volatile storage device having stored thereon at least one system state; (e) a suspend once resume many (SORM) flag in circuit communication with said processing unit and said control unit, said SORM flag having at least a first state and a second state; (f) a control unit in circuit communication with said processing unit and said non-volatile storage device; and (g) a power supply in circuit communication with said processing unit, said volatile memory, and said volatile registers, said power supply selectively providing system power to said processing unit, said volatile memory, and said volatile registers responsive to said control unit; (1) said control unit selectively causing at least portions of said at least one system state to be transferred from said non-volatile storage device to said processing unit, said volatile memory, and said volatile registers responsive to a first power management command; and (2) said control unit causing said power supply to cease providing system power to said processing unit, said volatile memory, and said volatile registers without the volatile memory data and the volatile register data being stored on said non-volatile storage device responsive to a second power management command while said SORM flag is in a particular one of said two states, thereby maintaining the at least one system state on said non-volatile storage device. - View Dependent Claims (2, 3, 4)
-
-
5. A method of controlling code executing in a computer system, comprising the steps of:
-
(a) loading a first stored computer state from a nonvolatile storage device to the computer system, thereby placing the computer system into a first computer state; (b) executing code retrieved from the first stored computer state, thereby generating a modified first computer state; and (c) discarding the modified first computer state, thereby maintaining the first stored computer state on the nonvolatile storage device. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. A computer system, comprising:
-
(a) means for loading a first stored computer state from a nonvolatile storage device to the computer system, thereby placing the computer system into a first computer state; (b) means for executing code retrieved from the first stored computer state, thereby generating a modified first computer state; and (c) means for discarding the modified first stored computer state, thereby maintaining the first stored computer state on the nonvolatile storage device. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A method of controlling code executing in a computer system having a first operating system and a second operating system different than the first operating system, comprising the steps of:
-
(a) executing code via the first operating system, thereby placing the computer system into a first computer state; (b) storing the first computer state to a nonvolatile storage device, thereby creating a first stored computer state on the nonvolatile storage device; (c) loading a second stored computer state from the nonvolatile storage device to the computer system, said second stored computer state having associated therewith the second operating system, thereby placing the computer system into a second computer state; (d) executing code retrieved from the second stored computer state via the second operating system, thereby generating a modified second computer state; (e) discarding the modified second computer state, thereby maintaining the second stored computer state on the nonvolatile storage device; and (f) loading the first stored computer state from the nonvolatile storage device to the computer system, thereby placing the computer system into the first computer state.
-
-
20. A computer system capable of executing code via a first operating system and via a second operating system different than the first operating system, comprising:
-
(a) means for executing code via the first operating system, thereby placing the computer system into a first computer state; (b) means for storing the first computer state to a nonvolatile storage device, thereby creating a first stored computer state on the nonvolatile storage device; (c) means for loading a second stored computer state from the nonvolatile storage device to the computer system, said second stored computer state having associated therewith the second operating system, thereby placing the computer system into a second computer state; (d) means for executing code retrieved from the second stored computer state via the second operating system, thereby generating a modified second computer state; (e) means for discarding the modified second computer state, thereby maintaining the second stored computer state on the nonvolatile storage device; and (f) means for loading the first stored computer state from the nonvolatile storage device to the computer system, thereby placing the computer system into the first computer state.
-
Specification