A computer system includes a basic input/output system (BIOS) which provides access to low level hardware devices such as keyboards, disk drives, etc. In some systems, an interface, such as the Windows Management Instrumentation (WMI), provides the operating system with access to the BIOS. An interface file, such as a managed object format (MOF) file, is also provided to provide access by the operating system to the BIOS. A MOF file describes classes and methods that are available to the operating system and any applications running thereon. The WMI interface defines the interface to BIOS, and the MOF file defines the data structures and the methods that are supported by the BIOS.
For a derailed description of illustrative embodiments of the invention, reference will now be made to the accompanying drawings in which:
Different configurations of computer systems have different low level functionality. For example, one computer system might have temperature sensors while another computer system does not. The BIOS in the former computer system would provide support to access the temperature sensors. The BIOS in the latter computer system (no temperature sensors) would not need to provide such support.
The MOF file typically is compiled before its installation in the computer system and thus before the computer is assembled from its constituent parts. Computers usually do not have the ability to edit or replace their MOF file with a new MOF file. Because, the MOF file is static and because a variety of computer system configurations are generally made available in the computer market, in at least some instances, a MOF file that can support any computer system configuration is included in each computer system. Such a MOF file may provide support for a device (e.g., a temperature sensor) or other type of configuration element (e.g., security credential) that may not exist in the particular system in which that MOF file is used.
In accordance with various embodiments, a plurality of interface (MOF) files are provided in non-volatile storage of an electronic system such as a computer. Logic, such as the BIOS of the system, is executed by the processor to determine the configuration of the system and selects an appropriate interface the from among the multiple possible interface files and uses the selected interface file to permit the operating system or applications running under the operating system to access the BIOS. In other embodiments, an uncompiled interface file is provided from which, based on the system configuration, a suitable compiled interface file is generated.
The BIOS 24 comprises code that is executed by the processor 12 during system initialization to perform a power-on self-test (POST), The BIOS 24 also comprises code that provides access to various hardware devices including, for example, keyboard, mouse, temperature sensors, disk drives, etc, During or after boot-up of the system 10, the BIOS 24 in accordance with at least some embodiments is copied to memory 14 and executed from memory 14 thereafter. The copy of BIOS 24 in memory 14 is represented as BIOS 24a in
The various storage devices 14-18 couple to the processor through one or more busses and/or intervening logic (e.g., a bridge device). While one illustrative architecture for system 10 is shown in
Referring still to
In the embodiment of
The processor 12 can determine the configuration of the system 10 in accordance with any of a variety of techniques. For example, one or more non-volatile storage devices 40 (e.g., complementary metal oxide semiconductor (CMOS) storage devices) may store some or all, of the configuration information associated with the system 10, or at least enough of the configuration sufficient for the selection of the interface file 28. Such configuration information may include, for example, presence of hardware devices such as a case lock and/or temperature sensors, verified security credentials, and the operating system executing in the system 10.
In accordance with another embodiment, the configuration of the system 10 can be determined by the BIOS 24 issuing calls to all possible configuration elements for each such element, if present, or associated logic to reply to the call with information indicating whether that element is present. If the element is present, the element will reply to the call; if the element is not present, no reply will be issued. For example, the BIOS 24 may issue calls to all hardware devices that conceivably may be present in the system to ascertain whether each such device is present or absent. Further, BIOS 24 may issue calls to detect the presence or absence of non-hardware configuration elements such as security credentials.
Via whatever mechanism or procedure is used to determine the configuration of the system 10, the interface file 28 most suitable for use in a system with that particular configuration is selected for use, In some embodiments, a data structure 29 (e.g., a look-up table) may be stored in the system ROM 18. Such a data structure 29 may provide a mapping between various configurations and interface files 28. Thus, upon determining the configuration for system 10, the data structure 29 is accessed to look-up the corresponding interface file. In other embodiments, logic that selects the correct interface file 28 for a given configuration may be hard-coded into code such as BIOS 24.
In some embodiments, the system ROM 18 also stores an Advanced Configuration Power Interface (ACPI) differentiated system description table 26. The interface file 28 is selected for use in some embodiments by embedding in the ACPI table 26 a secondary system description table containing the selected MOF file.
The selected interface file 28 is used during run-time (i.e., after the OS 30 begins to execute) to enable the OS 30 to access the BIOS 24. For example, the interface file 28 allows users to perform various actions through interaction with the OS such as changing BIOS configuration options, viewing temperature sensor data, performing security operations, etc.
As noted above, the interface files shown in
Once the target interface file 42 is created in memory 14 from the uncompiled interface file 38, the target interface file 42 is compiled (156) to produce compiled target interface the 44. A compiler such as a MOF compiler may be provided on system ROM 18 for this purpose. At 158, the dynamically-compiled interface file 44 is used as explained previously.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2009/054964 | 8/25/2009 | WO | 00 | 1/17/2012 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2011/025479 | 3/3/2011 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7047497 | Patrizio et al. | May 2006 | B2 |
20020078292 | Chilton | Jun 2002 | A1 |
20020103997 | Merkin | Aug 2002 | A1 |
20030188293 | Boucher | Oct 2003 | A1 |
20040002982 | Ersek et al. | Jan 2004 | A1 |
20050060575 | Trethewey et al. | Mar 2005 | A1 |
20050283599 | Zimmerman et al. | Dec 2005 | A1 |
20060184794 | Desselle et al. | Aug 2006 | A1 |
20070255936 | Stemen | Nov 2007 | A1 |
20080162914 | Adrangi et al. | Jul 2008 | A1 |
20090177877 | Holdaway et al. | Jul 2009 | A1 |
Entry |
---|
http://en.wikipedia.org/wiki/Windows—Management—Instrumentation “Windows Management Instrumentation”;6 pages, Dated Nov. 21, 2008. |
ISA/KR, International Search Report, dated May 10, 2010, PCT/US2009/054964, filed Aug. 25, 2009. |
Office Action, German Application No. 112009005012.3, Jul. 24, 2014, pp. 1-9. |
System management BIOS. Wikipedia, the free encyclopedia, Aug. 2, 2009, 1 page. |
Windows Instrumentation: WMI and ACPI, Updated: Dec. 4, 2001, pp. 1-13, Microsoft. |
Number | Date | Country | |
---|---|---|---|
20120124361 A1 | May 2012 | US |