Commit | Line | Data |
---|---|---|
16773074 BJ |
1 | .TH RK 4 |
2 | .SH NAME | |
3 | rk \- RK-11/RK03 or RK05 disk | |
4 | .SH DESCRIPTION | |
5 | .I Rk? | |
6 | refers to an entire disk as a single sequentially-addressed | |
7 | file. | |
8 | Its 256-word blocks are numbered 0 to 4871. | |
9 | Minor device numbers are drive numbers on one controller. | |
10 | .PP | |
11 | The | |
12 | .I rk | |
13 | files | |
14 | discussed above access the disk via the system's normal | |
15 | buffering mechanism | |
16 | and may be read and written without regard to | |
17 | physical disk records. | |
18 | There is also a `raw' interface | |
19 | which provides for direct transmission between the disk | |
20 | and the user's read or write buffer. | |
21 | A single read or write call results in exactly one I/O operation | |
22 | and therefore raw I/O is considerably more efficient when | |
23 | many words are transmitted. | |
24 | The names of the raw RK files | |
25 | begin with | |
26 | .I rrk | |
27 | and end with a number which selects the same disk | |
28 | as the corresponding | |
29 | .I rk | |
30 | file. | |
31 | .PP | |
32 | In raw I/O the buffer must begin on a word boundary, | |
33 | and counts should be a multiple of 512 bytes | |
34 | (a disk block). | |
35 | Likewise | |
36 | .I seek | |
37 | calls should specify a multiple of 512 bytes. | |
38 | .SH FILES | |
39 | /dev/rk?, /dev/rrk? | |
40 | .SH BUGS | |
41 | In raw I/O | |
42 | .I read | |
43 | and | |
44 | .IR write (2) | |
45 | truncate file offsets to 512-byte block boundaries, | |
46 | and | |
47 | .I write | |
48 | scribbles on the tail of incomplete blocks. | |
49 | Thus, | |
50 | in programs that are likely to access raw devices, | |
51 | .I read, write | |
52 | and | |
53 | .IR lseek (2) | |
54 | should always deal in 512-byte multiples. |