BIOS

From OSDev.wiki
Revision as of 22:45, 14 February 2007 by osdev>Jhawthorn
Jump to navigation Jump to search

BIOS (Basic Input/Output System) was intended to offer low-level services to system programmers, like changing the video mode, accessing disks, asking system properties (amount of RAM, etc). In Real Mode, these services can be accessed through interrupts (10h for video, 13h for disks, 15h for miscellaneous stuff). You may get the complete list of BIOS interrupts in Ralf Browns Interrupt List.

Also note that some of the bios detection/state result is stored in the Bios Data Area. All the "persistent" state of the BIOS is kept in the CMOS chip.

Unfortunately, in Protected mode, most of BIOS services become unavailable and trying to call them nonetheless will result in exceptions or unreliable responses because of the different way segment values are handled. Some newer services however (like SMBios, PCI and PnP, or VBE) offer an interface that is compatible with 32bits operations.

If you still need the other services in Protected mode, see Virtual 8086 Mode.