V7/usr/man/man4/hp.4
.TH HP 4
.SH NAME
hp \- RH-11/RP04, RP05, RP06 moving-head disk
.SH DESCRIPTION
The octal representation of the minor device number is encoded
.IR idp ,
where
.I i
is an interleave flag,
.I d
is a physical drive number,
and
.I p
is a pseudodrive (subsection) within a physical unit.
If
.I i
is 0,
the origins and sizes of the pseudodisks on each drive,
counted in cylinders of 418 512-byte blocks, are:
.nf
.PP
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
.fi
.PP
If
.I 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.
.PP
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.
.PP
The
block
files
access the disk via the system's normal
buffering mechanism
and may be read and written without regard to
physical disk records.
.PP
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 begin on a word boundary,
and raw I/O to an interleaved device is likely to have
disappointing results.
.SH FILES
/dev/rp?, /dev/rrp?
.SH SEE ALSO
rp(4)
.SH BUGS
In raw I/O
.I read
and
.IR write (2)
truncate file offsets to 512-byte block boundaries,
and
.I write
scribbles on the tail of incomplete blocks.
Thus,
in programs that are likely to access raw devices,
.I read, write
and
.IR lseek (2)
should always deal in 512-byte multiples.
.PP
Raw device drivers don't work on interleaved devices.