skip to main content
article
Free access

801 Storage: architecture and programming

Published: 01 November 1987 Publication History

Abstract

The IBM RT PC implements the necessary features of 801 storage architecture. The upper 4 bits of a 32-bit short address select one of 16 segment registers. A 12-bit segment id from the register replaces the 4 bits to form a 40-bit long virtual address. This creates a single large space of 4096 256M-byte segments. Only the supervisor may load segment registers and may therefore control access to and sharing of segments. A long virtual address is translated to real by an inverted page table, in which each entry contains the virtual page address currently allocated to a real page. Hardware searches the table using chained hashing. If a given virtual address is found in a table entry, the index of that entry is the desired real page address. Table size is related only to real storage size rather than to virtual size as with conventional segment and page tables. The inverted page table includes a transaction locking mechanism. Each entry contains bits to represent read and write locks, for 128-byte lines within the page, granted to the transaction id also in the entry. Lock fault interrupt occurs when storage access by the current transaction (id in a register) is not permitted by locks and id in a table entry. Page protection bits may instead be used when transaction locking is not required.
A CPR transaction is all the storage actions by a process on a set of file segments, performed between two calls to commit for that set of segments, including actions of the supervisor in directory segments when files are created, renamed, etc. File open options influence transaction processing. When open options specify file sharing and implicit functions of serialization and atomic commit, we call the file segments database storage. Transaction locking hardware is used. Lock fault interrupts invoke the storage manager to grant locks and later, when a transaction commits, the storage manager writes log records of changed storage. Strong transaction properties are achieved, without explicit calls from programs which access storage and independently of superimposed data organization or access pattern. A language-based approach to invoking transaction functions seems to be more explicit and restrictive.
PL.8 is a PL/I dialect for systems programming and the PL.8 compiler is part of the 801 project. To simplify file programming, a persistent storage class (i.e. storage in a file segment) and a refp type (capability to a file segment id) were added to PL.8. Persistent storage may be used with any type, including arrays of structures and based structures in areas (appropriate for records, indices, etc.). Semantics of computation with persistent variables depend only on type and so are the same as computation in working storage classes automatic, static, and controlled (heap). Computation with large aggregates over multiple file segments is possible, exceeding 32-bit addressing.
Database storage is a new way to implement certain storage management functions in an operating system, built on and similar in spirit to virtual storage. Both are very general, transparent, and rather monolithic approaches to storage management, one for storage hierarchy, the other for storage concurrency and recovery. We believe that database storage will perform well for a wide range of applications and that the simplicity it offers is too attractive to dismiss. As in the early days of virtual storage, the challenge is to understand and exploit its characteristics.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review  Volume 21, Issue 5
Nov. 1987
162 pages
ISSN:0163-5980
DOI:10.1145/37499
Issue’s Table of Contents
  • cover image ACM Conferences
    SOSP '87: Proceedings of the eleventh ACM Symposium on Operating systems principles
    November 1987
    162 pages
    ISBN:089791242X
    DOI:10.1145/41457
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 November 1987
Published in SIGOPS Volume 21, Issue 5

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)37
  • Downloads (Last 6 weeks)3
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media