IP Library Granted Patent US 8,516,237
Granted Patent B2
US 8,516,237 · App. 12/686,203 · Granted Aug 20, 2013

Method and system for providing information to a subsequent operating system

Inventors: Sherry Qianhong Moore (Fremont, CA); Konstantin Ananyev (Naas, IE); Darrin P. Johnson (San Jose, CA)
Assignee: Oracle America, Inc.
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 8,516,237
App. No.
12/686,203
Granted
Aug 20, 2013
Kind
B2
Abstract

A method for transferring execution to a subsequent operating system. The method includes rebooting a computer system. Rebooting the computer system includes initializing an in-kernel boot loader. The in-kernel boot loader executes in a kernel of an initial operating system. Rebooting the computer system further includes populating, by the in-kernel boot loader, an initialization data structure using system data gathered during the execution of the initial operating system, loading, by the in-kernel boot loader, the subsequent operating system, and transferring control of the computer system from the initial operating system to the subsequent operating system. The subsequent operating system accesses the initialization data structure to identify available hardware. The method further includes executing the subsequent operating system on the available hardware of the computer system.

Claims (75)

1. A method for transferring execution to a subsequent operating system, the method comprising:

receiving, by a fault management architecture, an error about a hardware component located in a computer system during execution of the initial operating system;

detecting, based on the error, a hardware fault of the hardware component;

disabling the hardware component based on the hardware fault during execution of the initial operating system;

storing, by the fault management architecture during execution of the initial operating system and as part of system data, fault data identifying the hardware component and identifying the disabling of the hardware component;

rebooting the computer system by:

initializing an in-kernel boot loader, wherein the in-kernel boot loader executes in a kernel of the initial operating system;

populating, by the in-kernel boot loader, an initialization data structure using the system data gathered during the execution of the initial operating system, wherein populating the initialization data structure comprises:

generating an available hardware list of available hardware using the system data; and

excluding, while generating the available hardware list, the hardware component from the available hardware list based on the fault data identifying the hardware component and the disabling of the hardware component;

storing, by the in-kernel boot loader, the initialization data structure in memory, wherein the memory is separate from a file system of the initial operating system and the subsequent operating system;

loading, by the in-kernel boot loader, the subsequent operating system; and

transferring control of the computer system from the initial operating system to the subsequent operating system, wherein the subsequent operating system accesses the initialization data structure from the memory to identify the available hardware; and

executing the subsequent operating system on the available hardware of the computer system.

2. The method of claim 1 , wherein the available hardware is a subset of hardware comprised in the computer system.

3. The method of claim 1 , wherein the hardware fault is transient.

4. The method of claim 1 , further comprising:

detecting a failure of the initial operating system;

storing, in the initialization data structure, an identifier of a used portion of the memory, wherein the used portion of the memory is used by the initial operating system during failure of the initial operating system;

accessing, by the subsequent operating system, the initialization data structure to obtain the identifier of the used portion of the memory; and

performing, by the subsequent operating system, a core dump of the used portion of the memory.

5. The method of claim 4 , further comprising:

storing, in the initialization data structure, an identifier of an available portion of the memory,

wherein the subsequent operating system executes using the available portion of the memory while the subsequent operating system is performing the core dump of the used portion of the memory, and

wherein the subsequent operating system uses the used portion of the memory and the available portion of the memory after the core dump is completed.

6. The method of claim 4 , wherein a subset of available processors execute the subsequent operating system while performing the core dump, and wherein all of the available processors execute the subsequent operating system after the core dump is completed.

7. The method of claim 6 , wherein the initialization data comprises an identifier of the subset of the available processors.

8. A computer system comprising:

a processor;

memory for storing an initialization data structure, wherein the memory is separate from a file system of an initial operating system and a subsequent operating system; and

software instructions stored in the memory for causing the computer system to:

receive, by a fault management architecture, an error about a hardware component located in the computer system during execution of the initial operating system;

detect, based on the error, a hardware fault of the hardware component;

disable the hardware component based on the hardware fault during execution of the initial operating system;

