O. Babaoglu and W. Joy @ Cornell
Proceedings of the Eighth ACM Symposium on Operating System Principles, December 1981, pages 78-86
![]() |
Berkeley guys wanted to make their Unix on VAX-11/780(VMS) a paging system |
![]() |
VAX-11/780 supports paging (has page table and valid bit) but does NOT have reference bit |
![]() |
Implement
a page replacement algorithm such as LRU or Clock
|
on hardware which does not have reference bit on page table
![]() |
Reference
bit unset: unset valid bit -> the page becomes reclaimable
|
||||||||
![]() |
Reference
bit set:
|
||||||||
![]() |
Reference
bit simulation is a lot slower than hardware implementation ->
|
![]() |
Partition frames into a free pool of pages and pages being involved in the loop of clock | ||||||
![]() |
The size of the free pool drops below threshold -> Clock policy is triggered | ||||||
![]() |
Also
scan rate is controlled based on the amount of free pages
|
![]() |
Simple & fast |
![]() |
Load control can get a hint from the size of the free pool |
![]() |
Writing dirty pages back to disk distributes uniformly over time due to scan rate control |
![]() |
Address
space copying at the time of fork could be very expensive
|
||||
![]() |
Pages of the process are brought into memory on demand |
![]() |
Swap-out
criterion: the oldest amongst the n largest processes
|
||||
![]() |
Swap-in criterion: the smallest job first with aging | ||||
![]() |
Swap-in does not bring pages of the process. Pages will get brought into memory on demand |
![]() |
When
a page is brought into memory, adjacent blocks are pre-paged
|
||||
![]() |
The
set of modified pages are clustered and cleaned together
|
![]() |
Pros
|