delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/09/27/07:52:45

From: Hans-Bernhard Broeker <broeker AT physik DOT rwth-aachen DOT de>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: C Library: mmap() function
Date: 27 Sep 2000 08:33:07 GMT
Organization: Aachen University of Technology (RWTH)
Lines: 37
Message-ID: <8qsbc3$cj2$1@nets3.rz.RWTH-Aachen.DE>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 1000926172717 DOT 15724A-100000 AT is> <970034480 DOT 596718 AT shelley DOT paradise DOT net DOT nz>
NNTP-Posting-Host: acp3bf.physik.rwth-aachen.de
X-Trace: nets3.rz.RWTH-Aachen.DE 970043587 12898 137.226.32.75 (27 Sep 2000 08:33:07 GMT)
X-Complaints-To: abuse AT rwth-aachen DOT de
NNTP-Posting-Date: 27 Sep 2000 08:33:07 GMT
Originator: broeker@
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Edmund Horner <ejrh AT paradise DOT net DOT nz> wrote:
> I understand that DPMI is not supposed to provide support for mmap().  Can
> we extend it? (or is that just _not_ done?)

We have absolutely no influence on DPMI, in general. It's a fixed
standard defined by Microsoft about a decade ago, and it's not going
to change.  Ever.

> Windows: does DJGPP under Windows rely on the OS for virtual memory
> management?  

Windows *is* DPMI (cum grano salis). So: yes, DJGPP relies on Windows
not only for virtual memory management, but for absolutely *every*
management, if running in a Windows DOS box. That's what DPMI is
about, in a nutshell.

> If so, then there's probably not much to be done about it,
> right?

Right.

> CSDPMI: can this server be extended to provide mmap() functionality?

It could, possibly. But what good would it really do us? The
fundamental idea behind mmap(), i.e. bypassing the file-related system
calls by directly talking to the page and HD caching mechanisms in the
OS kernel, still wouldn't be available (there *is* no such mechanism
in the DOS kernel, to begin with), so the benefits would be minimal,
if existant all.

In a nutshell, mmap() is slightly beyond that thin red line where
POSIX compatibility becomes impossible to achieve, with a system as
restricted as DOS as the basis of the effort.

-- 
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.

- Raw text -


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