RP(IV) 2/21/74 RP(IV)
NAME
rp - RP-11/RP03 moving-head disk
DESCRIPTION
The files rp0 ... rp7 refer to sections of RP disk drive 0.
The files rp8 ... rp15 refer to drive 1 etc. This is done
since the size of a full RP drive is 81200 blocks and
internally the system is only capable of addressing 65536
blocks. Also since the disk is so large, this allows it to
be broken up into more manageable pieces.
The origin and size of the pseudo-disks on each drive are as
follows:
disk start length
0 0 40600
1 40600 40600
2 0 9200
3 72000 9200
4 0 65535
5 15600 65535
6-7 unassigned
It is unwise for all of these files to be present in one
installation, since there is overlap in addresses and
protection becomes a sticky matter. Here is a suggestion
for two useful configurations: If the root of the file
system is on some other device and the RP used as a mounted
device, then rp0 and rp1, which divide the disk into two
equal size portions, is a good idea. Other things being
equal, it is advantageous to have two equal-sized portions
since one can always be copied onto the other, which is
occasionally useful.
If the RP is the only disk and has to contain the root and
the swap area, the root can be put on rp2 and a mountable
file system on rp5. Then the swap space can be put in the
unused blocks 9200 to 15600 of rp0 (or, equivalently, rp4).
This arrangement puts the root file system, the swap area,
and the i-list of the mounted file system relatively near
each other and thus tends to minimize head movement.
The rp access the disk via the system's normal buffering
mechanism and may be read and written without regard to
physical disk records. There is also a ``raw'' interface
which provides for direct transmission between the disk and
the user's read or write buffer. A single read or write
call results in exactly one I/O operation and therefore raw
I/O is considerably more efficient when many words are
transmitted. The names of the raw RP files begin with rrp
and end with a number which selects the same disk section as
the corresponding rp file.
In raw I/O the buffer must begin on a word boundary, and
counts should be a multiple of 512 bytes (a disk block).
Likewise seek calls should specify a multiple of 512 bytes.
FILES
/dev/rp?, /dev/rrp?
BUGS