On Mon, Apr 23, 2018 at 5:14 PM, Dan Mick wrote: > On 04/23/2018 02:06 PM, Clem Cole wrote: > > > > > > On Mon, Apr 23, 2018 at 4:47 PM, Grant Taylor via TUHS > > > 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: