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