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".

  AAAAAAAAAARRRRRRRRRGGGGGGGGGGGHHHHHHHHHH!!!!!!!!!!!



                                      LRA


-- SPEED 2.01 #2720: "Give up integrity and the rest is a piece of cake." BG

--- Maximus/2 3.01
* Origin: Top Hat 2 BBS (1:343/41)