glenda.party
term% ls -F
term% pwd
$home/manuals/unix_v7/4/hp
term% cat index.txt
HP(4)                      Kernel Interfaces Manual                      HP(4)

NAME
       hp - RH-11/RP04, RP05, RP06 moving-head disk

DESCRIPTION
       The  octal  representation  of  the minor device number is encoded idp,
       where i is an interleave flag, d is a physical drive number, and p is a
       pseudodrive (subsection) within a physical unit.  If i is 0,  the  ori‐
       gins  and  sizes of the pseudodisks on each drive, counted in cylinders
       of 418 512-byte blocks, are:

            disk start     length
            0    0    23
            1    23   21
            2    0    0
            3    0    0
            4    44   386
            5    430  385
            6    44   367
            7    44   771

       If i is 1, the minor device consists of  the  specified  pseudodisk  on
       drives  numbered  0  through the designated drive number.  Successively
       numbered blocks are distributed across the drives in rotation.

       Systems distributed for these devices use disk 0 for the root,  disk  1
       for  swapping,  and disk 4 (RP04/5) or disk 7 (RP06) for a mounted user
       file system.

       The block files access the disk via the system's normal buffering mech‐
       anism and may be read and  written  without  regard  to  physical  disk
       records.

       A ‘raw' interface 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  files
       conventionally begin with an extra ‘r.'  In raw I/O the buffer must be‐
       gin  on a word boundary, and raw I/O to an interleaved device is likely
       to have disappointing results.

FILES
       /dev/rp?, /dev/rrp?

SEE ALSO
       rp(4)

BUGS
       In raw I/O read and write(2) truncate file offsets  to  512-byte  block
       boundaries,  and  write  scribbles  on  the  tail of incomplete blocks.
       Thus, in programs that are likely to access raw  devices,  read,  write
       and lseek(2) should always deal in 512-byte multiples.

       Raw device drivers don't work on interleaved devices.

                                                                         HP(4)