Communicator e3000 MPE/iX Release 6.5 (Non-Platform Software Release C.65.00 (30216-90291)

34 Chapter3
Growth Solution
MPE/iX Large Files Overview
MPE/iX Large Files Overview
by Craig Fairchild
Commercial Systems Division
Introduction
This document describes the changes to the MPE/iX operating system as a result of the
initial addition of Large File functionality. In this document, Large Files are defined as any
file greater than 4GB - 64KB (4,294,901,760 bytes) which was the maximum file size prior
to release 6.5. For the sake of brevity, this value is referred to somewhat inaccurately as
“4GB” for the rest of this document.
Overview
The addition of Large File support to MPE/iX increases the maximum file size supported
by MPE/iX from the former limit of 4GB to 128GB for release 6.5. In the future, additional
increases in supported file size can be expected as customer needs demand.
In this first release of Large File support, two types of files are supported for file sizes
beyond 4GB. These are ordinary, fixed length record files, and a new type of KSAM file,
KSAM64. A phased approach to Large File support has been taken to get Large File
functionality to market in the quickest possible time frame. Several customer surveys have
indicated that these two file types are the most needed for Large File support.
Large File support of KSAM files requires the addition of yet another KSAM file type. Due
to the internal structure of CM KSAM and KSAM XL files, these file types cannot support
file sizes beyond 4GB. The implication of this was that in order to meet our customer
demand of Large File KSAM support, a new KSAM file type needed to be defined. This new
KSAM file type is the KSAM64 file, or file type 7. KSAM64 files have an improved,
generalized internal structure that allows them to support file sizes from one record to the
maximum object size of 128GB. KSAM64 files are externally identical to KSAMXL files
(and support all CM KSAM intrinsic calls as well).
Large File support has been added to MPE/iX as seamlessly as possible. Large File support
has been implemented within the OS so that Large Files are available on all HP 3000
models. Large Files are created by simply specifying a file limit which is sufficiently large.
This can be done interactively through the BUILD or FILE commands, or programmatically
through the FOPEN and HPFOPEN intrinsics. Opening an existing Large File is as
transparent as opening any other file. All system intrinsics will work on Large Files in the
exact same manner as any normal sized file. As a matter of fact, if your program accesses
files through MPE/iX intrinsics, it is highly likely that there will be no need to make any
changes at all to operate on Large Files.
A large part of the ease of Large File use lies in the fact that access to files in MPE/iX is
done through a record-oriented interface. All interfaces to the OS still deal with signed
32-bit integers to indicate record numbers. This means that there are really two factors
that serve to limit maximum file sizes, the maximum number of records in a file, and the
maximum object size supported on MPE/iX. The following table shows how the record size