Abstract:
According to an aspect of an embodiment, an apparatus operable under an operating system having an input device for inputting information, the apparatus being activated by booting a BIOS and the operating system successively comprises, a storage for storing information; and a processor receiving specific information inputted by the input device before completion of booting the operating system, storing the specific information into the storage, determining whether or not the specific information is stored in the storage after completion of booting the operating system, rebooting the BIOS when the specific information is stored in the storage and displaying information related to the BIOS.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a method for displaying a setup screen of a basic input output system (BIOS). 
     2. Description of the Related Art 
     The following documents have been disclosed as the related art: 
     Japanese Unexamined Patent Application Publication No. 6-89121; 
     Japanese Unexamined Patent Application Publication No. 2004-199128; and 
     Japanese Unexamined Patent Application Publication No. 2006-91946. 
     SUMMARY 
     According to an aspect of an embodiment, an apparatus operable under an operating system having an input device for inputting information, the apparatus being activated by booting a BIOS and the operating system successively comprises, a storage for storing information; and a processor receiving specific information inputted by the input device before completion of booting the operating system, storing the specific information into the storage, determining whether or not the specific information is stored in the storage after completion of booting the operating system, rebooting the BIOS when the specific information is stored in the storage and displaying information related to the BIOS successively. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic diagram of a personal computer (PC); 
         FIG. 2  is a block diagram showing an overall structure of hardware of the PC; 
         FIG. 3  is a functional block diagram of display processing; 
         FIG. 4  is a diagram showing a BIOS setup screen; 
         FIG. 5  is a diagram showing a boot menu screen; 
         FIG. 6  is a part of a flowchart of the entire processing; 
         FIG. 7  is the remaining part of the flowchart of the entire processing; and 
         FIG. 8  is a flowchart of interrupt processing. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The realization of high-speed boot-up processing has been desired for PCs, and time required to start a BIOS and to load an operating system (OS) has been shortened. 
     However, with such a shortened starting time, a key-operation time allowed for selecting entry of a BIOS setup screen or the like during a power-on self-test (POST) has also been shortened. Thus, some users who want to enter the BIOS setup screen may not be able to operate a certain key because of the short key-operation time. As a result, the users fail to enter the BIOS setup screen and may feel frustrated. 
     The realization of higher-speed boot-up processing causes the key-operation time to be shorter. As a result, this will increase users&#39; frustration. 
     Embodiments will be described below with reference to the attached drawings. 
       FIG. 1  is a schematic diagram of a PC. A PC  100  includes a PC system unit  102 , a display  106 , a keyboard  107 , and a mouse  108 . A central processing unit (CPU), a memory, and the like are built in the PC system unit  102 . The display  106  displays an image on a display screen  104  on the basis of a command sent from the PC system unit  102 . The keyboard  107  is operated to issue a command to the PC system unit  102  by a user. The mouse  108  causes a mouse cursor to move onto an icon on the display screen  104  and causes a command to be issued corresponding to the icon in response to a mouse button thereof being clicked. 
     The PC system unit  102  further includes a power button  109  for turning on the PC  100 , a universal serial bus (USB) connector  110  based on USB standards, a CD/DVD loading slot  105  into which a compact disc (CD) or a digital versatile disk (DVD) is loaded, and a Floppy® disk (FD) loading slot  111  into which an FD is loaded. 
     Block Diagram of PC Hardware: 
       FIG. 2  is a schematic block diagram showing an example of a hardware configuration of the PC  100  shown in  FIG. 1 . Note that a block shown in  FIG. 2  will be denoted by the same reference numeral as the corresponding component shown in  FIG. 1 . 
     A CPU  114 , a main memory  116 , the display  106 , a hard disk  118 , an erasable programmable read-only memory (EPROM)  120 , a keyboard controller  113 , a complementary metal oxide semiconductor (CMOS)  122 , and a power manager  126  are connected to a system controller  112  via a bus  121  in the PC  100 . Each of the blocks shown in  FIG. 2  will be described below. 
     The system controller  112  controls the entire system, for example, manages data input/output of the system. The CPU  114  executes programs such as an OS and a BIOS, which are executed in the main memory  116 . The main memory  116  is used as a workspace for executing a program read from the hard disk  118 . The OS, the BIOS, a certain application, and the like are executed in the main memory  116  in an embodiment. This will be specifically described below with reference to  FIG. 3 . The display  106  displays an image on the basis of a command issued by the CPU  114  via the system controller  112 . The OS and an application program are stored in the hard disk  118 . The BIOS, which is executed immediately after the PC  100  is turned on, is stored in the EPROM  120 . The keyboard controller  113  detects inputs from the keyboard  107  and the mouse  108 . The setting of a BIOS menu is stored in the CMOS  122 . The power manager  126  manages the operation of the power button  109 . The PC  100  is operable under an operating system. The PC  100  is activated by booting the BIOS and the OS successively. 
     Functional Block Diagram of Screen Display Processing: 
       FIG. 3  is a functional block diagram schematically showing an example of screen display processing of a BIOS setup or a boot menu. A screen-display processing function is realized by the CPU  114  and, for example, a program stored in the hard disk  118 . In the BIOS setup, a hardware platform including a memory, a hard disk drive, and a floppy disk drive is set.  FIG. 4  shows an example of a BIOS setup screen. In the boot menu, a boot drive order is set.  FIG. 5  shows an example of a boot menu screen. The screen-display processing function for the BIOS setup or boot menu is realized by the main memory  116 , the CMOS  122 , and the keyboard controller  113 . A BIOS  202  and an OS  204  are executed in the main memory  116 . Moreover, a driver  206  and an application  208  are executed on the OS  204 . Each of the blocks shown in  FIG. 3  will be described below. Note that blocks shown in  FIG. 3  will be denoted by the same reference numerals as the corresponding components shown in  FIG. 2 , thereby avoiding redundant description. 
     BIOS: 
     The BIOS  202  detects specific data inputs made using the keyboard  107  and the mouse  108 , which are input devices. That is, the BIOS  202  obtains information related to a key operation which is detected by the keyboard controller  113 , and determines whether or not a key for entering the BIOS setup screen or boot menu screen is operated. The BIOS  202  detects a specific data input in the case where the key for entering the BIOS setup screen or boot menu screen is operated. If the BIOS  202  determines such a key is operated, a BIOS-setup display-request flag or a boot-menu display-request flag is stored in the CMOS  122  by the BIOS  202 . After the BIOS  202  detects the BIOS-setup display-request flag or the boot-menu display-request flag being stored in the CMOS  122 , the BIOS  202  displays data of the BIOS setup screen or boot menu screen, the data being prestored in the EPROM  120 , on the display  106  via the system controller  112 . 
     Driver: 
     The driver  206  is executed on the OS  204  after the OS  204  is loaded. Here, the term “after the OS  204  is loaded”, as used herein, means the state where a log-in screen is displayed. The driver  206  accepts inputs from the keyboard  107  and the mouse  108 , which are the input devices. The driver  206  obtains information related to a key operation which is detected by the keyboard controller  113 . The execution of the driver  206  on the OS  204  prevents the BIOS  202  from obtaining the information related to a key operation which is detected by the keyboard controller  113 . This means that the OS  204  manages the information related to a key operation after the OS  204  is loaded. 
     Application: 
     The application  208  is executed after the driver  206  is executed on the OS  204 . The application  208  determines whether the BIOS  202  detects the specific data input. The application  208  determines whether or not the BIOS-setup display-request flag or the boot-menu display-request flag is stored in the CMOS  122 . If the BIOS-setup display-request flag or the boot-menu display-request flag is stored in the CMOS  122 , the OS  204  is reloaded. As a result, the BIOS setup screen or the boot menu screen can be entered even in the case where the key for entering the BIOS setup screen or boot menu screen is operated after a BIOS startup screen is closed and before the driver  206  is executed on the OS  204 . Here, the application  208  may be, for example, integrated with the OS  204 , included in an accompanying application of the OS  204 , or installed in a recovery disc. 
     Overall Processing Flow: 
     The screen display processing for the BIOS setup and the boot menu will be described with reference to  FIG. 6 . 
     In step S 100 , if the power button  109  is operated by a user, the CPU  114  starts the BIOS  202  stored in the EPROM  120 . The BIOS  202  is executed in the main memory  116 . The process proceeds to step S 101 . 
     In step S 101 , the BIOS  202  initializes various devices such as the keyboard controller  113 . The process proceeds to step S 102 . 
     In step S 102 , the BIOS  202  displays data of the BIOS startup screen, which is prestored in the CMOS  122 , on the display  106  via the system controller  112 . The process proceeds to step S 103 . 
     In step S 103 , the BIOS  202  determines whether a predetermined time for displaying the data of the BIOS startup screen has passed. If the predetermined time is determined to have passed, the process proceeds to step S 104 . 
     In step S 104 , the BIOS  202  finishes displaying the data of the BIOS startup screen on the display  106 . The process proceeds to step S 105 . 
     In step S 105 , the BIOS  202  determines whether the BIOS-setup display-request flag is stored in the CMOS  122 . The BIOS-setup display-request flag is generated by the BIOS  202  when a user operates a key for displaying the BIOS setup screen. Such a key-operation interrupt processing will be described with reference to  FIG. 8  below. If the BIOS-setup display-request flag is determined to be stored, the process proceeds to step S 106 . In step S 106 , the BIOS  202  displays the data of the BIOS setup screen, the data being stored in the EPROM  120 , via the system controller  112 . And a processor performs a BIOS setup process. In contrast, if the BIOS-setup display-request flag is determined not to be stored, the process proceeds to step S 107 . 
     In step S 107 , the BIOS  202  determines whether the boot-menu display-request flag is stored in the CMOS  122 . The boot-menu display-request flag is generated by the BIOS  202  when a user operates a key for displaying the boot menu. Such a key-operation interrupt will be described with reference to  FIG. 8  below. If the boot-menu display-request flag is determined to be stored, the process proceeds to step S 108 . In step S 108 , the BIOS  202  displays the data of the boot menu screen, the data being stored in the EPROM  120 , on the display  106  via the system controller  112 . In contrast, if the boot-menu display-request flag is determined not to be stored, the process proceeds to step S 109 . 
     In step S 109 , the BIOS  202  clears the BIOS-setup display-request flag and/or boot-menu display-request flag stored in the CMOS  122 . Or a processor deletes specific information upon receiving inputted information for finishing a BIOS setup process. The process proceeds to step S 110  in  FIG. 7 . 
     In step S 110  in  FIG. 7 , the BIOS  202  loads the OS  204 , which is stored in the hard disk  118 , by executing the OS  204  in the main memory  116 . The process proceeds to step S 111 . 
     In step S 111 , the OS  204  executes the driver  206 , which is stored in the hard disk  118 , on the OS  204 . This means that the OS  204  manages information related to a key operation after the OS  204  is loaded. The process proceeds to step S 112 . 
     In step S 112 , the OS  204  executes the application  208 , which is stored in the hard disk  118 , on the OS  204 . The process proceeds to step S 113 . 
     In step S 113 , the application  208  determines whether the BIOS-setup display-request flag is stored in the CMOS  122  after completion of booting the operating system. If the BIOS-setup display-request flag is determined to be stored, the process proceeds to step S 115 . In contrast, if the BIOS-setup display-request flag is determined not to be stored, the process proceeds to step S 114 . 
     In step S 114 , the application  208  determines whether the boot-menu display-request flag is stored in the CMOS  122 . If the boot-menu display-request flag is determined to be stored, the process proceeds to step S 115 . In contrast, if the boot-menu display-request flag is determined not to be stored, the process ends. 
     In step S 115 , the application  208  reloads the OS  204 . The process returns to step S 100  in  FIG. 3  and the application  208  reboots the BIOS. According to this, the BIOS setup screen or boot menu screen can be displayed if the specific key for displaying the BIOS setup screen or boot menu is operated after the BIOS  202  clears the BIOS-setup display-request flag and/or the boot-menu display-request flag in step S 109  in  FIG. 3  and before the driver  206  is executed on the OS  204  in step S 111  in  FIG. 7 . That is, if such a specific key or keys are operated, the BIOS-setup display-request flag or the boot-menu display-request flag or both are stored in the CMOS  122  at the time of reloading the OS  204  even after the BIOS-setup display-request flag or the boot-menu display-request flag or both are cleared. Thus, the BIOS  202  can display a predetermined screen or screens, which should be displayed, on the display  106  on the basis of the flag or flags. 
     Key-Operation Interrupt Processing: 
     Next, key-operation interrupt processing will be described with reference to  FIG. 8 . The key-operation interrupt processing is performed during periods shown by dotted lines in  FIGS. 6 and 7 : between step S 102  and step S 105 , between step S 105  and step S 107 , between step S 107  and step S 109 , and between step S 109  and step S 111 . Such key-operation interrupt processing occurs if a user operates a key for displaying the BIOS setup screen or the boot menu screen. 
     In step SA 01 , the keyboard controller  113  determines whether a key of an input device such as the keyboard  107  or the mouse  108  is operated. If a key of the input device is operated, the process proceeds to step SA 02 . 
     In step SA 02 , the BIOS  202  receives a key code of the operated key from the keyboard controller  113  before completion of booting the OS. The process proceeds to step SA 03 . 
     In step SA 03 , the BIOS  202  determines whether the keycode obtained in step SA 02  corresponds to a key for displaying the BIOS setup screen. If the obtained keycode corresponds to the key for displaying the BIOS setup screen, the process proceeds to step SA 04 . In contrast, if the obtained keycode does not correspond to the key for displaying the BIOS setup screen, the process proceeds to step SA 05 . 
     In step SA 04 , the BIOS-setup display-request flag is stored in the CMOS  122  by the BIOS  202 . As a result, in step S 105  in  FIG. 6 , the BIOS  202  can determine that the BIOS-setup display-request flag is stored in the CMOS  122 , and the BIOS setup screen, which is stored in the EPROM  120 , can be displayed. The process proceeds to step SA 05 . 
     In step SA 05 , the BIOS  202  determines whether the keycode obtained in step SA 02  corresponds to a key for displaying the boot menu screen. If the obtained keycode corresponds to the key for displaying the boot menu screen, the process proceeds to step SA 06 . In contrast, if the obtained keycode does not correspond to the key for displaying the boot menu screen, the process ends. 
     In step SA 06 , the boot-menu display-request flag is stored in the CMOS  122  by the BIOS  202 . As a result, in step S 105  in  FIG. 6 , the BIOS  202  can determine that the boot-menu display-request flag is stored in the CMOS  122 , and the boot menu screen, which is stored in the EPROM  120 , can be displayed. Then, the process ends. 
     According to the embodiment, an application which is executed on an OS determines whether a key for entering a BIOS setup screen is operated even after the OS is loaded. If such a key is determined to be operated, the OS is reloaded and the BIOS setup screen is displayed. Thus, even if a PC is booted at a high speed, the BIOS setup screen can be displayed easily. 
     The above-described embodiment is not intended to limit other embodiments. Therefore, various modifications may occur insofar as they are within the scope of the embodiment.