Path: utzoo!utgpu!water!watmath!clyde!bellcore!faline!thumper!ulysses!andante!princeton!udel!gatech!purdue!decwrl!ucbvax!RICHTER.MIT.EDU!krowitz From: krowitz@RICHTER.MIT.EDU.UUCP Newsgroups: comp.sys.apollo Subject: locking object info physical memory Message-ID: <8805122134.AA04356@richter.mit.edu> Date: 12 May 88 21:34:42 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 28 Posted: Thu May 12 17:34:42 1988 I'm writing a device driver for a printer that has a high data rate and no internal buffer. In order to send the data to the printer at a high-enough rate, I format the entire page in a buffer (a Pascal array) before starting the data transfer. The problem I'm having is that the buffer is large (up to 2 MB) and the virtual memory system pages the buffer out to the disk as I fill it with the data -- when I begin the data tranfer I most of the buffer is out on the disk, and the page faulting needed to bring it back into physical memory interrupt the transfer of the data to the printer which, in turn, leaves horizontal streaks across the page at the places where the data transfer got interrupted. Here's my question: is there some way of locking an array, or some arbitrary piece of address space, into *physical* memory? The MS_$ calls and RWS_$ calls talk about mapping things into the *virtual* address space and talk about "locks", but these seems to be locks on the access to the object. No mention is made of physical vs. virtual memory. Does anyone have an info which could help me on this? -- David Krowitz krowitz@richter.mit.edu (18.83.0.109) krowitz%richter@eddie.mit.edu krowitz%richter@athena.mit.edu krowitz%richter.mit.edu@mitvma.bitnet (in order of decreasing preference)