Subj : Interrupts
To : David Noon
From : Lee Aroner
Date : Sun May 27 2001 03:18 am
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?
DN> No.
DN> 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.
DN> 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.
My wrong. Thanks for taking the time to explain that. I had
simply assumed that OS/2 used the same invalid int trick to
switch rings as Win does.
DN> I guess that makes OS/2 a "Gates environment".