[Info-vax] Example of random access by record number on an RMS fixed record size, relative organization file?
gah4
gah4 at u.washington.edu
Wed Sep 20 03:18:33 EDT 2023
On Tuesday, September 19, 2023 at 9:18:43 PM UTC-7, Hein RMS van den Heuvel wrote:
> On Tuesday, September 19, 2023 at 11:15:21 PM UTC-4, gah4 wrote:
(snip)
> > OP asked about fixed record size, and traditionally that is
> > the way it was done. I haven't followed that detail of later
> > Fortran standards. They have to, at least, allocate to the
> > maximum size.
> Yes indeed traditionally folks only had half a clue about RMS and vaguely know 512 was a special value and very popular.
>
> With that they proceeded to maximize their storage losses.
>
> The one flag byte overhead relative file records have (plus two for variable) makes the cells larger than 512
> By default FORTRANT/RMS will now use the default 2 block bucketsize
> Thus wasting 511 (509) bytes per 512 byte record.
>
> Running Arne's sample code:
>
> $ sear/log rel.dat blah
> %SEARCH-S-NOMATCH, DSA3:[DECUSERVE_USER.HEIN]REL.DAT;1 - 100 records
> $ dire/full rel.dat
> :
> File organization: Relative, maximum record number: 2147483647
> File attributes: Allocation: 201, Extend: 0, Bucket size: 2, Global buffer count: 0, No version limit
> Record format: Variable length, maximum 512 bytes, longest 0 bytes
> :
> Total of 1 file, 201/201 blocks.
> $
I was remembering the PDP-10, which has 128 36bit words per disk block.
And I do remember carefully designing the record to be 128 words.
(There are no overhead words for direct access file for Fortran-10.)
I wrote a Fortran-10 program as a translation of a BASIC program
called PCAVES, public caves ,which allowed you to move, write on
the walls, and dig new rooms. It was one file block per room.
The HP BASIC system uses, I believe, 256 byte blocks for its files.
That was the time of FILDAE, which allowed one to have file that could
be accessed by others running (only) your program.
And I had record locking, which was done with MACRO-10 subroutines,
as Fortran didn't do it.
IBM OS/360 formats the disk tracks for the record size you select.
There is no need for a special size, though there is overhead.
More information about the Info-vax
mailing list