Mail Archives: djgpp/1998/09/02/06:09:04
In comp.os.msdos.djgpp Eli Zaretskii <eliz AT is DOT elta DOT co DOT il> writes:
>
>On Tue, 1 Sep 1998, Neil Townsend wrote:
>
>> After much thought and newsgroup reading, it strikes me that I would be
>> better off using CWSDPMR0 (or some other) rather than CWSDPMI as I wish only
>> to use physical memory.
>
>Could you please explain why is this a good idea? If CWSDPR0 suits
>you, it means that your programs don't use more memory than is
>physically installed on your machine, right? (Otherwise, they'd abort
>with ``Virtual memory exhausted'' message.) If so, using CWSDPMI
>won't make your programs page either. So why would you need to force
>them use CWSDPR0?
If I'm wrong, please correct me but here is my reasoning. I'm writing some
code which acquires data at a high rate and stores it to RAM; speed is an
issue. I want to ensure that only physical memory is used and that the
memory management is as fast as possible. Therefore, from what I've managed
to garner form the docs I've seen with djgpp and this group, it struck me
that CWSDPR0 (or perhaps PMODETSR?) would be ideal because there would be no
overhead with potential (but unused) disk swap decisions.
>Please note that CWSDPR0 is different from CWSDPMI in areas other than
>VM support. For starters, it runs your program at Ring 0; it also
>doesn't swap stacks on hardware interrupts. It is quite possible that
>some programs will misbehave with it if they were not tested under
>CWSDPR0 (I'd guess most of them weren't).
Does that mean that under CWSDPR0 the allegro timer routines, for example,
can cause problems? Or have I misunderstood you here - would it be more to
do with interrupt routines that I've registered using the dpmi interrupt
registration routines?
>But I think using CWSDPR0 as the default server is a bad idea.
I think that as a general rule, I agree with you, but I wondered if it would
be better for this particular instance. If you think I'm wrong, please
correct me.
Many thanks,
Neil
--
Neil Townsend +44 (1865) 273121 neil AT robots DOT ox DOT ac DOT uk
- Raw text -