Browse Prior Art Database

Two-Level Scheme for Maintaining Information Related to Invalid Segments

IP.com Disclosure Number: IPCOM000046887D
Original Publication Date: 1983-Aug-01
Included in the Prior Art Database: 2005-Feb-07
Document File: 2 page(s) / 15K

Publishing Venue

IBM

Related People

Howell, JD: AUTHOR [+3]

Abstract

An operating system involves the following definitions: Segment: A block of sequential virtual addresses spanning 1 megabyte of virtual storage and beginning at an address that is a multiple of its size. Segment Table Entry (SGTE): A control block describing the attributes of a segment. When the segment is valid in storage, its SGTE points to the real address of its page table. Page: A block of sequential virtual addresses spanning 4 kilo-bytes of virtual storage and beginning at an address that is a multiple of its size. Page Table (PGT): A Page Table describes the attributes of pages in a segment. There is an entry in a PGT for each page in the segment. The PGTs may not always be addressable in storage.

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

Page 1 of 2

Two-Level Scheme for Maintaining Information Related to Invalid Segments

An operating system involves the following definitions:

Segment: A block of sequential virtual addresses spanning 1 megabyte of virtual storage and beginning at an address that is a multiple of its size. Segment Table Entry (SGTE): A control block describing the attributes of a segment. When the segment is valid in storage, its SGTE points to the real address of its page table. Page: A block of sequential virtual addresses spanning 4 kilo-bytes of virtual storage and beginning at an address that is a multiple of its size. Page Table (PGT): A Page Table describes the attributes of pages in a segment. There is an entry in a PGT for each page in the segment.

The PGTs may not always be addressable in storage. Yet some functions (like GETMAIN, FREEMAIN, CHANGE-KEY) need to be performed against some of the pages in an invalid segment, viz. a segment whose page table is not addressable. These functions require updating of the page table. It is expensive (in some cases impossible when the function is requested disabled for interrupts) to build/rebuild for PGT for an invalid segment every time a function is requested on it.

The following discussion describes a scheme for keeping information (that would normally go into the PGTs), relating to functions performed on an invalid segment. This scheme avoids unnecessary building/rebuilding of PTGs and uses a minimum of real storage. This scheme uses a two-level structure to maintain tables of information related to functions performed on an invalid segment. When all the pages in a segment have the same attributes (homogeneous segment), the information relating to the pages in that segment can be maintained in the SGTE itself. But when the pages in a segment have different attributes (heterogeneous segment), it is necessary to have a second level table that has an entry in it for each page in the segment. The SGTE itself is used as the first level, and a table called the second level table (SLT), pointed to by the SGTE, is required only when the segment becomes heterogeneous with respect to attributes of pages in it, as a result of functions performed on it.

Thus the SGTEs representing invalid segments can be assigned different stages (or type numbers). There can be a state assigned to each type of a homogeneous SGTE that represents a unique combination of attributes, and one state assigned to an SGTE that represents a segment that is heterogeneous. Eg: when the functions that can be performed on an invalid segment are GETMAIN, FREEMAIN and CHANGE-KEY, there can be four types of invalid SGTEs as follows: Type 0 -- All pages in the segment are in a non-GETMAIN assigned (FREEMAINed) state. Type 1 -- All pages in the segment were GETMAINed with the same attributes. Type 2 -- The GETMAIN/FREEMAIN status of the segment has not changed since the segment became invalid, but the key associated with the segment may have changed. Type...