Computer operating system using compressed ROM image in RAM
First Claim
1. A method of operating a computer system, the computer system including a first storage device and an operating system, the method comprising, as part of initializing the computer system:
- loading a compressed first portion of the operating system from a second storage device into the first storage device;
decompressing the compressed first portion of the operating system; and
executing the decompressed first portion of the operating system from the first storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
A low-level portion of the operating system of a computer system is separated from an intermediate-level portion of the operating system. The low-level portion, including hardware-specific code, is stored in a relatively small read-only memory (ROM), while at least part of the intermediate-level portion is stored as a compressed ROM image on a disk or other mass storage device, which may be located remotely from the computer system. Upon power-up or reset of the computer system, the code in the ROM is executed to read the compressed ROM image into random access memory (RAM) of the computer system. The compressed image is then decompressed and executed as part of the boot sequence. Once decompressed, the portion of RAM storing the intermediate-level code is write-protected in the memory map, and the code in boot ROM is deleted from the memory map. Memory space in RAM that is allocated to the intermediate-level code but not used is returned to the operating system for use as part of system RAM.
55 Citations
41 Claims
-
1. A method of operating a computer system, the computer system including a first storage device and an operating system, the method comprising, as part of initializing the computer system:
-
loading a compressed first portion of the operating system from a second storage device into the first storage device;
decompressing the compressed first portion of the operating system; and
executing the decompressed first portion of the operating system from the first storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of operating a computer system, the computer system including a first storage device, a second storage device, and an operating system, the method comprising:
-
executing a first portion of the operating system stored in the first storage device to cause a second portion of the operating system stored in a storage device other than the first storage device to be read into the second storage device, the second portion of the operating system including a third portion and a compressed fourth portion; and
executing the third portion to cause the fourth portion to be decompressed. - View Dependent Claims (12, 13, 14, 15, 16, 17, 19, 20, 21)
-
-
18. A method of operating a computer system, the computer system including a read-only memory (ROM), a random access memory (RAM), and an operating system, the method comprising, as part of an initialization sequence of the computer system:
-
executing a first portion of the operating system stored in the ROM to locate a second portion of the operating system stored outside the ROM, at least part of the second portion being compressed;
storing the second portion of the operating system in the second RAM;
decompressing the compressed part of the second portion of the operating system;
executing at least part of the second portion of the operating system to;
retrieve first data indicative of a hardware configuration of the computer system from the ROM;
store second data corresponding to the first data in the RAM memory; and
use the second data to dynamically configure the second portion of the operating system.
-
-
22. A method of operating a computer system, the computer system including a random access memory (RAM), a read-only memory ROM), a non-volatile storage device separate from the ROM, and an operating system, the method comprising, as part of a boot sequence of the computer system:
-
executing a first, low-level portion of the operating system stored in the ROM to;
locate a second, compressed portion of the operating system stored in the non-volatile storage device, wherein the second, compressed portion of the operating system is an intermediate-level portion of the operating system; and
store the second portion of the operating system in the RAM;
decompressing the second portion of the operating system;
executing at least part of the second portion of the operating system from the RAM to query the first portion of the operating system stored in the ROM to determine a hardware configuration of the computer system;
store data indicative of the hardware configuration of the computer system in the RAM; and
exclude the first portion of the operating system stored in the ROM from an address space of the computer system. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
23. A device for use in a computer system, the computer system including a processor and a random access memory (RAM) and operating according to operating system code, the device comprising:
-
means for reading a compressed image of a first portion of the operating system code from a non-volatile storage device and storing the compressed image in the RAM;
means for decompressing the compressed image of the first portion of the operating system code in the RAM; and
means for executing the first portion of the operating system code from the RAM.
-
-
32. A computer system comprising:
-
a processor for controlling the computer system based on an operating system;
a first memory coupled to the processor;
a second memory coupled to the processor, the second memory having stored therein a first portion of the operating system, including instructions which configure the processor to, as part of a boot sequence of the computer system;
locate and retrieve a second portion of the operating system from a storage device; and
store the second portion of the operating system in the first memory;
wherein the second portion of the operating system includes a third portion and a compressed fourth portion, and wherein the third portion includes instructions which configure the processor to decompress the fourth portion. - View Dependent Claims (33, 34, 35, 36, 37, 39, 40, 41)
-
-
38. A computer system comprising:
-
a processor for controlling the computer system based on an operating system;
a random access memory (RAM) coupled to the processor;
a read-only memory (ROM) coupled to the processor, the ROM having stored therein a first portion of the operating system, including instructions which configure the processor to, as part of a boot sequence of the computer system;
locate a second portion of the operating system, at least part of which is compressed; and
store the second portion of the operating system in the RAM;
wherein the second portion of operating system includes instructions which configure the processor to;
decompress the compressed part of the second portion of the operating system in the RAM;
retrieve first data indicative of a hardware configuration of the computer system from the ROM; and
store second data corresponding to the first data in the RAM.
-
Specification