Shared Memory in BSD4.3 is lacking?

Root Boy Jim rbj at icst-cmr.arpa
Wed Mar 16 06:18:28 AEST 1988


   From: Bob Beck <rbk at sequent.uucp>

   In article <12137 at brl-adm.ARPA> rbj at icst-cmr.arpa (Root Boy Jim) writes:
   >
   >Your friends at Sequent do the same thing. However, what they are
   >really doing is marking certain pieces of the buffer cache resident
   >and non-reclaimable, then mapping them into the processes space.

   Not true.  mmap() works in Dynix by mapping portions of files into address
   spaces on page boundaries.  The file acts as a paging source and store for
   the data; the pages of the file are demand loaded directly into user
   addressible memory, no buffer cache involved.  The buffer cache does remain
   coherent, however, so read/write system calls see the latest data.

I am speaking loosely. Your implementation may not actually be as I have
suggested, but it *could* be implemented that way. And of course you'd
have to align everything on page boundarys to make it work.

Once upon a time (and possibly now) I believe the buffer structures were
prefixed with a header, so their addresses didn't align. This could be
fixed by stuffing a pointer to the real page aligned buffer in the header.

					   Bob Beck
					   Sequent Computer Systems
					   15450 SW Koll Parkway
					   Beaverton, Oregon  97006
					   ...{tektronix,ogcvax}!sequent!rbk
					   (503)626-5700

	(Root Boy) Jim Cottrell	<rbj at icst-cmr.arpa>
	National Bureau of Standards
	Flamer's Hotline: (301) 975-5688



More information about the Comp.unix.wizards mailing list