4 MB Suns with OS version 4.0

Guy Harris auspex!guy at uunet.uu.net
Tue Mar 14 23:35:23 AEST 1989


>Relative to Charles Hedrick's observation on paging being different under
>SunOS 4.0, I understand that one of the changes that was made was to go to
>a more "global" page replacement strategy, instead of treating program
>areas and disk cache and so forth as separate "local" paging areas.

Well, sort of.

In fact, what happened is that the UFS and NFS file systems perform "read"
and "write" operations by temporarily mapping the affected region of the
file in question into the kernel's address space and doing copies between
the mapped region and the process's buffer.  The net result happens to be
that all of the page frame pool is used both for paging for "read"s and
"write"s, and paging for mapped-in files (e.g., demand-paged executables
and "mmap"ped files), which means in effect that any page in the page
frame pool can be used as what in earlier UNIX systems would be a
buffer-pool block for file data.  (Control information - inodes, bitmaps,
indirect blocks - is still kept in a reduced-size traditional buffer
cache).

>Apparently this is even regarded within Sun as a somewhat suspect
>"optimization."

It is not, as far as I know, so regarded - at least not in the OS group.
The idea is considered reasonable; there may, at present, be problems with
the paging algorithms that make it cause problems in some cases.  (The
potential performance improvement - which, at least on machines with lots
of memory, translates to an actual performance improvement - wasn't the
only reason why this was done; it also simplified problems of keeping file
data references in "read" and "write", and references to mapped file data,
consistent.)



More information about the Comp.sys.sun mailing list