Browse Prior Art Database

Storage Protection

IP.com Disclosure Number: IPCOM000084889D
Original Publication Date: 1976-Jan-01
Included in the Prior Art Database: 2005-Mar-02
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Minshull, JF: AUTHOR [+2]

Abstract

In a data processing system in which data storage is operated on a paging basis controlled by a storage supervisor, pages in use are identified internally and uniquely by pointers assigned by the storage supervisor, the pointers being marked as such. The pointers incorporate a time-dependent vector and a numerical vector. A particular numerical vector may not be assigned to a page if a page exists to which that numerical vector is already assigned.

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

Page 1 of 2

Storage Protection

In a data processing system in which data storage is operated on a paging basis controlled by a storage supervisor, pages in use are identified internally and uniquely by pointers assigned by the storage supervisor, the pointers being marked as such. The pointers incorporate a time-dependent vector and a numerical vector. A particular numerical vector may not be assigned to a page if a page exists to which that numerical vector is already assigned.

It will be shown that the time vector provides access protection during one full cycle of the time vector, and only the most remotely assigned pointers can be potential sources of protection infringement when the time vector is recycled. A clean-up routine for validating only the most remotely assigned pointers runs in parallel with task processing, and a test routine for validating pointer storing instructions is invoked by each such instruction.

One particular organization for a system for which a maximum of 2/n/ pages in use at any one time is predicted, uses a numerical vector of length (n[1) and maintains a map having one space for each numerical vector, and is used for holding a status marking of U, F, G indicating "used", "free" or "invalid". When the space indicates "invalid" it also holds the second highest bit of the time vector from the pointer which was associated with that space.

The pointer issuing mechanism basically scans the map sequentially in ascending numerical vector order looking for the next F marking, and the time vector is derived from a counter which is incremented each time the map accessing mechanism returns to the scan starting point. When a pointer is assigned, the appropriate space is marked U and when a page is destroyed the corresponding marking is changed to F or G.

The time-vector cycle is divided into odd and even quadrants indicated by the map marking and if pointers i...