0
$\begingroup$

I may be misunderstanding here-- but are interrupts only found in BIOS and not UEFI systems?

More context: "Through standardized calls to the BIOS (“interrupts” in computer parlance), the operating system can trigger the BIOS to read and write to the disk and interface with other hardware components."

I read this in a paper I'm reading and thought that interrupts may only be accessible in BIOS. I found some old stackoverflow answers (https://stackoverflow.com/questions/15101183/does-booting-in-efi-mode-mean-that-i-shall-not-have-access-to-bios-interrupts) that also confused me into thinking that interrupts are not programmable/accessible in UEFI.

$\endgroup$
1
  • $\begingroup$ Is it about PC settings options? Old BIOS based computers needed more manual configuration of things like interrupts. Newer PCs use complex configuration tables to identify the hardware present. $\endgroup$
    – TEMLIB
    Apr 12, 2020 at 12:25

2 Answers 2

1
$\begingroup$

Almost all CPUs contain interrupt lines. Both Bios and UEFI provide services for handling interrupts on these lines. UEFI is an extended version of the old Bios. So, UEFI provides all services provided by Bios.

$\endgroup$
3
  • $\begingroup$ I see, so the difference is that BIOS and UEFI handle interrupts differently? So interrupts can be programmed in BIOS and UEFI, but BIOS interrupts can't be programmed in UEFI? $\endgroup$ Apr 12, 2020 at 12:55
  • $\begingroup$ UEFI provides almost all services provided by Bios but through difference interfaces and names. Interrupts may get different names or numbers in UEFI and Bios but their functionalities are the same in UEFI and Bios. Actually, hardware Interrupts depend on CPU architecture. UEFI and Bios are firmware tools that provide services for these hardware interrupts. $\endgroup$ Apr 12, 2020 at 17:40
  • $\begingroup$ @A A Khodaparast Thank you! $\endgroup$ Apr 12, 2020 at 21:31
1
$\begingroup$

It was common in DOS days (where all programs ran with full privileges) to call directly into the BIOS (the Basic Input Output System, offering rock-bottom access to I/O of the PC, like reading a disk sector or writing a character to the screen), mostly for speed (the services offered by the operating system where not much fancier anyway, and more or less a superset of the above). The access to those services were by invoking an interrupt from software (the 8088 way of calling operating system services was to use a software triggered interrupt).

Higher end processors (starting at least with the intel 80286, but long standard on other processor lines) allow to rigurously control allowed user program actions, reserving direct hardware access (as offered by BIOS) to the operating system. This is needed to protect the operating system (and thus the workings of the whole system) and even different processes from wayward programs. Starting with Windows NT (released 1993) on PCs user programs don't have such access anymore.

The above is DOS/Windows/PC centric, the whole BIOS idea was to give an uniform interface to sometimes wildly different underlying hardware in the PC world.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.