RK(4)

NAME
rk - RK-11/RK05 disk

SYNOPSIS
/sys/conf/SYSTEM:
	NRK	rk_drives	# RK05
/etc/dtab:
	#Name	Unit#	Addr	Vector	Br	Handler(s)		# Comments
	rk	?	177400	220	5	rkintr		# rk05
major device number(s):
	raw: 15
	block: 6
minor device encoding:
	specifies drive: <rk_drive>

DESCRIPTION
Minor device numbers are drive numbers on one controller. The standard device names begin with ``rk'' followed by the drive number and then the letter "h". The character ? stands here for a drive number in the range 0-7.

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.'

In raw I/O the buffer must begin on a word (even) boundary, and counts should be a multiple of 512 bytes (a disk sector). Likewise seek calls should specify a multiple of 512 bytes.

DISK SUPPORT
The rk driver does not support pseudo-disks (partitions). Each file rk?h refers to the entire drive as a single sequentially addressed file. Each drive has 4872 512-byte blocks.

It's not clear what one would do with one of these drives if one had one ...

FILES
/dev/rk[0-7]h    block files
/dev/rrk[0-7]h    raw files
/dev/MAKEDEV    script to create special files
/dev/MAKEDEV.local    script to localize special files

SEE ALSO
hk(4), ra(4), ram(4), rl(4), rp(4), rx(4), si(4), xp(4), dtab(5), autoconfig(8)

DIAGNOSTICS
rk%d: hard error sn%d er=%b ds=%b. An unrecoverable error occurred during transfer of the specified sector of the specified disk. The contents of the two error registers are also printed in octal and symbolically with bits decoded. The error was either unrecoverable, or a large number of retry attempts could not recover the error.

rk%d: write locked. The write protect switch was set on the drive when a write was attempted. The write operation is not recoverable.

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.

DEC-standard error logging should be supported.

A program to analyze the logged error information (even in its present reduced form) is needed.