From: neil AT robots DOT ox DOT ac DOT uk (Neil Townsend) Newsgroups: comp.os.msdos.djgpp Subject: Re: GCC / RHIDE and CWSDMPI/CWSDPR0/Stubbing Date: Wed, 2 Sep 1998 09:45:51 GMT Organization: None evident here. Lines: 46 Message-ID: <1998Sep2.094551.28057@catorobots.ox.ac.uk> References: NNTP-Posting-Host: cato.robots.ox.ac.uk NNTP-Posting-Date: 2 Sep 1998 09:45:57 GMT Originator: neil AT cato To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk In comp.os.msdos.djgpp Eli Zaretskii 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