Browse Prior Art Database

Segment Swapping for Virtual Memory

IP.com Disclosure Number: IPCOM000074787D
Original Publication Date: 1971-Jun-01
Included in the Prior Art Database: 2005-Feb-23
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Smith, HF: AUTHOR

Abstract

The instant method of swapping variable-length segments of data between primary storage and secondary storage in a virtual memory environment comprises two aspects. The first aspect comprises a loop for regulating urgency level which governs the swapping of segments. The second aspect is the analysis of the segments in primary storage and their current status to establish the urgency level at which that segment may be swapped out.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Segment Swapping for Virtual Memory

The instant method of swapping variable-length segments of data between primary storage and secondary storage in a virtual memory environment comprises two aspects. The first aspect comprises a loop for regulating urgency level which governs the swapping of segments. The second aspect is the analysis of the segments in primary storage and their current status to establish the urgency level at which that segment may be swapped out.

If swapping is required, segments in the swappable section of primary storage are compared against the current machine status registers to establish the priority with which each segment may or may not be swapped. Only those whose priorities with the current urgency level are actually swapped. At the conclusion of the scan, a check is made to determine whether the amount of free space is sufficient to meet the request for new space. If not, the current urgency setting is increased to the next level and the scan operation repeated.

The detailed logic of the first mechanism, the loop for determining urgency, comprises the following steps: 1) When a request for space cannot be met, and collection is to be initiated, set urgency level = 0 and proceed to step 2. 2) Precede collection per se by a scan of the segments in the area of primary memory - called FREE - that is subject to allocation, deallocation, collection and swapping. (There may be a portion of primary memory - called FIXED - which does not participate in these processes.) The scan is quick and easy if, as is the case in most segment handling schemes, the segments are maintained as a threaded list. The scan examines every segment in turn and, according to the current urgency setting, does or does not both deallocate it and swap it out, with appropriate bookkeeping. 3) Test to see if the amount of free space now available is both sufficient to meet the original request and also greater than an arbitrary minimum. If both conditions are met, return to normal operations; otherwise proceed to step 4. 4) Increase the urgency level by one and test that the level does not exceed the maximum available. If it does exceed the maximum, return to normal operation, where a "Workspace fu...