mmap() in SunOS and V.4

Jonathan Eunice jonathan at axecore.UUCP
Fri Dec 29 08:07:26 AEST 1989


As I understand it, mmap() in V.4 is derived from SunOS's mmap(), which
implements an un-released  BSD design for mapping files to virtual memory.

Several questions:

1.      Sun's mmap() does not support the MAP_RENAME option.  From the
man page, it seems that MAP_RENAME is a way of writing a virtual-memory
range to a file post hoc.  That is, writing to the file rather than
mapping the file, then altering the mapped range). Is this a correct
interpretation?

2.	AT&T seems to be advertising V.4's "single level store."  Is this
feature predicated entirely upon mmap(), or will V.4 have other features 
which contribute?  

3.	Does V.4 use mmap() to map all files, or is it only a feature
for applications developers?

4.	Do many applications use mmap()?  That is, use it in important 
ways the shmat() facility or other approaches cannot match?

5.      For that matter, do many applications use shmat()?  I would
think, given its possible performance advantages over other V IPCs,
that it would be rather popular.

6.	Other than SunOS (and now V.4), what other UNIX variants support
mmap()? How are these implementations different from Sun's?

7.	Is there a limit on the number of files that can be
efficiently mapped at once?  I would think there would be a fairly low
number defined by the restrictions of the memory management hardware.

8.	In general, how do mmap() and shmat() compare for IPC and other uses?

9.	Leffler et al only briefly mentioned the design of mmap(), with few
details.  I could not extract any mmap()-specific references from the 
bibliography.  So, are there any good papers or technical reports to
consume?

Sorry to make this into an essay.  All information appreciated. If you email
me, I will summarize for the net. Thanks.

Jonathan Eunice
D.H. Brown Associates
uunet!axecore!jonathan



More information about the Comp.unix.questions mailing list