blob: 3198f6303f98f1e355e07d8afcc0859428367d6d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
.TH UP 4
.SH NAME
up \- emulex sc21/ampex 9300 UNIBUS moving head disk
.SH DESCRIPTION
Files with minor device numbers 0 through 7 refer to various portions
of drive 0;
minor devices 8 through 15 refer to drive 1, etc.
.PP
The origin and size of the pseudo-disks on each drive are
as follows:
.PP
.ta .5i +\w'000000 'u +\w'000000 'u
.nf
9300 partitions
disk start byte
0 0 15884
1 16416 33440
2 0 500992
3 341696 15884
4 358112 55936
5 414048 36944
6 341696 159296
7 49856 291346
.DT
.fi
.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.
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 files
conventionally
begin with
an extra `r.'
.SH FILES
.ta 2i
/dev/up[0-3][a-h] block files
.br
/dev/rup[0-3][a-h] raw files
.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.
|