Unix BSD paging scheme

Each time a page is needed, daemon sweeps through
1/kth of the buffer to see whether there are any
pages with reference count 0 which
it then frees; the daemon resets the reference counts
of all other pages.
The daemon sweeps in round-robin order, thus sweeping
through [0..B/k) then [B/k..2B/k) then [2B/k..3B/k)...
[(k-1)B/k..B) then [0..B/k) etc.

Each time a page is accessed, its reference bit is set to 1.


Proposed modification has same goal
as LRU/2 and 2Q: don't be too nice to scanned
pages but allow for correlated accesses
and give extra privilege to frequently accessed pages.

Proposed fix: Add a new field called the survivor count.
When daemon comes through 

if daemon sees reference bit reset on page p
	if the survivor count is 0 on page p
		then daemon frees p
		else daemon decrements survivor count
		  but does not free p 
	end if
else daemon increments survivor count on p up to a certain
	upper bound (say 4)
     daemon resets hardware reference count 
end if


Does this do the right thing with regard to scanned pages
and randomly accessed pages?
Answer: yes. these will never get a survivor count.
Their correlated accesses will be ignored from the
point of view of priority but they
will have enough time to correlate.
------
May want to modify this to remember pages that have been
kicked out previously by using a kind of A1out strategy. 
Pages on the A1out queue should then be promoted to have a survivor
value of 1.
