Subj : Interrupts
To : Lee Aroner
From : David Noon
Date : Sat May 26 2001 02:10 am
Hi Lee,
Replying to a message of Lee Aroner to David Noon:
DN>> The OS/2 API is built on call gates and ring gates, not interrupts.
LA> And are not those gates accessed via an interrupt?
No.
Call gates are simply part of protected mode execution. They do not generate
any interrupt; they simply fiddle some segment registers [and control registers
and stack frame, if they are ring gates too] and then continue execution as per
a normal CALL instruction.
The use of an INT instruction in p-mode, as per PC-DOS/MS-DOS/DR-DOS + DPMI
(e.g. Win 3.x/9x/Me), NT and LINUX, is an alternative way to switch ring
levels. In addition to branching to the address in the interrupt vector
(addressed by the IDTR in p-mode) the INT instruction switches to ring 0. But
this is wholly redundant in an OS that uses call/ring gates.
I guess that makes OS/2 a "Gates environment".
Regards
Dave
<Team PL/I>
--- FleetStreet 1.25.1
* Origin: My other computer is an IBM S/390 (2:257/609.5)