www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/07/21/12:51:06

From: j DOT aldrich6 AT genie DOT com
Message-Id: <199607211646.AA145277587@relay1.geis.com>
Date: Sun, 21 Jul 96 16:36:00 UTC 0000
To: bond AT ee DOT ubc DOT ca
Cc: djgpp AT delorie DOT com
Mime-Version: 1.0
Subject: Re: Interrupt overhead with DJ

Reply to message 7820364    from BOND AT EE DOT UBC DOT C on 07/16/96  8:03PM


>I understand that DJGPP programs run with the help of a DOS extender to
>enable execution in a 32 bit protected address space under DOS. I'm
>curious what overhead DJGPP's DOS extender imposes on programs in
>general (I've been able to find no documentation on-line pertaining to
>the functionality of DOS extenders).

You are only partially correct:  DJGPP does not use a DOS extender;
it uses a DPMI host.  The FAQ describes this in some detail; but
basically, DJGPP programs use whatever DPMI is available when
they run.  If you are running under QEMM, 386Max, OS/2, Linux Dosemu,
Win3.1, or Win95, they will detect and use those DPMI services;
otherwise they will load and run the CWSDPMI program which comes
with the DJGPP distribution.  It loads itself as a DPMI host, but is not
exactly an "extender" by the standards of DOS4GW or DJGPP v1.*'s
go32.

>In particular, I'd like to know what overhead is imposed by DJGPP's DOS
>extender for interrupt handling (in GNAT Ada - although I can't see why
>it should be any different in C).

Well, since DJGPP runs in full 32-bit protected mode, the vast majority
of interrupts are either handled by the DPMI host, or reflected to
protected mode.  This is the same no matter what DPMI you use;
protected-mode interrupt handling is practically the same for every
host.  As I understand it, there is always some overhead in interrupt
reflection, but it is possible to install a real-mode handler as well as
a protected-mode one.  The FAQ describes this in great detail,
perhaps because of the large numbers of people who have asked
about this very subject.  :)

John

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019