Browse Prior Art Database

Addressing Scheme for Multiple Areas Per Segment

IP.com Disclosure Number: IPCOM000080687D
Original Publication Date: 1974-Jan-01
Included in the Prior Art Database: 2005-Feb-27
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Auslander, MA: AUTHOR [+4]

Abstract

In data processing systems, it is desirable to invalidate pointers to a data structure at the time when it is desired to free its storage and include the storage on a free list of storage to be reused. The problem arises in all list processing applications and in languages such as PL/1, both in its list processing facilities and in connection with label and entry variables. In the later case, labels and entries can become "invalid" when an activation is destroyed, and such a condition cannot be detected without the use of inefficient software interpretation.

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

Page 1 of 2

Addressing Scheme for Multiple Areas Per Segment

In data processing systems, it is desirable to invalidate pointers to a data structure at the time when it is desired to free its storage and include the storage on a free list of storage to be reused. The problem arises in all list processing applications and in languages such as PL/1, both in its list processing facilities and in connection with label and entry variables. In the later case, labels and entries can become "invalid" when an activation is destroyed, and such a condition cannot be detected without the use of inefficient software interpretation.

A storage management system will be called secure, if all pointers to the units of storage it allocates are invalidated whenever these units are freed. In current virtual memory systems, a secure storage management system is the one which controls segment creation and deletion, but a system which allocates storage within a segment may not be secure. Within the segment management system, the segment table entry is used to provide the security. It serves two purposes: 1) it indicates the presence or absence of the segment; and, 2) it indicates the size of the segment. Since a segment is tied to a page table and, in fact, consists of some integral number of pages, the size of a unit of allocation is some multiple of the page size of the machine.

The addressing technique discussed here, makes it possible to extend secure storage management to include allocations of storage within a segment. In so doing, it provides allocations which do not depend on the page size of the computer. This is done as follows:
1) In addition to a page table, each segment also has

a second table called the area table whose entries

consist of two components:

a) a single bit, called a tombstone, which is used

to indicate whether the area described by this

entry is currently allocated or freed; and

b) an offset which indicates the end point of the

area within the segment.
2) The address for each storage entity consists of the

following fields:

a) a segment ID which denotes the segment in which

the area referenced resides;

b) an area ID which identifies the area within the segment.

This area ID is an index which identifies the correct

entry in the area table of the segment;

c) an offset which indicates the low-order byte of the

entity in the segment; and

d) control bits, one of which must indicate destroy

capability, i.e., whether the user of the address

has authority to free the area.
3) Every tim...