store, by the fault management architecture during execution of the initial operating system and as part of system data, fault data identifying the hardware component and identifying the disabling of the hardware component;

reboot a computer system by:

initializing an in-kernel boot loader, wherein the in-kernel boot loader executes in a kernel of the initial operating system;

populating, by the in-kernel boot loader, the initialization data structure using the system data gathered during the execution of the initial operating system, wherein populating the initialization data structure comprises:

generating an available hardware list of available hardware using the system data and

excluding, while generating the available hardware list, the hardware component from the available hardware list based on the fault data identifying the hardware component and the disabling of the hardware component;

storing the initialization data structure in the memory;

loading, by the in-kernel boot loader, the subsequent operating system; and

transferring control of the computer system from the initial operating system to the subsequent operating system, wherein the subsequent operating system accesses the initialization data structure from the memory to identify the available hardware, and

wherein the subsequent operating system executes on the available hardware of the computer system.

9. The computer system of claim 8 , wherein the available hardware is a subset of hardware comprised in the computer system.

10. The computer system of claim 8 , wherein the hardware fault is temporary.

11. The computer system of claim 8 , wherein the software instructions further cause the computer system to detect a failure of the operating system,

wherein rebooting the computer system further comprises:

store, in the initialization data structure, an identifier of a used portion of the memory, wherein the used portion of the memory is used by the initial operating system during failure of the initial operating system; and

access, by the subsequent operating system, the initialization data structure to obtain the identifier of the used portion of the memory, and

wherein the subsequent operating system performs a core dump of the used portion of the memory.

12. The computer system of claim 11 , wherein rebooting the computer system further comprises:

storing, in the initialization data structure, an identifier of an available portion of the memory,

wherein the subsequent operating system executes using the available portion of the memory while the subsequent operating system is performing the core dump of the used portion of the memory, and

wherein the subsequent operating system uses the used portion of the memory and the available portion of the memory after the core dump is completed.

13. A non-transitory computer readable medium comprising executable instructions for transferring execution to a subsequent operating system, which when executed by a processor performs a method, the method comprising:

receiving, by a fault management architecture, an error about a hardware component located in a computer system during execution of the initial operating system;

detecting, based on the error, a hardware fault of the hardware component;

disabling the hardware component based on the hardware fault during execution of the initial operating system;

storing, by the fault management architecture during execution of the initial operating system and as part of system data, fault data identifying the hardware component and identifying the disabling of the hardware component; and

rebooting the computer system by:

initializing an in-kernel boot loader, wherein the in-kernel boot loader executes in a kernel of the initial operating system;

populating, by the in-kernel boot loader, an initialization data structure using the system data gathered during the execution of the initial operating system,

wherein populating the initialization data structure comprises:

generating an available hardware list of available hardware using the system data and

excluding, while generating the available hardware list, the hardware component from the available hardware list based on the fault data identifying the hardware component and the disabling of the hardware component;

storing, by the in-kernel boot loader, the initialization data structure in memory, wherein the memory is separate from a file system of the initial operating system and the subsequent operating system;

loading, by the in-kernel boot loader, the subsequent operating system; and

transferring control of the computer system from the initial operating system to the subsequent operating system, wherein the subsequent operating system accesses the initialization data structure from the memory to identify available hardware,

wherein the subsequent operating system executes on the available hardware of the computer system.

14. The non-transitory computer readable medium of claim 13 , wherein the method further comprises:

detecting a failure of the operating system; and

storing, in the initialization data structure, an identifier of a used portion of the memory, wherein the used portion of the memory is used by the initial operating system during failure of the initial operating system,

wherein the subsequent operating system accesses the initialization data structure to obtain the identifier of the used portion of the memory, and

wherein the subsequent operating system performs a core dump of the used portion of the memory.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2011
From: MOORE, SHERRY QIANHONG; ANANYEV, KONSTANTIN; JOHNSON, DARRIN P.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 025755/0802 →
Continuity (1)
Related Publication 20110173426A1 · Jul 14, 2011