Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
BIOS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Operating system services == The BIOS ROM is customized to the particular manufacturer's hardware, allowing low-level services (such as reading a keystroke or writing a sector of data to diskette) to be provided in a standardized way to programs, including operating systems. For example, an IBM PC might have either a monochrome or a color display adapter (using different display memory addresses and hardware), but a single, standard, BIOS [[system call]] may be invoked to display a character at a specified position on the screen in [[text mode]] or [[All points addressable|graphics mode]]. The BIOS provides a small [[library (computing)|library]] of basic input/output functions to operate peripherals (such as the keyboard, rudimentary text and graphics display functions and so forth). When using MS-DOS, BIOS services could be accessed by an application program (or by MS-DOS) by executing an interrupt 13h [[INT (x86 instruction)|interrupt instruction]] to access disk functions, or by executing one of a number of other documented [[BIOS interrupt call]]s to access [[Display device|video display]], [[Computer keyboard|keyboard]], cassette, and other device functions. [[Operating system]]s and executive software that are designed to supersede this basic firmware functionality provide replacement software interfaces to application software. Applications can also provide these services to themselves. This began even in the 1980s under [[MS-DOS]], when programmers observed that using the BIOS video services for graphics display were very slow. To increase the speed of screen output, many programs bypassed the BIOS and programmed the video display hardware directly. Other graphics programmers, particularly but not exclusively in the [[demoscene]], observed that there were technical capabilities of the PC display adapters that were not supported by the IBM BIOS and could not be taken advantage of without circumventing it. Since the AT-compatible BIOS ran in Intel [[real mode]], operating systems that ran in protected mode on 286 and later processors required hardware device drivers compatible with protected mode operation to replace BIOS services. In modern PCs running modern [[operating systems]] (such as [[Microsoft Windows|Windows]] and [[Linux]]) the [[BIOS interrupt calls]] are used only during booting and initial loading of operating systems. Before the operating system's first graphical screen is displayed, input and output are typically handled through BIOS. A boot menu such as the textual menu of Windows, which allows users to choose an operating system to boot, to boot into the [[safe mode]], or to use the last known good configuration, is displayed through BIOS and receives keyboard input through BIOS.<ref name="Booting Β· Linux Inside"/> Many modern PCs can still boot and run legacy operating systems such as MS-DOS or DR-DOS that rely heavily on BIOS for their console and disk I/O, providing that the system has a BIOS, or a CSM-capable UEFI firmware. === Processor microcode updates === [[Intel]] processors have reprogrammable [[microcode]] since the [[P6 (microarchitecture)|P6]] microarchitecture.<ref name="Stiller_1996"/><ref name="Mueller-1"/><ref name="microcode-09"/> [[AMD]] processors have reprogrammable microcode since the [[K7 (microarchitecture)|K7]] microarchitecture. The BIOS contain patches to the processor microcode that fix errors in the initial processor microcode; microcode is loaded into processor's [[Static RAM|SRAM]] so reprogramming is not persistent, thus loading of microcode updates is performed each time the system is powered up. Without reprogrammable microcode, an expensive processor swap would be required;<ref name="Mueller-2"/> for example, the [[Pentium FDIV bug]] became an expensive fiasco for Intel as it required a [[product recall]] because the original Pentium processor's defective microcode could not be reprogrammed. Operating systems can update [[main processor]] microcode also.<ref>{{Cite web|title=KB4100347: Intel microcode updates|url=https://support.microsoft.com/en-us/help/4100347/intel-microcode-updates-for-windows-10-version-1803-and-windows-server|access-date=2020-09-20|website=support.microsoft.com}}</ref><ref>{{Cite web|title=Microcode - Debian Wiki|url=https://wiki.debian.org/Microcode|access-date=2020-09-19|website=wiki.debian.org}}</ref> === {{Anchor|SLIC}}Identification === Some BIOSes contain a software licensing description table (SLIC), a digital signature placed inside the BIOS by the [[original equipment manufacturer]] (OEM), for example [[Dell]]. The SLIC is inserted into the ACPI data table and contains no active code.<ref name="guytechie-2010225">{{cite web |url = http://www.guytechie.com/articles/2010/2/25/how-slp-and-slic-works.html |title = How SLP and SLIC Works |date = 2010-02-25 |access-date = 2015-02-03 |website = guytechie.com |url-status = live |archive-url = https://web.archive.org/web/20150203135933/http://www.guytechie.com/articles/2010/2/25/how-slp-and-slic-works.html |archive-date = 2015-02-03 }}</ref><ref>{{cite web |url = http://www.congatec.com/fileadmin/user_upload/Documents/Application_Notes/AN21_Add_OEM_ACPI_SLIC_Table.pdf |title = Create and add an OEM ACPI SLIC table module to a congatec BIOS |date = 2011-06-16 |access-date = 2015-02-03 |website = congatec.com |url-status = live |archive-url = https://web.archive.org/web/20140802014113/http://www.congatec.com/fileadmin/user_upload/Documents/Application_Notes/AN21_Add_OEM_ACPI_SLIC_Table.pdf |archive-date = 2014-08-02 }}</ref> Computer manufacturers that distribute OEM versions of Microsoft Windows and Microsoft application software can use the SLIC to authenticate licensing to the OEM Windows Installation disk and system [[recovery disc]] containing Windows software. Systems with a SLIC can be preactivated with an OEM product key, and they verify an XML formatted OEM certificate against the SLIC in the BIOS as a means of self-activating (see [[System Locked Preinstallation]], SLP). If a user performs a fresh install of Windows, they will need to have possession of both the OEM key (either SLP or COA) and the digital certificate for their SLIC in order to bypass activation.<ref name="guytechie-2010225" /> This can be achieved if the user performs a restore using a pre-customised image provided by the OEM. Power users can copy the necessary certificate files from the OEM image, decode the SLP product key, then perform SLP activation manually. === Overclocking === Some BIOS implementations allow [[overclocking]], an action in which the [[central processing unit|CPU]] is adjusted to a higher [[clock rate]] than its manufacturer rating for guaranteed capability. Overclocking may, however, seriously compromise system reliability in insufficiently cooled computers and generally shorten component lifespan. Overclocking, when incorrectly performed, may also cause components to overheat so quickly that they mechanically destroy themselves.<ref>{{cite web|url=http://lifehacker.com/a-beginners-introduction-to-overclocking-your-intel-pr-5580998|title=A Beginner's Introduction to Overclocking Your Intel Processor|author=Whitson Gordon|publisher=Gawker Media|work=Lifehacker|date=13 January 2014 |access-date=6 December 2014|url-status = live|archive-url=https://web.archive.org/web/20141207213218/http://lifehacker.com/a-beginners-introduction-to-overclocking-your-intel-pr-5580998|archive-date=7 December 2014}}</ref> === Modern use === Some older [[operating systems]], for example [[MS-DOS]], rely on the BIOS to carry out most input/output tasks within the PC.<ref name="computing-basics-94"/> Calling [[real mode]] BIOS services directly is inefficient for [[protected mode]] (and [[long mode]]) operating systems. [[BIOS interrupt calls]] are not used by modern multitasking operating systems after they initially load. In the 1990s, BIOS provided some [[protected mode]] interfaces for [[Microsoft Windows]] and [[Unix-like]] operating systems, such as [[Advanced Power Management]] (APM), [[Plug and Play BIOS]], [[Desktop Management Interface]] (DMI), [[VESA BIOS Extensions]] (VBE), [[e820]] and [[MultiProcessor Specification]] (MPS). Starting from the year 2000, most BIOSes provide [[Advanced Configuration and Power Interface|ACPI]], [[SMBIOS]], [[VBE]] and [[e820]] interfaces for modern operating systems.<ref>{{Cite web|title=What is ACPI (Advanced Configuration and Power Interface)? - Definition from WhatIs.com|url=https://searchwindowsserver.techtarget.com/definition/ACPI-Advanced-Configuration-and-Power-Interface|access-date=2020-09-18|website=SearchWindowsServer|language=en}}</ref><ref>{{Cite web|title=Changing hardware abstraction layer in Windows 2000 / XP β Smallvoid.com|date=15 January 2001 |url=http://smallvoid.com/article/winnt-hardware-abstraction-layer.html|access-date=2020-09-18|language=en-US}}</ref><ref>{{Cite web|title=What is ACPI?|url=https://www.spo-comm.de/en/blognews/detail/article/News/detail/what-is-acpi-1/|access-date=2020-09-18|website=www.spo-comm.de}}</ref><ref>{{Cite web|last=lorihollasch|title=Support for headless systems - Windows drivers|url=https://docs.microsoft.com/en-us/windows-hardware/drivers/display/support-for-headless-systems|access-date=2020-12-05|website=docs.microsoft.com|language=en-us}}</ref><ref>{{Cite web|title=Memory Map (x86) - OSDev Wiki|url=https://wiki.osdev.org/Memory_Map_(x86)|access-date=2020-12-11|website=wiki.osdev.org}}</ref> After [[operating systems]] load, the [[System Management Mode]] code is still running in SMRAM. Since 2010, BIOS technology is in a transitional process toward [[UEFI]].<ref name="Bradley" />
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)