|Publication number||USRE42727 E1|
|Application number||US 11/961,567|
|Publication date||Sep 20, 2011|
|Filing date||Dec 20, 2007|
|Priority date||May 11, 1998|
|Also published as||US6434696, USRE40092|
|Publication number||11961567, 961567, US RE42727 E1, US RE42727E1, US-E1-RE42727, USRE42727 E1, USRE42727E1|
|Original Assignee||Operating Systems Solutions, LLC|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (26), Non-Patent Citations (1), Referenced by (12), Classifications (10), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
NOTICE: More than one reissue application has been filed for the reissue of U.S. Pat. No. 6,434,696, filed May 11, 1999. The reissue applications are U.S. patent application Ser. No. 11/961,567 (the present application), filed Dec. 20, 2007, which is a continuation reissue of Ser. No. 10/918,293, filed Aug. 12, 2004 (now U.S. Reissued Pat. No. RE40,092), both of which are reissues of U.S. Pat. No. 6,434,696.
1. Field of the Invention
The present invention relates to a method of and apparatus for booting a personal computer system and, more particularly, for quickly booting a computer system, in which a boot configuration information is created and saved in a disk for future boot, and the saved boot configuration information is reused upon the request of the subsequent boot.
2. Description of the Related Art
The boot process of an IBM PC in which MS-DOS operating system is already installed is as follows. When a user turns the personal computer power switch on or presses a reset button, a power-on self test (POST) is performed by ROM BIOS codes to diagnose each component of the personal computer. Next, a file called MSDOS.SYS is loaded and executed, and another file called IO.SYS is then loaded and executed to perform certain preliminary functions related to management of such peripheral devices as keyboard, disk, and display. And then, a command preprocessor or COMMAND.COM is loaded into a memory that receives, interprets and executes user commands. A file called CONFIG.SYS that specifies devices possibly connected to the personal computer is loaded and ASCII statements contained therein are executed to load device drivers and initialize them. Finally, another ASCII file called AUTOEXEC.BAT is loaded and then programs that are listed therein are executed, thereby preparing the personal computer for use.
There two kinds of boots; “cold boots” and “warm boots”, which rely on the state of the computer system when the boot operation is requested. A “cold boot” is performed when power is applied to the computer or a reset button is pressed. When an operating system is loaded in memory already and the computer system is powered on already, a user may request a “warm boot” by entering a predefined sequence of key strokes, e.g., <Ctrl>+<Alt>+<Del>. The BIOS codes include a plurality of computer routines for controlling devices such as a system clock, video output display 6, disk controller 5, and keyboard and thus provide a low-level interface to these devices. The BIOS is generally stored in a Flash ROM.
Shortly after power on or a reset button is pressed, the CPU begins executing the ROM BIOS codes. The BIOS codes for POST are, first, executed to diagnose and initialize devices attached to the computer system and obtain the status of the devices.
When a “warm boot” is requested or a reset button is pressed, it is desirable that the time required for the boot process is reduced to force the computer into a ready state as quickly as possible. The boot process is usually called “quick boot”, which is achieved by simplifying some device diagnosis processes or loading the device status information that was obtained at the preceding boot time from a storage medium such as disk. Because the quick boot means a boot process in which some POST operations, e.g., memory test are skipped, the quick boot is generally referred to as “quick post”.
Once the boot operation is completed, a basic boot information is saved to a disk for future quick POST process (S13). After that, if a user requests a “quick boot” to reboot the personal computer (S14), the above-mentioned quick POST process is performed to reduce the time needed to complete a normal POST process. As another method, the POST process execution is skipped by using a basic boot information that was created and saved in a disk immediately after the preceding POST process is completed.
However, the conventional quick boot relies on the POST process, e.g., the omission of memory test. In other words, in the conventional quick booting method, the same operations as those of normal boot process are still performed after the quick POST process. Therefore, in case where there are a lot of ASCII statements in CONFIG.SYS and AUTOEXEC.BAT, the quick boot of the conventional art is not effective to reduction of the boot time.
According to the conventional booting method, in Windows95 installed personal computer system, working environment or all information stored in memory are saved to a disk for the subsequent quick boot. If memory size is larger than 32 MB, the amount of data to be saved to the disk becomes too large. As a result, the subsequent booting by reloading the saved data into the memory may be even slower than a normal boot.
It is therefore a primary object of the present invention to provide a method and apparatus that significantly reduces the time required for boot process after a POST operation by using a boot configuration information on memory and the attached devices that were created and saved in a disk in the preceding boot process, and thereby skipping execution of statements in an initial device configuration file and an automatic batch file.
To achieve the object, the present invention provides a method for quickly booting a personal computer system, comprising the steps of performing a POST operation when the system is powered on or a reset button is pressed; checking if a boot configuration information that was created in the preceding boot process exists in a disk; saving the boot configuration information to the disk after execution of a POST operation on the basis of the checking result; and loading a graphic user interface (GUI) program.
The method for quickly booting a computer system according to the present invention is also characterized in that it comprises the steps of performing a POST operation when the system is powered on or a reset button is pressed; restoring a boot configuration information by using the boot configuration information that has been saved in a disk; and loading a GUI program.
According to the quick booting method of the present invention, after ASCII statements listed in an initial device configuration file and an automatic batch file are executed, a boot configuration information that is resident in a memory, i.e., the status of devices and the contents of memory are saved into a disk. After that, when a reboot is requested, a computer system can be booted quickly by using the stored boot configuration information, without execution of the initial device configuration file and the automatic batch run file.
The accompanying drawings, which are included to provide a further understanding of the invention, illustrate the preferred embodiment of this invention, and together with the description, serve to explain the principles of the present invention.
In the drawings:
The preferred embodiments of the present invention will be described below in detail referring to the accompanying drawings.
The method for saving the boot configuration information to a disk will be described now in detail referring to
Next, CONFIG.SYS is loaded into the memory and statements therein are executed. CONFIG.SYS includes ASCII statements describing the size of disk buffer, the number of files that can be opened simultaneously, the names of device drivers needed to control devices attached to the computer system, and so on. After executing CONFIG.SYS, another ASCII file called AUTOEXEC.BAT is loaded into the memory. The file-names of programs that a user wants to run automatically at the boot time are listed therein, and the programs are executed (S34).
Next, a RAM-resident program is activated to replace an original INT 2Fh service routine in the ROM BIOS codes. To do this, the interrupt Vector for INT 2Fh is substituted for the address of the RAM-resident program (S35). Next, WIN.COM is executed to load Windows95 into the memory (S36). The INT 2Fh service routine is called by using software system management interrupt (software SMI) during the execution of WIN.COM. At the interrupt point, the contents of a particular register is sent to the RAM-resident program and then performs a prescribed function associated with the register contents (S37).
If the register contents is a predetermined value, e.g., 1605H, the RAM-resident program checks if there is a file that contains the boot configuration information in a disk (S38) and saves the current boot configuration information to the disk, if not (S39). WIN.COM is then executed to load a GUI program of Windows95 into the memory (S41), providing a user with Windows95 interface (S42). It should be noted that the boot configuration information is saved to the disk immediately before Windows95 loads device drivers into a memory, i.e., an extended memory is used to load GUI program of Windows95.
The operation of saving the boot configuration information to a disk (the step S39 of
The next time the computer system is powered on or reset, the saved boot configuration information is used to boot the computer system. The method for restoring the boot configuration information will be described now in detail referring to
Once power is turned on or reset button is pressed (S51), a quick POST operation including skip of memory test is executed (S52), and then it is checked whether or not there is any boot configuration information that has been saved to a disk in the preceding boot process (S52-1). If it is determined that a boot configuration information exists, the operation for its restoration is performed (S53).
The process for restoring the boot configuration information is described in detail referring to a flowchart of
Once restoration of the contents of those memory segments is completed, it is checked if CONFIG.SYS and AUTOEXEC.BAT was changed (S54). If it is determined that either CONFIG.SYS and AUTOEXEC.BAT was changed, the bootstrap loader, the INT 19h service routine is called (S55), and then the both ASCII files are loaded into a memory to execute statements therein (S56). Next, the RAM-resident program is activated to replace the original INT 2Fh service routine (S57).
Next, WIN.COM is executed to load Windows95 into the memory (S58). The INT 2Fh service routine is called through the software SMI during the execution of WIN.COM (S59) and thus the RAM-resident program is executed. The RAM-resident program, first, checks the contents of a particular register and then, if it is matched with a predetermined value, saves the current boot configuration information that is resident in the memory to the disk (S61). The method for saving the contents of memory where the boot configuration information is resided is the same as that shown in
The reason why the boot configuration information should be restored before Windows95 loads Windows95-dedicated device drivers is to reduce the amount of data on the disk that must be copied to a memory at the boot time. Because the extended memory has been not used yet at that time, even if the size of total memory is 512 MB, memory of about 7 MB only is saved to and restored from the disk, according to the methods shown in
Though the description hereinbefore may refer to terms commonly used in describing particular computer systems and software, such as IBM personal computer and Windows95 operation system, the concepts equally apply to other systems and software.
The foregoing is provided only for the purpose of illustration and explanation of the preferred embodiments of the present invention, so changes, variations and modifications may be made without departing from the spirit and scope of the invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US4885770||Sep 4, 1987||Dec 5, 1989||Digital Equipment Corporation||Boot system for distributed digital data processing system|
|US4959774||Jun 30, 1989||Sep 25, 1990||Ampex Corporation||Shadow memory system for storing variable backup blocks in consecutive time periods|
|US5155833||May 11, 1987||Oct 13, 1992||At&T Bell Laboratories||Multi-purpose cache memory selectively addressable either as a boot memory or as a cache memory|
|US5269019||Apr 8, 1991||Dec 7, 1993||Storage Technology Corporation||Non-volatile memory storage and bilevel index structure for fast retrieval of modified records of a disk track|
|US5269022||Mar 22, 1991||Dec 7, 1993||Kabushiki Kaisha Toshiba||Method and apparatus for booting a computer system by restoring the main memory from a backup memory|
|US5276890||Mar 9, 1993||Jan 4, 1994||Kabushiki Kaisha Toshiba||Resume control system and method for executing resume processing while checking operation mode of CPU|
|US5392415||Dec 15, 1992||Feb 21, 1995||International Business Machines Corporation||System for grouping non-contiguous pages belonging to a storage object for page out|
|US5513359||Jul 23, 1993||Apr 30, 1996||International Business Machines Corporation||Desktop computer having a single-switch suspend/resume function|
|US5564054||Aug 25, 1994||Oct 8, 1996||International Business Machines Corporation||Fail-safe computer boot apparatus and method|
|US5710930||Aug 4, 1995||Jan 20, 1998||Intel Corporation||Apparatus and a method for allowing an operating system of a computer system to persist across a power off and on cycle|
|US5745669||Jun 21, 1996||Apr 28, 1998||Ast Research, Inc.||System and method for recovering PC configurations|
|US5784628||Mar 12, 1996||Jul 21, 1998||Microsoft Corporation||Method and system for controlling power consumption in a computer system|
|US5870613||Apr 14, 1995||Feb 9, 1999||Smith Corona/Acer||Power mangement system for a computer|
|US5925129||Jun 7, 1995||Jul 20, 1999||International Business Machines Corporation||Desktop computer system having compressed suspend to hardfile|
|US5978913||Mar 5, 1998||Nov 2, 1999||Compaq Computer Corporation||Computer with periodic full power-on self test|
|US6073232||Feb 25, 1997||Jun 6, 2000||International Business Machines Corporation||Method for minimizing a computer's initial program load time after a system reset or a power-on using non-volatile storage|
|US6098158||Dec 18, 1997||Aug 1, 2000||International Business Machines Corporation||Software-enabled fast boot|
|US6173417||Apr 30, 1998||Jan 9, 2001||Intel Corporation||Initializing and restarting operating systems|
|US6209088||Sep 21, 1998||Mar 27, 2001||Microsoft Corporation||Computer hibernation implemented by a computer operating system|
|US6279109||Jan 7, 1999||Aug 21, 2001||Dell U.S.A., L.P.||Computing system and operating method for booting and running a graphical user interface (GUI) with r/w hard drive partition unavailable|
|US6374353||Mar 3, 1999||Apr 16, 2002||Mitsubishi Denki Kabushiki Kaisha||Information processing apparatus method of booting information processing apparatus at a high speed|
|US6401198||Mar 9, 1999||Jun 4, 2002||Texas Instruments Incorporated||Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use|
|US6529966||Aug 24, 1995||Mar 4, 2003||Microsoft Corporation||Booting a computer system using a last known good set of configuration data|
|US6567774||Jan 30, 1998||May 20, 2003||Compaq Computer Corporation||Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk|
|US6609182||Jan 20, 2000||Aug 19, 2003||Microsoft Corporation||Smart hibernation on an operating system with page translation|
|USRE40092 *||Aug 12, 2004||Feb 19, 2008||Protimus Technologies Llc||Method for quickly booting a computer system|
|1||"Fast DOS Soft Boot" IBM Technical Disclosure Bulletin, Feb. 1, 1997, vol. 37, Issue 2B, pp. 185-186.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8578144 *||Aug 4, 2010||Nov 5, 2013||International Business Machines Corporation||Partial hibernation restore for boot time reduction|
|US8667264 *||Apr 22, 2011||Mar 4, 2014||Shuttle Inc.||Expedited computer boot system and method|
|US8707018 *||Jun 28, 2011||Apr 22, 2014||Emc Corporation||Managing initialization of file systems|
|US9317209||Oct 31, 2014||Apr 19, 2016||Microsoft Technology Licensing, Llc||Using external memory devices to improve system performance|
|US9323460||Mar 20, 2015||Apr 26, 2016||Microsoft Technology Licensing, Llc||Assigning priorities to data for hybrid drives|
|US9348604 *||Apr 24, 2013||May 24, 2016||Dell Products L.P.||System and method for inventory collection optimization by selective binding of the pre-boot drivers|
|US9361183||Apr 22, 2014||Jun 7, 2016||Microsoft Technology Licensing, Llc||Aggregation of write traffic to a data store|
|US9405693||Jul 23, 2012||Aug 2, 2016||Microsoft Technology Licensing, Llc||Non-volatile memory cache performance improvement|
|US9448890||Jan 5, 2012||Sep 20, 2016||Microsoft Technology Licensing, Llc||Aggregation of write traffic to a data store|
|US20120036346 *||Aug 4, 2010||Feb 9, 2012||International Business Machines Corporation||Partial hibernation restore for boot time reduction|
|US20120239918 *||Apr 22, 2011||Sep 20, 2012||Shuttle Inc.||Expedited computer boot system and method|
|US20140325196 *||Apr 24, 2013||Oct 30, 2014||Dell Products L.P.||System and Method for Inventory Collection Optimization by Selective Binding of the Pre-Boot Drivers|
|U.S. Classification||713/2, 713/1|
|International Classification||G06F9/455, G06F9/445|
|Cooperative Classification||G06F1/24, G06F9/4401, G06F9/4418|
|European Classification||G06F1/24, G06F9/44A, G06F9/44A6|
|Apr 28, 2011||AS||Assignment|
Owner name: LG ELECTRONICS INC., KOREA, REPUBLIC OF
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KANG, SEONG-CHEOL;REEL/FRAME:026192/0597
Effective date: 19990506
Owner name: MICROCONNECT LLC, ILLINOIS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LG ELECTRONICS INC.;REEL/FRAME:026192/0974
Effective date: 20031119
Effective date: 20071028
Owner name: PROTIMUS TECHNOLOGIES LLC, DISTRICT OF COLUMBIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROCONNECT LLC;REEL/FRAME:026193/0029
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PROTIMUS TECHNOLOGIES LLC;REEL/FRAME:026193/0148
Owner name: ANPA INC., KOREA, REPUBLIC OF
Effective date: 20080701
|Jul 26, 2011||AS||Assignment|
Owner name: OPERATING SYSTEMS SOLUTIONS, LLC, FLORIDA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ANPA INC.;REEL/FRAME:026648/0843
Effective date: 20110303
|Mar 21, 2014||REMI||Maintenance fee reminder mailed|
|Aug 13, 2014||LAPS||Lapse for failure to pay maintenance fees|