[TUHS] /dev/drum
Clem Cole
clemc at ccc.com
Tue Apr 24 07:27:29 AEST 2018
On Mon, Apr 23, 2018 at 5:14 PM, Dan Mick <danmick at gmail.com> wrote:
> On 04/23/2018 02:06 PM, Clem Cole wrote:
> >
> >
> > On Mon, Apr 23, 2018 at 4:47 PM, Grant Taylor via TUHS
> > <tuhs at minnie.tuhs.org <mailto:tuhs at minnie.tuhs.org>> wrote:
> >
> > On 04/23/2018 11:51 AM, Clem Cole wrote:
> >
> > By the time of 4.X, the RP06 was 'partitioned' into 'rings'
> > (some overlapping). The 'a' partition was root, the 'b' was
> > swap and one fo the others was the rest. Later the 'c' was a
> > short form for copying the entire disk.
> >
> >
> > I had always wondered where Solaris (SunOS) got it's use of the
> > different slices, including the slice that was the entire disk from.
> >
> > Now I'm guessing Solaris got it from SunOS which got it from 4.x BSD
> >
> > It was not BSD - it was research. It may have been in 6th, but it was
> > definitely in 7th. Cut/pasted from the V7 PDP-11 rp(4) man page:
> >
> > *NAME*
> >
> > rp − RP-11/RP03 moving-head disk
> >
> > *DESCRIPTION*
> >
> > The files rp0 ... rp7 refer to sections of RP disk drive 0. The
> > files rp8 ... rp15 refer to drive 1 etc. This
> >
> > allows a large disk to be broken up into more manageable pieces.
> >
> > The origin and size of the pseudo-disks on each drive are as
> > follows:
> >
> > disk start length
> >
> > 0 0 81000
> >
> > 1 0 5000
> >
> > 2 5000 2000
> >
> > 3 7000 74000
> >
> > 4-7 unassigned
> >
> > Thus rp0 covers the whole drive, while rp1, rp2, rp3 can serve
> > usefully as a root, swap, and mounted user
> >
> > file system respectively.
> >
> > The rp 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 RP files begin with rrp and end with a number
> > which selects the same disk section as the
> >
> > corresponding rp file.
> >
> > In raw I/O the buffer must begin on a word boundary.
> >
> > ᐧ
>
> But...that has numbers, not letters, and the third partition is not the
> whole drive, the first one is....?
>
Yup -- disk were pretty expensive in those days ($20-30K for a <100M drive)
so often people did not have more than one. So they started with rp1, rp2
etc..
As disks dropped a little cheaper and having more than one RP06 became
possible (RP06 aka IBM 3330 - project Winchester -- was a huge 200M drive
- we had 3 on the Teklabs machine and that was considered very, very
generous), then letters became the convention used in /dev/. i.e.
/dev/{,r}rp0{a,b,c,d..} for each of the minor numbers.
To be honest, I really don't remember - but I know we used letters for the
different partitions on the 11/70 before BSD showed up.
The reason for the partition originally was (and it must have been 6th
edition when I first saw it), DEC finally made a disk large enough that
number of blocks overflowed a 16 bit integer. So splitting the disk into
smaller partitions allowed the original seek(2) to work without overflow.
V7 introduced lseek(2) when the offset was a long.
Clem
ᐧ
ᐧ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20180423/faf9548e/attachment.html>
More information about the TUHS
mailing list